Skip to content
Closed
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

from typing import Type

from .buildings import BuildingsEndpoints
from .default import DefaultEndpoints
from .jamf_connect import JamfConnectEndpoints
from .location import LocationEndpoints
from .parameters import ParametersEndpoints
from .responses import ResponsesEndpoints
Expand Down Expand Up @@ -39,3 +41,11 @@ def location(cls) -> Type[LocationEndpoints]:
@classmethod
def true_(cls) -> Type[True_Endpoints]:
return True_Endpoints

@classmethod
def buildings(cls) -> Type[BuildingsEndpoints]:
return BuildingsEndpoints

@classmethod
def jamf_connect(cls) -> Type[JamfConnectEndpoints]:
return JamfConnectEndpoints
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
""" Contains methods for accessing the API Endpoints """

import types

from . import get_v1_buildings


class BuildingsEndpoints:
@classmethod
def get_v1_buildings(cls) -> types.ModuleType:
"""
Search for sorted and paged buildings
"""
return get_v1_buildings
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
""" Contains methods for accessing the API Endpoints """

import types

from . import get_v1_jamf_connect_history


class JamfConnectEndpoints:
@classmethod
def get_v1_jamf_connect_history(cls) -> types.ModuleType:
"""
Get Jamf Connect history

"""
return get_v1_jamf_connect_history
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
from typing import Any, Dict, List, Optional, Union

import httpx

from ...client import Client
from ...models.building_search_results import BuildingSearchResults
from ...types import UNSET, Response, Unset


def _get_kwargs(
*,
client: Client,
page: int = 0,
page_size: int = 100,
sort: Union[Unset, None, List[str]] = UNSET,
filter_: Union[Unset, None, str] = "",
) -> Dict[str, Any]:
url = "{}/v1/buildings".format(client.base_url)

headers: Dict[str, str] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()

params: Dict[str, Any] = {}
params["page"] = page

params["page-size"] = page_size

json_sort: Union[Unset, None, List[str]] = UNSET
if not isinstance(sort, Unset):
if sort is None:
json_sort = None
else:
json_sort = sort

params["sort"] = json_sort

params["filter"] = filter_

params = {k: v for k, v in params.items() if v is not UNSET and v is not None}

return {
"method": "get",
"url": url,
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
"params": params,
}


def _parse_response(*, response: httpx.Response) -> Optional[BuildingSearchResults]:
if response.status_code == 200:
response_200 = BuildingSearchResults.from_dict(response.json())

return response_200
return None


def _build_response(*, response: httpx.Response) -> Response[BuildingSearchResults]:
return Response(
status_code=response.status_code,
content=response.content,
headers=response.headers,
parsed=_parse_response(response=response),
)


def sync_detailed(
*,
client: Client,
page: int = 0,
page_size: int = 100,
sort: Union[Unset, None, List[str]] = UNSET,
filter_: Union[Unset, None, str] = "",
) -> Response[BuildingSearchResults]:
"""Search for sorted and paged Buildings

Search for sorted and paged buildings

Args:
page (int):
page_size (int): Default: 100.
sort (Union[Unset, None, List[str]]):
filter_ (Union[Unset, None, str]): Default: ''.

Returns:
Response[BuildingSearchResults]
"""

kwargs = _get_kwargs(
client=client,
page=page,
page_size=page_size,
sort=sort,
filter_=filter_,
)

response = httpx.request(
verify=client.verify_ssl,
**kwargs,
)

return _build_response(response=response)


def sync(
*,
client: Client,
page: int = 0,
page_size: int = 100,
sort: Union[Unset, None, List[str]] = UNSET,
filter_: Union[Unset, None, str] = "",
) -> Optional[BuildingSearchResults]:
"""Search for sorted and paged Buildings

Search for sorted and paged buildings

Args:
page (int):
page_size (int): Default: 100.
sort (Union[Unset, None, List[str]]):
filter_ (Union[Unset, None, str]): Default: ''.

Returns:
Response[BuildingSearchResults]
"""

return sync_detailed(
client=client,
page=page,
page_size=page_size,
sort=sort,
filter_=filter_,
).parsed


async def asyncio_detailed(
*,
client: Client,
page: int = 0,
page_size: int = 100,
sort: Union[Unset, None, List[str]] = UNSET,
filter_: Union[Unset, None, str] = "",
) -> Response[BuildingSearchResults]:
"""Search for sorted and paged Buildings

Search for sorted and paged buildings

Args:
page (int):
page_size (int): Default: 100.
sort (Union[Unset, None, List[str]]):
filter_ (Union[Unset, None, str]): Default: ''.

Returns:
Response[BuildingSearchResults]
"""

kwargs = _get_kwargs(
client=client,
page=page,
page_size=page_size,
sort=sort,
filter_=filter_,
)

async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
response = await _client.request(**kwargs)

return _build_response(response=response)


async def asyncio(
*,
client: Client,
page: int = 0,
page_size: int = 100,
sort: Union[Unset, None, List[str]] = UNSET,
filter_: Union[Unset, None, str] = "",
) -> Optional[BuildingSearchResults]:
"""Search for sorted and paged Buildings

Search for sorted and paged buildings

Args:
page (int):
page_size (int): Default: 100.
sort (Union[Unset, None, List[str]]):
filter_ (Union[Unset, None, str]): Default: ''.

Returns:
Response[BuildingSearchResults]
"""

return (
await asyncio_detailed(
client=client,
page=page,
page_size=page_size,
sort=sort,
filter_=filter_,
)
).parsed
Loading