"""BriteCore V2 subjectivities 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_subjectivity(
status: str | None = None,
due_date: str | None = None,
external_system_reference: str | None = None,
description: str | None = None,
assignee: str | None = None,
subjectivity_definition_id: str | None = None,
statement: str | None = None,
revision_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Subjectivity.
POST /api/v2/subjectivities/create_subjectivity
"""
request_json: dict[str, Any] = {
"status": status,
"due_date": due_date,
"external_system_reference": external_system_reference,
"description": description,
"assignee": assignee,
"subjectivity_definition_id": subjectivity_definition_id,
"statement": statement,
"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/subjectivities/create_subjectivity",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/create_subjectivity"
)
[docs]
def create_subjectivity_definition(
due_date_type: str | None = None,
mandatory: bool | None = None,
name: str | None = None,
statement: str | None = None,
active: bool | None = None,
policy_type_id: str | None = None,
due_within_days: int | None = None,
description: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Subjectivity Definition.
POST /api/v2/subjectivities/create_subjectivity_definition
"""
request_json: dict[str, Any] = {
"due_date_type": due_date_type,
"mandatory": mandatory,
"name": name,
"statement": statement,
"active": active,
"policy_type_id": policy_type_id,
"due_within_days": due_within_days,
"description": description,
}
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/subjectivities/create_subjectivity_definition",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/create_subjectivity_definition"
)
[docs]
def delete_subjectivity(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Delete Subjectivity.
POST /api/v2/subjectivities/delete_subjectivity
"""
request_json: dict[str, Any] = {
"id": 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/subjectivities/delete_subjectivity",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/delete_subjectivity"
)
[docs]
def filter_subjectivities(
end_date: str | None = None,
revision_ids: list[str] | None = None,
assignee_ids: list[str] | None = None,
page: int | None = None,
page_size: int | None = None,
start_date: str | None = None,
external_system_references: list[str] | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Filter Subjectivities.
POST /api/v2/subjectivities/filter_subjectivities
"""
request_json: dict[str, Any] = {
"end_date": end_date,
"revision_ids": revision_ids,
"assignee_ids": assignee_ids,
"page": page,
"page_size": page_size,
"start_date": start_date,
"external_system_references": external_system_references,
}
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/subjectivities/filter_subjectivities",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/filter_subjectivities"
)
[docs]
def list_subjectivities(
revision_id: str | None = None,
external_system_reference: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Subjectivities.
POST /api/v2/subjectivities/list_subjectivities
"""
request_json: dict[str, Any] = {
"revision_id": revision_id,
"external_system_reference": external_system_reference,
}
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/subjectivities/list_subjectivities",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/list_subjectivities"
)
[docs]
def list_subjectivity_definitions(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Subjectivity Definitions.
POST /api/v2/subjectivities/list_subjectivity_definitions
"""
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/subjectivities/list_subjectivity_definitions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/list_subjectivity_definitions"
)
[docs]
def modify_subjectivity(
status: str | None = None,
due_date: str | None = None,
description: str | None = None,
assignee: str | None = None,
statement: str | None = None,
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Modify Subjectivity.
POST /api/v2/subjectivities/modify_subjectivity
"""
request_json: dict[str, Any] = {
"status": status,
"due_date": due_date,
"description": description,
"assignee": assignee,
"statement": statement,
"id": 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/subjectivities/modify_subjectivity",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/modify_subjectivity"
)
[docs]
def modify_subjectivity_definition(
due_date_type: str | None = None,
mandatory: bool | None = None,
description: str | None = None,
due_within_days: int | None = None,
statement: str | None = None,
active: bool | None = None,
policy_type_id: str | None = None,
id: str | None = None,
name: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Modify Subjectivity Definition.
POST /api/v2/subjectivities/modify_subjectivity_definition
"""
request_json: dict[str, Any] = {
"due_date_type": due_date_type,
"mandatory": mandatory,
"description": description,
"due_within_days": due_within_days,
"statement": statement,
"active": active,
"policy_type_id": policy_type_id,
"id": id,
"name": name,
}
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/subjectivities/modify_subjectivity_definition",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/modify_subjectivity_definition"
)
[docs]
def retrieve_subjectivity(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Subjectivity.
POST /api/v2/subjectivities/retrieve_subjectivity
"""
request_json: dict[str, Any] = {
"id": 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/subjectivities/retrieve_subjectivity",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/subjectivities/retrieve_subjectivity"
)
[docs]
def retrieve_subjectivity_definition(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Subjectivity Definition.
POST /api/v2/subjectivities/retrieve_subjectivity_definition
"""
request_json: dict[str, Any] = {
"id": 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/subjectivities/retrieve_subjectivity_definition",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/subjectivities/retrieve_subjectivity_definition",
)
__all__ = [
"create_subjectivity",
"create_subjectivity_definition",
"delete_subjectivity",
"filter_subjectivities",
"list_subjectivities",
"list_subjectivity_definitions",
"modify_subjectivity",
"modify_subjectivity_definition",
"retrieve_subjectivity",
"retrieve_subjectivity_definition",
]