|
- from http import HTTPStatus
- from typing import Any, Optional, Union, cast
-
- import httpx
-
- from ... import errors
- from ...client import AuthenticatedClient, Client
- from ...models.subject_item import SubjectItem
- from ...types import UNSET, Response, Unset
-
-
- def _get_kwargs(
- *,
- id: Union[Unset, str] = UNSET,
- search_string: Union[Unset, str] = UNSET,
- skip: Union[Unset, int] = UNSET,
- limit: Union[Unset, int] = UNSET,
- ) -> dict[str, Any]:
- params: dict[str, Any] = {}
-
- params["id"] = id
-
- params["searchString"] = search_string
-
- params["skip"] = skip
-
- params["limit"] = limit
-
- 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": "/getSubjects",
- "params": params,
- }
-
- return _kwargs
-
-
- def _parse_response(
- *, client: Union[AuthenticatedClient, Client], response: httpx.Response
- ) -> Optional[Union[Any, list["SubjectItem"]]]:
- if response.status_code == 200:
- response_200 = []
- _response_200 = response.json()
- for response_200_item_data in _response_200:
- response_200_item = SubjectItem.from_dict(response_200_item_data)
-
- response_200.append(response_200_item)
-
- return response_200
- if response.status_code == 400:
- response_400 = cast(Any, None)
- return response_400
- 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[Union[Any, list["SubjectItem"]]]:
- 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],
- id: Union[Unset, str] = UNSET,
- search_string: Union[Unset, str] = UNSET,
- skip: Union[Unset, int] = UNSET,
- limit: Union[Unset, int] = UNSET,
- ) -> Response[Union[Any, list["SubjectItem"]]]:
- """Get the subjects
-
- Get the subjects
-
- Args:
- id (Union[Unset, str]):
- search_string (Union[Unset, str]):
- skip (Union[Unset, int]):
- limit (Union[Unset, int]):
-
- 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[Union[Any, list['SubjectItem']]]
- """
-
- kwargs = _get_kwargs(
- id=id,
- search_string=search_string,
- skip=skip,
- limit=limit,
- )
-
- response = client.get_httpx_client().request(
- **kwargs,
- )
-
- return _build_response(client=client, response=response)
-
-
- def sync(
- *,
- client: Union[AuthenticatedClient, Client],
- id: Union[Unset, str] = UNSET,
- search_string: Union[Unset, str] = UNSET,
- skip: Union[Unset, int] = UNSET,
- limit: Union[Unset, int] = UNSET,
- ) -> Optional[Union[Any, list["SubjectItem"]]]:
- """Get the subjects
-
- Get the subjects
-
- Args:
- id (Union[Unset, str]):
- search_string (Union[Unset, str]):
- skip (Union[Unset, int]):
- limit (Union[Unset, int]):
-
- 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:
- Union[Any, list['SubjectItem']]
- """
-
- return sync_detailed(
- client=client,
- id=id,
- search_string=search_string,
- skip=skip,
- limit=limit,
- ).parsed
-
-
- async def asyncio_detailed(
- *,
- client: Union[AuthenticatedClient, Client],
- id: Union[Unset, str] = UNSET,
- search_string: Union[Unset, str] = UNSET,
- skip: Union[Unset, int] = UNSET,
- limit: Union[Unset, int] = UNSET,
- ) -> Response[Union[Any, list["SubjectItem"]]]:
- """Get the subjects
-
- Get the subjects
-
- Args:
- id (Union[Unset, str]):
- search_string (Union[Unset, str]):
- skip (Union[Unset, int]):
- limit (Union[Unset, int]):
-
- 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[Union[Any, list['SubjectItem']]]
- """
-
- kwargs = _get_kwargs(
- id=id,
- search_string=search_string,
- skip=skip,
- limit=limit,
- )
-
- response = await client.get_async_httpx_client().request(**kwargs)
-
- return _build_response(client=client, response=response)
-
-
- async def asyncio(
- *,
- client: Union[AuthenticatedClient, Client],
- id: Union[Unset, str] = UNSET,
- search_string: Union[Unset, str] = UNSET,
- skip: Union[Unset, int] = UNSET,
- limit: Union[Unset, int] = UNSET,
- ) -> Optional[Union[Any, list["SubjectItem"]]]:
- """Get the subjects
-
- Get the subjects
-
- Args:
- id (Union[Unset, str]):
- search_string (Union[Unset, str]):
- skip (Union[Unset, int]):
- limit (Union[Unset, int]):
-
- 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:
- Union[Any, list['SubjectItem']]
- """
-
- return (
- await asyncio_detailed(
- client=client,
- id=id,
- search_string=search_string,
- skip=skip,
- limit=limit,
- )
- ).parsed
|