"""BriteCore V2 tasks 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_task(
due_date: str | None = None,
mandatory: bool | None = None,
description: str | None = None,
orkes_task_id: str | None = None,
priority: str | None = None,
assignee_id: str | None = None,
policy_id: str | None = None,
claim_id: str | None = None,
task_definition_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Task.
POST /api/v2/tasks/create_task
"""
request_json: dict[str, Any] = {
"due_date": due_date,
"mandatory": mandatory,
"description": description,
"orkes_task_id": orkes_task_id,
"priority": priority,
"assignee_id": assignee_id,
"policy_id": policy_id,
"claim_id": claim_id,
"task_definition_id": task_definition_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/tasks/create_task",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/create_task"
)
[docs]
def create_task_definition(
name: Any | None = None,
scope: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Task Definition.
POST /api/v2/tasks/create_task_definition
"""
request_json: dict[str, Any] = {
"name": name,
"scope": scope,
}
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/tasks/create_task_definition",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/create_task_definition"
)
[docs]
def modify_task(
status: str | None = None,
due_date: str | None = None,
mandatory: bool | None = None,
description: str | None = None,
priority: str | None = None,
assignee_id: str | None = None,
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Modify Task.
POST /api/v2/tasks/modify_task
"""
request_json: dict[str, Any] = {
"status": status,
"due_date": due_date,
"mandatory": mandatory,
"description": description,
"priority": priority,
"assignee_id": assignee_id,
"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/tasks/modify_task",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/modify_task"
)
[docs]
def retrieve_filter_options(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Filter Options.
POST /api/v2/tasks/retrieve_filter_options
"""
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/tasks/retrieve_filter_options",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_filter_options"
)
[docs]
def retrieve_task(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Task.
POST /api/v2/tasks/retrieve_task
"""
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/tasks/retrieve_task",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_task"
)
[docs]
def retrieve_task_definition(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Task Definition.
POST /api/v2/tasks/retrieve_task_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/tasks/retrieve_task_definition",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_task_definition"
)
[docs]
def retrieve_task_definitions(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Task Definitions.
POST /api/v2/tasks/retrieve_task_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/tasks/retrieve_task_definitions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_task_definitions"
)
[docs]
def retrieve_task_history(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Task History.
POST /api/v2/tasks/retrieve_task_history
"""
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/tasks/retrieve_task_history",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_task_history"
)
[docs]
def retrieve_tasks(
query: str | None = None,
pagination: dict[str, Any] | None = None,
sorting: dict[str, Any] | None = None,
filters: dict[str, Any] | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Tasks.
POST /api/v2/tasks/retrieve_tasks
"""
request_json: dict[str, Any] = {
"query": query,
"pagination": pagination,
"sorting": sorting,
"filters": filters,
}
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/tasks/retrieve_tasks",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/tasks/retrieve_tasks"
)
__all__ = [
"create_task",
"create_task_definition",
"modify_task",
"retrieve_filter_options",
"retrieve_task",
"retrieve_task_definition",
"retrieve_task_definitions",
"retrieve_task_history",
"retrieve_tasks",
]