Skip to content

Commit b6dfc31

Browse files
feat(api): manual updates
1 parent 5ee4eed commit b6dfc31

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
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-d468b66151f7bd61939174a0d823026ff8177d75502f4850441dc5fd59a66434.yml
3-
openapi_spec_hash: 51277d726022e19ebd5bea41ee37ce0b
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/knock%2Fknock-e5f30e79ebe7d09d03dcdec8e752441c26bebb8c046916dcff936d89192fc175.yml
3+
openapi_spec_hash: a116eac55b3bce6120728f77b0bd09c2
44
config_hash: 489975da8d103a4cbf9e3f9e0a245a82

src/knockapi/resources/objects/bulk.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from __future__ import annotations
44

5-
from typing import Iterable
5+
from typing import List, Iterable
66

77
import httpx
88

@@ -48,7 +48,7 @@ def delete(
4848
self,
4949
collection: str,
5050
*,
51-
body: object,
51+
object_ids: List[str],
5252
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
5353
# The extra values given here take precedence over values defined on the client or passed to this method.
5454
extra_headers: Headers | None = None,
@@ -60,6 +60,8 @@ def delete(
6060
Bulk deletes objects from the specified collection.
6161
6262
Args:
63+
object_ids: List of object IDs to delete.
64+
6365
extra_headers: Send extra headers
6466
6567
extra_query: Add additional query parameters to the request
@@ -72,7 +74,7 @@ def delete(
7274
raise ValueError(f"Expected a non-empty value for `collection` but received {collection!r}")
7375
return self._post(
7476
f"/v1/objects/{collection}/bulk/delete",
75-
body=maybe_transform(body, bulk_delete_params.BulkDeleteParams),
77+
body=maybe_transform({"object_ids": object_ids}, bulk_delete_params.BulkDeleteParams),
7678
options=make_request_options(
7779
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
7880
),
@@ -185,7 +187,7 @@ async def delete(
185187
self,
186188
collection: str,
187189
*,
188-
body: object,
190+
object_ids: List[str],
189191
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
190192
# The extra values given here take precedence over values defined on the client or passed to this method.
191193
extra_headers: Headers | None = None,
@@ -197,6 +199,8 @@ async def delete(
197199
Bulk deletes objects from the specified collection.
198200
199201
Args:
202+
object_ids: List of object IDs to delete.
203+
200204
extra_headers: Send extra headers
201205
202206
extra_query: Add additional query parameters to the request
@@ -209,7 +213,7 @@ async def delete(
209213
raise ValueError(f"Expected a non-empty value for `collection` but received {collection!r}")
210214
return await self._post(
211215
f"/v1/objects/{collection}/bulk/delete",
212-
body=await async_maybe_transform(body, bulk_delete_params.BulkDeleteParams),
216+
body=await async_maybe_transform({"object_ids": object_ids}, bulk_delete_params.BulkDeleteParams),
213217
options=make_request_options(
214218
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
215219
),

src/knockapi/types/objects/bulk_delete_params.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
from __future__ import annotations
44

5+
from typing import List
56
from typing_extensions import Required, TypedDict
67

78
__all__ = ["BulkDeleteParams"]
89

910

1011
class BulkDeleteParams(TypedDict, total=False):
11-
body: Required[object]
12+
object_ids: Required[List[str]]
13+
"""List of object IDs to delete."""

tests/api_resources/objects/test_bulk.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class TestBulk:
2424
def test_method_delete(self, client: Knock) -> None:
2525
bulk = client.objects.bulk.delete(
2626
collection="collection",
27-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
27+
object_ids=["obj_123", "obj_456", "obj_789"],
2828
)
2929
assert_matches_type(BulkOperation, bulk, path=["response"])
3030

@@ -35,7 +35,7 @@ def test_method_delete(self, client: Knock) -> None:
3535
def test_raw_response_delete(self, client: Knock) -> None:
3636
response = client.objects.bulk.with_raw_response.delete(
3737
collection="collection",
38-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
38+
object_ids=["obj_123", "obj_456", "obj_789"],
3939
)
4040

4141
assert response.is_closed is True
@@ -50,7 +50,7 @@ def test_raw_response_delete(self, client: Knock) -> None:
5050
def test_streaming_response_delete(self, client: Knock) -> None:
5151
with client.objects.bulk.with_streaming_response.delete(
5252
collection="collection",
53-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
53+
object_ids=["obj_123", "obj_456", "obj_789"],
5454
) as response:
5555
assert not response.is_closed
5656
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -68,7 +68,7 @@ def test_path_params_delete(self, client: Knock) -> None:
6868
with pytest.raises(ValueError, match=r"Expected a non-empty value for `collection` but received ''"):
6969
client.objects.bulk.with_raw_response.delete(
7070
collection="",
71-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
71+
object_ids=["obj_123", "obj_456", "obj_789"],
7272
)
7373

7474
@pytest.mark.skip(
@@ -210,7 +210,7 @@ class TestAsyncBulk:
210210
async def test_method_delete(self, async_client: AsyncKnock) -> None:
211211
bulk = await async_client.objects.bulk.delete(
212212
collection="collection",
213-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
213+
object_ids=["obj_123", "obj_456", "obj_789"],
214214
)
215215
assert_matches_type(BulkOperation, bulk, path=["response"])
216216

@@ -221,7 +221,7 @@ async def test_method_delete(self, async_client: AsyncKnock) -> None:
221221
async def test_raw_response_delete(self, async_client: AsyncKnock) -> None:
222222
response = await async_client.objects.bulk.with_raw_response.delete(
223223
collection="collection",
224-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
224+
object_ids=["obj_123", "obj_456", "obj_789"],
225225
)
226226

227227
assert response.is_closed is True
@@ -236,7 +236,7 @@ async def test_raw_response_delete(self, async_client: AsyncKnock) -> None:
236236
async def test_streaming_response_delete(self, async_client: AsyncKnock) -> None:
237237
async with async_client.objects.bulk.with_streaming_response.delete(
238238
collection="collection",
239-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
239+
object_ids=["obj_123", "obj_456", "obj_789"],
240240
) as response:
241241
assert not response.is_closed
242242
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -254,7 +254,7 @@ async def test_path_params_delete(self, async_client: AsyncKnock) -> None:
254254
with pytest.raises(ValueError, match=r"Expected a non-empty value for `collection` but received ''"):
255255
await async_client.objects.bulk.with_raw_response.delete(
256256
collection="",
257-
body={"object_ids": ["obj_123", "obj_456", "obj_789"]},
257+
object_ids=["obj_123", "obj_456", "obj_789"],
258258
)
259259

260260
@pytest.mark.skip(

0 commit comments

Comments
 (0)