Skip to content

Commit 0d336ee

Browse files
feat(api): api update (#17)
1 parent 5cb0f19 commit 0d336ee

14 files changed

+628
-211
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ client = Codex()
9898
all_entries = []
9999
# Automatically fetches more pages as needed.
100100
for entry in client.projects.entries.list(
101-
project_id=0,
101+
project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
102102
):
103103
# Do something with entry here
104104
all_entries.append(entry)
@@ -118,7 +118,7 @@ async def main() -> None:
118118
all_entries = []
119119
# Iterate through items across all pages, issuing requests as needed.
120120
async for entry in client.projects.entries.list(
121-
project_id=0,
121+
project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
122122
):
123123
all_entries.append(entry)
124124
print(all_entries)
@@ -131,7 +131,7 @@ Alternatively, you can use the `.has_next_page()`, `.next_page_info()`, or `.get
131131

132132
```python
133133
first_page = await client.projects.entries.list(
134-
project_id=0,
134+
project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
135135
)
136136
if first_page.has_next_page():
137137
print(f"will fetch next page using these details: {first_page.next_page_info()}")
@@ -145,7 +145,7 @@ Or just work directly with the returned data:
145145

146146
```python
147147
first_page = await client.projects.entries.list(
148-
project_id=0,
148+
project_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
149149
)
150150
for entry in first_page.entries:
151151
print(entry.id)

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Methods:
108108
- <code title="put /api/projects/{project_id}/access_keys/{access_key_id}">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">update</a>(access_key_id, \*, project_id, \*\*<a href="src/codex/types/projects/access_key_update_params.py">params</a>) -> <a href="./src/codex/types/projects/access_key_schema.py">AccessKeySchema</a></code>
109109
- <code title="get /api/projects/{project_id}/access_keys/">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">list</a>(project_id) -> <a href="./src/codex/types/projects/access_key_list_response.py">AccessKeyListResponse</a></code>
110110
- <code title="delete /api/projects/{project_id}/access_keys/{access_key_id}">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">delete</a>(access_key_id, \*, project_id) -> None</code>
111-
- <code title="get /api/projects/id_from_access_key">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">retrieve_project_id</a>() -> <a href="./src/codex/types/projects/access_key_retrieve_project_id_response.py">AccessKeyRetrieveProjectIDResponse</a></code>
111+
- <code title="get /api/projects/id_from_access_key">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">retrieve_project_id</a>() -> str</code>
112112
- <code title="post /api/projects/{project_id}/access_keys/{access_key_id}/revoke">client.projects.access_keys.<a href="./src/codex/resources/projects/access_keys.py">revoke</a>(access_key_id, \*, project_id) -> None</code>
113113

114114
## Entries

src/codex/resources/projects/access_keys.py

Lines changed: 64 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
from ...types.projects import access_key_create_params, access_key_update_params
2525
from ...types.projects.access_key_schema import AccessKeySchema
2626
from ...types.projects.access_key_list_response import AccessKeyListResponse
27-
from ...types.projects.access_key_retrieve_project_id_response import AccessKeyRetrieveProjectIDResponse
2827

2928
__all__ = ["AccessKeysResource", "AsyncAccessKeysResource"]
3029

@@ -51,7 +50,7 @@ def with_streaming_response(self) -> AccessKeysResourceWithStreamingResponse:
5150

5251
def create(
5352
self,
54-
project_id: int,
53+
project_id: str,
5554
*,
5655
name: str,
5756
description: Optional[str] | NotGiven = NOT_GIVEN,
@@ -75,6 +74,8 @@ def create(
7574
7675
timeout: Override the client-level default timeout for this request, in seconds
7776
"""
77+
if not project_id:
78+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
7879
return self._post(
7980
f"/api/projects/{project_id}/access_keys/",
8081
body=maybe_transform(
@@ -93,9 +94,9 @@ def create(
9394

9495
def retrieve(
9596
self,
96-
access_key_id: int,
97+
access_key_id: str,
9798
*,
98-
project_id: int,
99+
project_id: str,
99100
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
100101
# The extra values given here take precedence over values defined on the client or passed to this method.
101102
extra_headers: Headers | None = None,
@@ -115,6 +116,10 @@ def retrieve(
115116
116117
timeout: Override the client-level default timeout for this request, in seconds
117118
"""
119+
if not project_id:
120+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
121+
if not access_key_id:
122+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
118123
return self._get(
119124
f"/api/projects/{project_id}/access_keys/{access_key_id}",
120125
options=make_request_options(
@@ -125,9 +130,9 @@ def retrieve(
125130

126131
def update(
127132
self,
128-
access_key_id: int,
133+
access_key_id: str,
129134
*,
130-
project_id: int,
135+
project_id: str,
131136
name: str,
132137
description: Optional[str] | NotGiven = NOT_GIVEN,
133138
expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
@@ -150,6 +155,10 @@ def update(
150155
151156
timeout: Override the client-level default timeout for this request, in seconds
152157
"""
158+
if not project_id:
159+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
160+
if not access_key_id:
161+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
153162
return self._put(
154163
f"/api/projects/{project_id}/access_keys/{access_key_id}",
155164
body=maybe_transform(
@@ -168,7 +177,7 @@ def update(
168177

169178
def list(
170179
self,
171-
project_id: int,
180+
project_id: str,
172181
*,
173182
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
174183
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -189,6 +198,8 @@ def list(
189198
190199
timeout: Override the client-level default timeout for this request, in seconds
191200
"""
201+
if not project_id:
202+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
192203
return self._get(
193204
f"/api/projects/{project_id}/access_keys/",
194205
options=make_request_options(
@@ -199,9 +210,9 @@ def list(
199210

200211
def delete(
201212
self,
202-
access_key_id: int,
213+
access_key_id: str,
203214
*,
204-
project_id: int,
215+
project_id: str,
205216
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
206217
# The extra values given here take precedence over values defined on the client or passed to this method.
207218
extra_headers: Headers | None = None,
@@ -221,6 +232,10 @@ def delete(
221232
222233
timeout: Override the client-level default timeout for this request, in seconds
223234
"""
235+
if not project_id:
236+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
237+
if not access_key_id:
238+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
224239
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
225240
return self._delete(
226241
f"/api/projects/{project_id}/access_keys/{access_key_id}",
@@ -239,21 +254,21 @@ def retrieve_project_id(
239254
extra_query: Query | None = None,
240255
extra_body: Body | None = None,
241256
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
242-
) -> AccessKeyRetrieveProjectIDResponse:
257+
) -> str:
243258
"""Get the project ID from an access key."""
244259
return self._get(
245260
"/api/projects/id_from_access_key",
246261
options=make_request_options(
247262
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
248263
),
249-
cast_to=int,
264+
cast_to=str,
250265
)
251266

252267
def revoke(
253268
self,
254-
access_key_id: int,
269+
access_key_id: str,
255270
*,
256-
project_id: int,
271+
project_id: str,
257272
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
258273
# The extra values given here take precedence over values defined on the client or passed to this method.
259274
extra_headers: Headers | None = None,
@@ -273,6 +288,10 @@ def revoke(
273288
274289
timeout: Override the client-level default timeout for this request, in seconds
275290
"""
291+
if not project_id:
292+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
293+
if not access_key_id:
294+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
276295
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
277296
return self._post(
278297
f"/api/projects/{project_id}/access_keys/{access_key_id}/revoke",
@@ -305,7 +324,7 @@ def with_streaming_response(self) -> AsyncAccessKeysResourceWithStreamingRespons
305324

306325
async def create(
307326
self,
308-
project_id: int,
327+
project_id: str,
309328
*,
310329
name: str,
311330
description: Optional[str] | NotGiven = NOT_GIVEN,
@@ -329,6 +348,8 @@ async def create(
329348
330349
timeout: Override the client-level default timeout for this request, in seconds
331350
"""
351+
if not project_id:
352+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
332353
return await self._post(
333354
f"/api/projects/{project_id}/access_keys/",
334355
body=await async_maybe_transform(
@@ -347,9 +368,9 @@ async def create(
347368

348369
async def retrieve(
349370
self,
350-
access_key_id: int,
371+
access_key_id: str,
351372
*,
352-
project_id: int,
373+
project_id: str,
353374
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
354375
# The extra values given here take precedence over values defined on the client or passed to this method.
355376
extra_headers: Headers | None = None,
@@ -369,6 +390,10 @@ async def retrieve(
369390
370391
timeout: Override the client-level default timeout for this request, in seconds
371392
"""
393+
if not project_id:
394+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
395+
if not access_key_id:
396+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
372397
return await self._get(
373398
f"/api/projects/{project_id}/access_keys/{access_key_id}",
374399
options=make_request_options(
@@ -379,9 +404,9 @@ async def retrieve(
379404

380405
async def update(
381406
self,
382-
access_key_id: int,
407+
access_key_id: str,
383408
*,
384-
project_id: int,
409+
project_id: str,
385410
name: str,
386411
description: Optional[str] | NotGiven = NOT_GIVEN,
387412
expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
@@ -404,6 +429,10 @@ async def update(
404429
405430
timeout: Override the client-level default timeout for this request, in seconds
406431
"""
432+
if not project_id:
433+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
434+
if not access_key_id:
435+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
407436
return await self._put(
408437
f"/api/projects/{project_id}/access_keys/{access_key_id}",
409438
body=await async_maybe_transform(
@@ -422,7 +451,7 @@ async def update(
422451

423452
async def list(
424453
self,
425-
project_id: int,
454+
project_id: str,
426455
*,
427456
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
428457
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -443,6 +472,8 @@ async def list(
443472
444473
timeout: Override the client-level default timeout for this request, in seconds
445474
"""
475+
if not project_id:
476+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
446477
return await self._get(
447478
f"/api/projects/{project_id}/access_keys/",
448479
options=make_request_options(
@@ -453,9 +484,9 @@ async def list(
453484

454485
async def delete(
455486
self,
456-
access_key_id: int,
487+
access_key_id: str,
457488
*,
458-
project_id: int,
489+
project_id: str,
459490
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
460491
# The extra values given here take precedence over values defined on the client or passed to this method.
461492
extra_headers: Headers | None = None,
@@ -475,6 +506,10 @@ async def delete(
475506
476507
timeout: Override the client-level default timeout for this request, in seconds
477508
"""
509+
if not project_id:
510+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
511+
if not access_key_id:
512+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
478513
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
479514
return await self._delete(
480515
f"/api/projects/{project_id}/access_keys/{access_key_id}",
@@ -493,21 +528,21 @@ async def retrieve_project_id(
493528
extra_query: Query | None = None,
494529
extra_body: Body | None = None,
495530
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
496-
) -> AccessKeyRetrieveProjectIDResponse:
531+
) -> str:
497532
"""Get the project ID from an access key."""
498533
return await self._get(
499534
"/api/projects/id_from_access_key",
500535
options=make_request_options(
501536
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
502537
),
503-
cast_to=int,
538+
cast_to=str,
504539
)
505540

506541
async def revoke(
507542
self,
508-
access_key_id: int,
543+
access_key_id: str,
509544
*,
510-
project_id: int,
545+
project_id: str,
511546
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
512547
# The extra values given here take precedence over values defined on the client or passed to this method.
513548
extra_headers: Headers | None = None,
@@ -527,6 +562,10 @@ async def revoke(
527562
528563
timeout: Override the client-level default timeout for this request, in seconds
529564
"""
565+
if not project_id:
566+
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
567+
if not access_key_id:
568+
raise ValueError(f"Expected a non-empty value for `access_key_id` but received {access_key_id!r}")
530569
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
531570
return await self._post(
532571
f"/api/projects/{project_id}/access_keys/{access_key_id}/revoke",

0 commit comments

Comments
 (0)