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