Skip to content

Commit eb73590

Browse files
feat(api): manual updates
1 parent 1bfb46a commit eb73590

File tree

4 files changed

+32
-38
lines changed

4 files changed

+32
-38
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 89
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/knock%2Fknock-ca63915854c7bf0b8e40e5e27ba14a611d208dd3a3138ed42d9083287f472fb3.yml
3-
openapi_spec_hash: 1261fdb0b33fe8938192b6dec680a254
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/knock%2Fknock-641970ffdc1043cad290c3384d3d9c55b50cb709016a7513c03b2b84cf24fb31.yml
3+
openapi_spec_hash: e10e8093bf0dbde38523b98bec436123
44
config_hash: 7460c5bd6d1a7041faa274f677789407

src/knockapi/types/audience_add_members_params.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,21 @@
55
from typing import Iterable, Optional
66
from typing_extensions import Required, TypedDict
77

8-
from .inline_identify_user_request_param import InlineIdentifyUserRequestParam
9-
10-
__all__ = ["AudienceAddMembersParams", "Member"]
8+
__all__ = ["AudienceAddMembersParams", "Member", "MemberUser"]
119

1210

1311
class AudienceAddMembersParams(TypedDict, total=False):
1412
members: Required[Iterable[Member]]
1513
"""A list of audience members to add."""
1614

1715

18-
class Member(TypedDict, total=False):
19-
user: Required[InlineIdentifyUserRequestParam]
20-
"""A set of parameters to inline-identify a user with.
16+
class MemberUser(TypedDict, total=False):
17+
id: str
18+
"""The ID for the user that you set when identifying them in Knock."""
2119

22-
Inline identifying the user will ensure that the user is available before the
23-
request is executed in Knock. It will perform an upsert for the user you're
24-
supplying, replacing any properties specified.
25-
"""
20+
21+
class Member(TypedDict, total=False):
22+
user: Required[MemberUser]
2623

2724
tenant: Optional[str]
2825
"""The unique identifier for the tenant."""

src/knockapi/types/audience_remove_members_params.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,21 @@
55
from typing import Iterable, Optional
66
from typing_extensions import Required, TypedDict
77

8-
from .inline_identify_user_request_param import InlineIdentifyUserRequestParam
9-
10-
__all__ = ["AudienceRemoveMembersParams", "Member"]
8+
__all__ = ["AudienceRemoveMembersParams", "Member", "MemberUser"]
119

1210

1311
class AudienceRemoveMembersParams(TypedDict, total=False):
1412
members: Required[Iterable[Member]]
1513
"""A list of audience members to remove."""
1614

1715

18-
class Member(TypedDict, total=False):
19-
user: Required[InlineIdentifyUserRequestParam]
20-
"""A set of parameters to inline-identify a user with.
16+
class MemberUser(TypedDict, total=False):
17+
id: str
18+
"""The ID for the user that you set when identifying them in Knock."""
2119

22-
Inline identifying the user will ensure that the user is available before the
23-
request is executed in Knock. It will perform an upsert for the user you're
24-
supplying, replacing any properties specified.
25-
"""
20+
21+
class Member(TypedDict, total=False):
22+
user: Required[MemberUser]
2623

2724
tenant: Optional[str]
2825
"""The unique identifier for the tenant."""

tests/api_resources/test_audiences.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class TestAudiences:
2626
def test_method_add_members(self, client: Knock) -> None:
2727
audience = client.audiences.add_members(
2828
key="key",
29-
members=[{"user": {"id": "dr_sattler"}}],
29+
members=[{"user": {}}],
3030
)
3131
assert_matches_type(str, audience, path=["response"])
3232

@@ -37,7 +37,7 @@ def test_method_add_members(self, client: Knock) -> None:
3737
def test_raw_response_add_members(self, client: Knock) -> None:
3838
response = client.audiences.with_raw_response.add_members(
3939
key="key",
40-
members=[{"user": {"id": "dr_sattler"}}],
40+
members=[{"user": {}}],
4141
)
4242

4343
assert response.is_closed is True
@@ -52,7 +52,7 @@ def test_raw_response_add_members(self, client: Knock) -> None:
5252
def test_streaming_response_add_members(self, client: Knock) -> None:
5353
with client.audiences.with_streaming_response.add_members(
5454
key="key",
55-
members=[{"user": {"id": "dr_sattler"}}],
55+
members=[{"user": {}}],
5656
) as response:
5757
assert not response.is_closed
5858
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -70,7 +70,7 @@ def test_path_params_add_members(self, client: Knock) -> None:
7070
with pytest.raises(ValueError, match=r"Expected a non-empty value for `key` but received ''"):
7171
client.audiences.with_raw_response.add_members(
7272
key="",
73-
members=[{"user": {"id": "dr_sattler"}}],
73+
members=[{"user": {}}],
7474
)
7575

