From 2fa65d071ff91fd792dde98ddf1f50baf69b4e22 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 22 Jan 2025 01:35:48 +0000
Subject: [PATCH] feat(api): api update
---
api.md | 2 +-
src/codex/resources/projects/access_keys.py | 9 +++++----
.../access_key_retrieve_project_id_response.py | 7 +++++--
tests/api_resources/projects/test_access_keys.py | 13 +++++++------
4 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/api.md b/api.md
index 48af8b6..d4720cc 100644
--- a/api.md
+++ b/api.md
@@ -108,7 +108,7 @@ Methods:
- client.projects.access_keys.update(access_key_id, \*, project_id, \*\*params) -> AccessKeySchema
- client.projects.access_keys.list(project_id) -> AccessKeyListResponse
- client.projects.access_keys.delete(access_key_id, \*, project_id) -> None
-- client.projects.access_keys.retrieve_project_id() -> str
+- client.projects.access_keys.retrieve_project_id() -> AccessKeyRetrieveProjectIDResponse
- client.projects.access_keys.revoke(access_key_id, \*, project_id) -> None
## Entries
diff --git a/src/codex/resources/projects/access_keys.py b/src/codex/resources/projects/access_keys.py
index bb0dc2f..d375dbc 100644
--- a/src/codex/resources/projects/access_keys.py
+++ b/src/codex/resources/projects/access_keys.py
@@ -24,6 +24,7 @@
from ...types.projects import access_key_create_params, access_key_update_params
from ...types.projects.access_key_schema import AccessKeySchema
from ...types.projects.access_key_list_response import AccessKeyListResponse
+from ...types.projects.access_key_retrieve_project_id_response import AccessKeyRetrieveProjectIDResponse
__all__ = ["AccessKeysResource", "AsyncAccessKeysResource"]
@@ -254,14 +255,14 @@ def retrieve_project_id(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> str:
+ ) -> AccessKeyRetrieveProjectIDResponse:
"""Get the project ID from an access key."""
return self._get(
"/api/projects/id_from_access_key",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=str,
+ cast_to=AccessKeyRetrieveProjectIDResponse,
)
def revoke(
@@ -528,14 +529,14 @@ async def retrieve_project_id(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> str:
+ ) -> AccessKeyRetrieveProjectIDResponse:
"""Get the project ID from an access key."""
return await self._get(
"/api/projects/id_from_access_key",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=str,
+ cast_to=AccessKeyRetrieveProjectIDResponse,
)
async def revoke(
diff --git a/src/codex/types/projects/access_key_retrieve_project_id_response.py b/src/codex/types/projects/access_key_retrieve_project_id_response.py
index b7b5313..2277508 100644
--- a/src/codex/types/projects/access_key_retrieve_project_id_response.py
+++ b/src/codex/types/projects/access_key_retrieve_project_id_response.py
@@ -1,7 +1,10 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from typing_extensions import TypeAlias
+
+from ..._models import BaseModel
__all__ = ["AccessKeyRetrieveProjectIDResponse"]
-AccessKeyRetrieveProjectIDResponse: TypeAlias = str
+
+class AccessKeyRetrieveProjectIDResponse(BaseModel):
+ project_id: str
diff --git a/tests/api_resources/projects/test_access_keys.py b/tests/api_resources/projects/test_access_keys.py
index 6ec8ef9..240c31e 100644
--- a/tests/api_resources/projects/test_access_keys.py
+++ b/tests/api_resources/projects/test_access_keys.py
@@ -13,6 +13,7 @@
from codex.types.projects import (
AccessKeySchema,
AccessKeyListResponse,
+ AccessKeyRetrieveProjectIDResponse,
)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -297,7 +298,7 @@ def test_path_params_delete(self, client: Codex) -> None:
@parametrize
def test_method_retrieve_project_id(self, client: Codex) -> None:
access_key = client.projects.access_keys.retrieve_project_id()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -307,7 +308,7 @@ def test_raw_response_retrieve_project_id(self, client: Codex) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
access_key = response.parse()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -317,7 +318,7 @@ def test_streaming_response_retrieve_project_id(self, client: Codex) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
access_key = response.parse()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -653,7 +654,7 @@ async def test_path_params_delete(self, async_client: AsyncCodex) -> None:
@parametrize
async def test_method_retrieve_project_id(self, async_client: AsyncCodex) -> None:
access_key = await async_client.projects.access_keys.retrieve_project_id()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -663,7 +664,7 @@ async def test_raw_response_retrieve_project_id(self, async_client: AsyncCodex)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
access_key = await response.parse()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -673,7 +674,7 @@ async def test_streaming_response_retrieve_project_id(self, async_client: AsyncC
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
access_key = await response.parse()
- assert_matches_type(str, access_key, path=["response"])
+ assert_matches_type(AccessKeyRetrieveProjectIDResponse, access_key, path=["response"])
assert cast(Any, response.is_closed) is True