"""BriteCore v2 Utils API endpoint wrappers.
Provides administrative and system-utility helpers that don't belong to a
specific business domain.
"""
from logging import Logger
from typing import Any, Unpack
from urllib3 import BaseHTTPResponse, HTTPResponse
from britecore_sdk import logger
from britecore_sdk.api.api_calls import (
BritecoreAPIClient,
RequestParameters,
api_client,
)
LOGGER: Logger = logger
API_CLIENT: BritecoreAPIClient = api_client
def get_available_function_names(**kwargs: Unpack[RequestParameters]) -> Any:
"""Retrieve available utility function names.
POST /api/v2/utils/get_available_function_names
"""
LOGGER.debug("Retrieving functions")
request_result: BaseHTTPResponse | HTTPResponse | None = API_CLIENT.do_request(
path="/api/v2/utils/get_available_function_names",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_available_function_names"
)
def rebuild_search_index(
only_build: list,
**kwargs: Unpack[RequestParameters],
) -> bool:
"""Rebuild all or part of the search index.
POST /api/v2/utils/rebuild_search_index
"""
LOGGER.debug("Rebuilding index")
rebuild_index: dict[str, Any] = {"only_build": only_build}
request_result: BaseHTTPResponse | HTTPResponse | None = API_CLIENT.do_request(
path="/api/v2/utils/rebuild_search_index",
json=rebuild_index,
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/rebuild_search_index"
)
def get_release_info(**kwargs: Unpack[RequestParameters]) -> Any:
"""Retrieve platform release information.
POST /api/v2/utils/get_release_info
"""
LOGGER.debug("Retrieving release info")
request_result: BaseHTTPResponse | HTTPResponse | None = API_CLIENT.do_request(
path="/api/v2/utils/get_release_info",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_release_info"
)
# --- Autogenerated spec wrappers ---
[docs]
def add_britedocs_reference(
report_type_name: str | None = None,
britedocs_id: str | None = None,
location_name: str | None = None,
product_name: str | None = None,
x_report_location_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Add Britedocs Reference.
POST /api/v2/utils/add_britedocs_reference
"""
request_json: dict[str, Any] = {
"report_type_name": report_type_name,
"britedocs_id": britedocs_id,
"location_name": location_name,
"product_name": product_name,
"x_report_location_id": x_report_location_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/utils/add_britedocs_reference",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/add_britedocs_reference"
)
[docs]
def generate_receipt(
payment_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Generate Receipt.
POST /api/v2/utils/generate_receipt
"""
request_json: dict[str, Any] = {
"payment_id": payment_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/utils/generate_receipt",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/generate_receipt"
)
[docs]
def get_effective_dates(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Effective Dates.
POST /api/v2/utils/get_effective_dates
"""
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/utils/get_effective_dates",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_effective_dates"
)
[docs]
def get_navigation_links(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Navigation Links.
POST /api/v2/utils/get_navigation_links
"""
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/utils/get_navigation_links",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_navigation_links"
)
[docs]
def get_policies(
include_policy_photo: Any | None = None,
page_size: Any | None = None,
from_date: Any | None = None,
page_number: Any | None = None,
to_date: Any | None = None,
sorting_order: Any | None = None,
contact_id: Any | None = None,
include_canceled: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Policies.
POST /api/v2/utils/get_policies
"""
request_json: dict[str, Any] = {
"include_policy_photo": include_policy_photo,
"page_size": page_size,
"from_date": from_date,
"page_number": page_number,
"to_date": to_date,
"sorting_order": sorting_order,
"contact_id": contact_id,
"include_canceled": include_canceled,
}
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/utils/get_policies",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_policies"
)
[docs]
def get_policies_with_active_current_revision(
include_canceled: Any | None = None,
policies: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Policies With Active Current Revision.
POST /api/v2/utils/get_policies_with_active_current_revision
"""
request_json: dict[str, Any] = {
"include_canceled": include_canceled,
"policies": policies,
}
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/utils/get_policies_with_active_current_revision",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/utils/get_policies_with_active_current_revision",
)
[docs]
def get_signable_deliverable_names(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Signable Deliverable Names.
POST /api/v2/utils/get_signable_deliverable_names
"""
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/utils/get_signable_deliverable_names",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/get_signable_deliverable_names"
)
[docs]
def is_insured_mentioned_on_current_revision(
candidate_policy: Any | None = None,
insured_contact_id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Is Insured Mentioned On Current Revision.
POST /api/v2/utils/is_insured_mentioned_on_current_revision
"""
request_json: dict[str, Any] = {
"candidate_policy": candidate_policy,
"insured_contact_id": insured_contact_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/utils/is_insured_mentioned_on_current_revision",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/utils/is_insured_mentioned_on_current_revision",
)
[docs]
def mark_file_as_signed(
file_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Mark File As Signed.
POST /api/v2/utils/mark_file_as_signed
"""
request_json: dict[str, Any] = {
"file_id": file_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/utils/mark_file_as_signed",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/mark_file_as_signed"
)
[docs]
def mark_return_premium_or_claim_payment_as_exported_with_check_details(
records_to_export_dict_required: str | None = None,
table_name: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Mark Return Premium Or Claim Payment As Exported With Check Details.
POST /api/v2/utils/mark_return_premium_or_claim_payment_as_exported_with_check_details
"""
request_json: dict[str, Any] = {
"records_to_export = dict, required": records_to_export_dict_required,
"table_name": table_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/utils/mark_return_premium_or_claim_payment_as_exported_with_check_details",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/utils/mark_return_premium_or_claim_payment_as_exported_with_check_details",
)
[docs]
def refund(
transfer_policy_number: str | None = None,
refund_reason: str | None = None,
policy_term_id: str | None = None,
refund_amount: float | int | None = None,
policy_number: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Refund.
POST /api/v2/utils/refund
"""
request_json: dict[str, Any] = {
"transfer_policy_number": transfer_policy_number,
"refund_reason": refund_reason,
"policy_term_id": policy_term_id,
"refund_amount": refund_amount,
"policy_number": policy_number,
}
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/utils/refund",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(request_result, endpoint="/api/v2/utils/refund")
[docs]
def retrieve_background_job(
job_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Background Job.
POST /api/v2/utils/retrieve_background_job
"""
request_json: dict[str, Any] = {
"job_id": job_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/utils/retrieve_background_job",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/retrieve_background_job"
)
[docs]
def retrieve_payments_on_policy(
only_missing_receipts: bool | None = None,
policy_number: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Payments On Policy.
POST /api/v2/utils/retrieve_payments_on_policy
"""
request_json: dict[str, Any] = {
"only_missing_receipts": only_missing_receipts,
"policy_number": policy_number,
}
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/utils/retrieve_payments_on_policy",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/retrieve_payments_on_policy"
)
[docs]
def retrieve_receipts(
number: int | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Receipts.
POST /api/v2/utils/retrieve_receipts
"""
request_json: dict[str, Any] = {
"number": number,
}
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/utils/retrieve_receipts",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/retrieve_receipts"
)
[docs]
def revert_agentcy_transfer(
archive_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Revert Agentcy Transfer.
POST /api/v2/utils/revert_agentcy_transfer
"""
request_json: dict[str, Any] = {
"archive_id": archive_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/utils/revert_agentcy_transfer",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/revert_agentcy_transfer"
)
[docs]
def revert_mortgagee_transfer(
archive_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Revert Mortgagee Transfer.
POST /api/v2/utils/revert_mortgagee_transfer
"""
request_json: dict[str, Any] = {
"archive_id": archive_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/utils/revert_mortgagee_transfer",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/revert_mortgagee_transfer"
)
[docs]
def transfer_agentcy_policies(
effective_date: str | None = None,
print_decs: bool | None = None,
to_contact_id: str | None = None,
from_contact_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Transfer Agentcy Policies.
POST /api/v2/utils/transfer_agentcy_policies
"""
request_json: dict[str, Any] = {
"effective_date": effective_date,
"print_decs": print_decs,
"to_contact_id": to_contact_id,
"from_contact_id": from_contact_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/utils/transfer_agentcy_policies",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/transfer_agentcy_policies"
)
[docs]
def transfer_mortgagee_policies(
effective_date: str | None = None,
to_contact_id: str | None = None,
from_contact_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Transfer Mortgagee Policies.
POST /api/v2/utils/transfer_mortgagee_policies
"""
request_json: dict[str, Any] = {
"effective_date": effective_date,
"to_contact_id": to_contact_id,
"from_contact_id": from_contact_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/utils/transfer_mortgagee_policies",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/transfer_mortgagee_policies"
)
[docs]
def unarchive_record(
db_table: str | None = None,
unique_value: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Unarchive Record.
POST /api/v2/utils/unarchive_record
"""
request_json: dict[str, Any] = {
"db_table": db_table,
"unique_value": unique_value,
}
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/utils/unarchive_record",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/unarchive_record"
)
[docs]
def update_revision(
action: str | None = None,
revision_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Revision.
POST /api/v2/utils/update_revision
"""
request_json: dict[str, Any] = {
"action": action,
"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/utils/update_revision",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/update_revision"
)
[docs]
def update_search_index(
identifiers: list[str] | None = None,
index_name: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Search Index.
POST /api/v2/utils/update_search_index
"""
request_json: dict[str, Any] = {
"identifiers": identifiers,
"index_name": index_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/utils/update_search_index",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/update_search_index"
)
[docs]
def validate_and_clean_claim_numbers_list(
claim_numbers_list: list[str] | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Validate And Clean Claim Numbers List.
POST /api/v2/utils/validate_and_clean_claim_numbers_list
"""
request_json: dict[str, Any] = {
"claim_numbers_list": claim_numbers_list,
}
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/utils/validate_and_clean_claim_numbers_list",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/utils/validate_and_clean_claim_numbers_list"
)
__all__ = [
"add_britedocs_reference",
"generate_receipt",
"get_effective_dates",
"get_navigation_links",
"get_policies",
"get_policies_by_contact_id_db_query",
"get_policies_with_active_current_revision",
"get_signable_deliverable_names",
"is_insured_mentioned_on_current_revision",
"mark_file_as_signed",
"mark_return_premium_or_claim_payment_as_exported_with_check_details",
"meta",
"refund",
"retrieve_background_job",
"retrieve_payments_on_policy",
"retrieve_receipts",
"revert_agentcy_transfer",
"revert_mortgagee_transfer",
"transfer_agentcy_policies",
"transfer_mortgagee_policies",
"unarchive_record",
"update_revision",
"update_search_index",
"validate_and_clean_claim_numbers_list",
]