Source code for britecore_sdk.api.api_calls.v2.utils

"""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_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_by_contact_id_db_query( contact_id: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Policies By Contact Id Db Query. POST /api/v2/utils/get_policies_by_contact_id_db_query """ request_json: dict[str, Any] = { "contact_id": 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/get_policies_by_contact_id_db_query", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/utils/get_policies_by_contact_id_db_query" )
[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 meta( **kwargs: Unpack[RequestParameters], ) -> Any: """Meta. POST /api/v2/utils/meta """ 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/meta", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result(request_result, endpoint="/api/v2/utils/meta")
[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", ]