7676
@pytest.mark.skip(
@@ -130,7 +130,7 @@ def test_path_params_list_members(self, client: Knock) -> None:
130130
def test_method_remove_members(self, client: Knock) -> None:
131131
audience = client.audiences.remove_members(
132132
key="key",
133-
members=[{"user": {"id": "dr_sattler"}}],
133+
members=[{"user": {}}],
134134
)
135135
assert_matches_type(str, audience, path=["response"])
136136

@@ -141,7 +141,7 @@ def test_method_remove_members(self, client: Knock) -> None:
141141
def test_raw_response_remove_members(self, client: Knock) -> None:
142142
response = client.audiences.with_raw_response.remove_members(
143143
key="key",
144-
members=[{"user": {"id": "dr_sattler"}}],
144+
members=[{"user": {}}],
145145
)
146146

147147
assert response.is_closed is True
@@ -156,7 +156,7 @@ def test_raw_response_remove_members(self, client: Knock) -> None:
156156
def test_streaming_response_remove_members(self, client: Knock) -> None:
157157
with client.audiences.with_streaming_response.remove_members(
158158
key="key",
159-
members=[{"user": {"id": "dr_sattler"}}],
159+
members=[{"user": {}}],
160160
) as response:
161161
assert not response.is_closed
162162
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -174,7 +174,7 @@ def test_path_params_remove_members(self, client: Knock) -> None:
174174
with pytest.raises(ValueError, match=r"Expected a non-empty value for `key` but received ''"):
175175
client.audiences.with_raw_response.remove_members(
176176
key="",
177-
members=[{"user": {"id": "dr_sattler"}}],
177+
members=[{"user": {}}],
178178
)
179179

180180

@@ -188,7 +188,7 @@ class TestAsyncAudiences:
188188
async def test_method_add_members(self, async_client: AsyncKnock) -> None:
189189
audience = await async_client.audiences.add_members(
190190
key="key",
191-
members=[{"user": {"id": "dr_sattler"}}],
191+
members=[{"user": {}}],
192192
)
193193
assert_matches_type(str, audience, path=["response"])
194194

@@ -199,7 +199,7 @@ async def test_method_add_members(self, async_client: AsyncKnock) -> None:
199199
async def test_raw_response_add_members(self, async_client: AsyncKnock) -> None:
200200
response = await async_client.audiences.with_raw_response.add_members(
201201
key="key",
202-
members=[{"user": {"id": "dr_sattler"}}],
202+
members=[{"user": {}}],
203203
)
204204

205205
assert response.is_closed is True
@@ -214,7 +214,7 @@ async def test_raw_response_add_members(self, async_client: AsyncKnock) -> None:
214214
async def test_streaming_response_add_members(self, async_client: AsyncKnock) -> None:
215215
async with async_client.audiences.with_streaming_response.add_members(
216216
key="key",
217-
members=[{"user": {"id": "dr_sattler"}}],
217+
members=[{"user": {}}],
218218
) as response:
219219
assert not response.is_closed
220220
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -232,7 +232,7 @@ async def test_path_params_add_members(self, async_client: AsyncKnock) -> None:
232232
with pytest.raises(ValueError, match=r"Expected a non-empty value for `key` but received ''"):
233233
await async_client.audiences.with_raw_response.add_members(
234234
key="",
235-
members=[{"user": {"id": "dr_sattler"}}],
235+
members=[{"user": {}}],
236236
)
237237

238238
@pytest.mark.skip(
@@ -292,7 +292,7 @@ async def test_path_params_list_members(self, async_client: AsyncKnock) -> None:
292292
async def test_method_remove_members(self, async_client: AsyncKnock) -> None:
293293
audience = await async_client.audiences.remove_members(
294294
key="key",
295-
members=[{"user": {"id": "dr_sattler"}}],
295+
members=[{"user": {}}],
296296
)
297297
assert_matches_type(str, audience, path=["response"])
298298

@@ -303,7 +303,7 @@ async def test_method_remove_members(self, async_client: AsyncKnock) -> None:
303303
async def test_raw_response_remove_members(self, async_client: AsyncKnock) -> None:
304304
response = await async_client.audiences.with_raw_response.remove_members(
305305
key="key",
306-
members=[{"user": {"id": "dr_sattler"}}],
306+
members=[{"user": {}}],
307307
)
308308

309309
assert response.is_closed is True
@@ -318,7 +318,7 @@ async def test_raw_response_remove_members(self, async_client: AsyncKnock) -> No
318318
async def test_streaming_response_remove_members(self, async_client: AsyncKnock) -> None:
319319
async with async_client.audiences.with_streaming_response.remove_members(
320320
key="key",
321-
members=[{"user": {"id": "dr_sattler"}}],
321+
members=[{"user": {}}],
322322
) as response:
323323
assert not response.is_closed
324324
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -336,5 +336,5 @@ async def test_path_params_remove_members(self, async_client: AsyncKnock) -> Non
336336
with pytest.raises(ValueError, match=r"Expected a non-empty value for `key` but received ''"):
337337
await async_client.audiences.with_raw_response.remove_members(
338338
key="",
339-
members=[{"user": {"id": "dr_sattler"}}],
339+
members=[{"user": {}}],
340340
)

0 commit comments

Comments
 (0)