"""BriteCore V2 suspensions API endpoint wrappers."""
from typing import Any, Unpack
from britecore_sdk.api.api_calls import (
BritecoreAPIClient,
RequestParameters,
api_client,
)
API_CLIENT: BritecoreAPIClient = api_client
# --- Autogenerated spec wrappers ---
[docs]
def create_suspension(
suspension: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Suspension.
POST /api/v2/suspensions/create_suspension
"""
request_json: dict[str, Any] = {"suspension": suspension}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/create_suspension",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/create_suspension"
)
[docs]
def delete_suspension(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Delete Suspension.
POST /api/v2/suspensions/delete_suspension
"""
request_json: dict[str, Any] = {}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/delete_suspension",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/delete_suspension"
)
[docs]
def get_policy_applicable_suspensions(
suspension_actions: list[str] | None = None,
policy_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Policy Applicable Suspensions.
POST /api/v2/suspensions/get_policy_applicable_suspensions
"""
request_json: dict[str, Any] = {
"suspension_actions": suspension_actions,
"policy_id": policy_id,
}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/get_policy_applicable_suspensions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/get_policy_applicable_suspensions"
)
[docs]
def get_revision_suspensions(
revision_id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Revision Suspensions.
POST /api/v2/suspensions/get_revision_suspensions
"""
request_json: dict[str, Any] = {"revision_id": revision_id}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/get_revision_suspensions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/get_revision_suspensions"
)
[docs]
def get_user_suspensions_with_geometries(
date: str | None = None,
state: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get User Suspensions With Geometries.
POST /api/v2/suspensions/get_user_suspensions_with_geometries
"""
request_json: dict[str, Any] = {
"date": date,
"state": state,
}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/get_user_suspensions_with_geometries",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/suspensions/get_user_suspensions_with_geometries",
)
[docs]
def list_suspensions(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Suspensions.
POST /api/v2/suspensions/list_suspensions
"""
request_json: dict[str, Any] = {}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/list_suspensions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/list_suspensions"
)
[docs]
def update_suspension(
suspension: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Suspension.
POST /api/v2/suspensions/update_suspension
"""
request_json: dict[str, Any] = {"suspension": suspension}
filtered_json = {k: v for k, v in request_json.items() if v is not None}
request_result = API_CLIENT.do_request(
path="/api/v2/suspensions/update_suspension",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/suspensions/update_suspension"
)
__all__ = [
"create_suspension",
"delete_suspension",
"get_policy_applicable_suspensions",
"get_revision_suspensions",
"get_user_suspensions_with_geometries",
"list_suspensions",
"update_suspension",
]