diff options
Diffstat (limited to 'packages/sdk/python/src/opencode_ai/api/default/project_current.py')
| -rw-r--r-- | packages/sdk/python/src/opencode_ai/api/default/project_current.py | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/packages/sdk/python/src/opencode_ai/api/default/project_current.py b/packages/sdk/python/src/opencode_ai/api/default/project_current.py new file mode 100644 index 000000000..712c6fd43 --- /dev/null +++ b/packages/sdk/python/src/opencode_ai/api/default/project_current.py @@ -0,0 +1,155 @@ +from http import HTTPStatus +from typing import Any, Optional, Union + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.project import Project +from ...types import UNSET, Response, Unset + + +def _get_kwargs( + *, + directory: Union[Unset, str] = UNSET, +) -> dict[str, Any]: + params: dict[str, Any] = {} + + params["directory"] = directory + + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} + + _kwargs: dict[str, Any] = { + "method": "get", + "url": "/project/current", + "params": params, + } + + return _kwargs + + +def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Project]: + if response.status_code == 200: + response_200 = Project.from_dict(response.json()) + + return response_200 + + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Project]: + return Response( + status_code=HTTPStatus(response.status_code), + content=response.content, + headers=response.headers, + parsed=_parse_response(client=client, response=response), + ) + + +def sync_detailed( + *, + client: Union[AuthenticatedClient, Client], + directory: Union[Unset, str] = UNSET, +) -> Response[Project]: + """Get the current project + + Args: + directory (Union[Unset, str]): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[Project] + """ + + kwargs = _get_kwargs( + directory=directory, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + *, + client: Union[AuthenticatedClient, Client], + directory: Union[Unset, str] = UNSET, +) -> Optional[Project]: + """Get the current project + + Args: + directory (Union[Unset, str]): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Project + """ + + return sync_detailed( + client=client, + directory=directory, + ).parsed + + +async def asyncio_detailed( + *, + client: Union[AuthenticatedClient, Client], + directory: Union[Unset, str] = UNSET, +) -> Response[Project]: + """Get the current project + + Args: + directory (Union[Unset, str]): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[Project] + """ + + kwargs = _get_kwargs( + directory=directory, + ) + + response = await client.get_async_httpx_client().request(**kwargs) + + return _build_response(client=client, response=response) + + +async def asyncio( + *, + client: Union[AuthenticatedClient, Client], + directory: Union[Unset, str] = UNSET, +) -> Optional[Project]: + """Get the current project + + Args: + directory (Union[Unset, str]): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Project + """ + + return ( + await asyncio_detailed( + client=client, + directory=directory, + ) + ).parsed |
