"""BriteCore v2 Settings API endpoint wrappers.
This module provides wrappers for settings, ZIP override, PDF engine, and
system-tag endpoints in the BriteCore v2 settings API.
"""
from typing import Any, Unpack
from britecore_sdk.api.api_calls import (
BritecoreAPIClient,
RequestParameters,
api_client,
)
from britecore_sdk.api.api_calls.v2._common import build_payload, post
API_CLIENT: BritecoreAPIClient = api_client
[docs]
def add_city_to_zip_override(
city: str | None = None,
county: str | None = None,
state_abbreviation: str | None = None,
zip_code: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Add a city override for a ZIP code.
POST /api/v2/settings/add_city_to_zip_override
"""
return post(
"/api/v2/settings/add_city_to_zip_override",
build_payload(
city=city,
county=county,
state_abbreviation=state_abbreviation,
zip_code=zip_code,
),
**kwargs,
)
[docs]
def add_counties_to_state(
counties: list | None = None,
country: str | None = None,
state: dict | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Add county records to a state.
POST /api/v2/settings/add_counties_to_state
"""
return post(
"/api/v2/settings/add_counties_to_state",
build_payload(counties=counties, country=country, state=state),
**kwargs,
)
[docs]
def add_county_to_zip_override(
county: str | None = None,
state_abbreviation: str | None = None,
zip_code: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Add a county override for a ZIP code.
POST /api/v2/settings/add_county_to_zip_override
"""
return post(
"/api/v2/settings/add_county_to_zip_override",
build_payload(
county=county,
state_abbreviation=state_abbreviation,
zip_code=zip_code,
),
**kwargs,
)
[docs]
def get_pdf_engine(**kwargs: Unpack[RequestParameters]) -> Any:
"""Retrieve the active PDF engine setting.
POST /api/v2/settings/get_pdf_engine
"""
return post("/api/v2/settings/get_pdf_engine", {}, **kwargs)
[docs]
def get_setting_value(
option: str | None = None,
section: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve a specific system setting value.
POST /api/v2/settings/get_setting_value
"""
return post(
"/api/v2/settings/get_setting_value",
build_payload(option=option, section=section),
**kwargs,
)
[docs]
def retrieve_credit_permission_prompt(**kwargs: Unpack[RequestParameters]) -> Any:
"""Retrieve the configured credit permission prompt.
POST /api/v2/settings/retrieve_credit_permission_prompt
"""
return post("/api/v2/settings/retrieve_credit_permission_prompt", {}, **kwargs)
[docs]
def retrieve_property_valuation_availability(
chosen_role: str | None = None,
is_app: bool | None = None,
revision_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Check property valuation availability for a revision.
POST /api/v2/settings/retrieve_property_valuation_availability
"""
return post(
"/api/v2/settings/retrieve_property_valuation_availability",
build_payload(
chosen_role=chosen_role,
is_app=is_app,
revision_id=revision_id,
),
**kwargs,
)
[docs]
def set_pdf_engine(
engine: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Set the PDF engine used for document generation.
POST /api/v2/settings/set_pdf_engine
"""
return post(
"/api/v2/settings/set_pdf_engine",
build_payload(engine=engine),
**kwargs,
)
[docs]
def set_setting_value(
option: str | None = None,
section: str | None = None,
value: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Set the value of a specific system setting.
POST /api/v2/settings/set_setting_value
"""
return post(
"/api/v2/settings/set_setting_value",
build_payload(option=option, section=section, value=value),
**kwargs,
)
__all__ = [
"add_city_to_zip_override",
"add_counties_to_state",
"add_county_to_zip_override",
"get_pdf_engine",
"get_setting_value",
"get_system_tags_list",
"retrieve_credit_permission_prompt",
"retrieve_property_valuation_availability",
"retrieve_system_tags",
"set_pdf_engine",
"set_setting_value",
]
# --- Autogenerated spec wrappers ---
[docs]
def create_carbone_custom_deliverable(
custom_name: Any | None = None,
module: Any | None = None,
generated_per: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Carbone Custom Deliverable.
POST /api/v2/settings/create_carbone_custom_deliverable
"""
request_json: dict[str, Any] = {
"custom_name": custom_name,
"module": module,
"generated_per": generated_per,
}
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/settings/create_carbone_custom_deliverable",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/create_carbone_custom_deliverable"
)
[docs]
def delete_carbone_custom_deliverable(
id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Delete Carbone Custom Deliverable.
POST /api/v2/settings/delete_carbone_custom_deliverable
"""
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/settings/delete_carbone_custom_deliverable",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/delete_carbone_custom_deliverable"
)
[docs]
def get_deliverable_preview_json(
entity_id: Any | None = None,
deliverable_id: Any | None = None,
entity_type: Any | None = None,
entity_number: Any | None = None,
policy_type_name: Any | None = None,
location_id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Deliverable Preview Json.
POST /api/v2/settings/get_deliverable_preview_json
"""
request_json: dict[str, Any] = {
"entity_id": entity_id,
"deliverable_id": deliverable_id,
"entity_type": entity_type,
"entity_number": entity_number,
"policy_type_name": policy_type_name,
"location_id": 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/settings/get_deliverable_preview_json",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/get_deliverable_preview_json"
)
[docs]
def list_cancellation_reasons(
ids: list[str] | None = None,
policy_life_cycle_ids: list[str] | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Cancellation Reasons.
POST /api/v2/settings/list_cancellation_reasons
"""
request_json: dict[str, Any] = {
"ids": ids,
"policy_life_cycle_ids": policy_life_cycle_ids,
}
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/settings/list_cancellation_reasons",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/list_cancellation_reasons"
)
[docs]
def new_permission_level_rule_dashboard(
permission_level_id: str | None = None,
is_primary: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""New Permission Level Rule Dashboard.
POST /api/v2/settings/new_permission_level_rule_dashboard
"""
request_json: dict[str, Any] = {
"permission_level_id": permission_level_id,
"is_primary": is_primary,
}
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/settings/new_permission_level_rule_dashboard",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/new_permission_level_rule_dashboard"
)
[docs]
def persist_carbone_draft(
new_draft_filename: Any | None = None,
deliverable_id: Any | None = None,
new_draft_id: Any | None = None,
prior_draft_id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Persist Carbone Draft.
POST /api/v2/settings/persist_carbone_draft
"""
request_json: dict[str, Any] = {
"new_draft_filename": new_draft_filename,
"deliverable_id": deliverable_id,
"new_draft_id": new_draft_id,
"prior_draft_id": prior_draft_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/settings/persist_carbone_draft",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/persist_carbone_draft"
)
[docs]
def remove_permission_level_rule_dashboard(
permission_level_rule_dashboard_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Remove Permission Level Rule Dashboard.
POST /api/v2/settings/remove_permission_level_rule_dashboard
"""
request_json: dict[str, Any] = {
"permission_level_rule_dashboard_id": permission_level_rule_dashboard_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/settings/remove_permission_level_rule_dashboard",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/settings/remove_permission_level_rule_dashboard",
)
[docs]
def retrieve_permissions(
prefixes: list[str] | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Permissions.
POST /api/v2/settings/retrieve_permissions
"""
request_json: dict[str, Any] = {
"prefixes": prefixes,
}
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/settings/retrieve_permissions",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/retrieve_permissions"
)
[docs]
def retrieve_template_setup(
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Retrieve Template Setup.
POST /api/v2/settings/retrieve_template_setup
"""
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/settings/retrieve_template_setup",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/retrieve_template_setup"
)
[docs]
def update_carbone_custom_deliverable(
id: Any | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Carbone Custom Deliverable.
POST /api/v2/settings/update_carbone_custom_deliverable
"""
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/settings/update_carbone_custom_deliverable",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/settings/update_carbone_custom_deliverable"
)
[docs]
def update_permission_level_rule_dashboard(
permission_level_rule_dashboard_id: str | None = None,
dashboard_id: str | None = None,
is_primary: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Permission Level Rule Dashboard.
POST /api/v2/settings/update_permission_level_rule_dashboard
"""
request_json: dict[str, Any] = {
"permission_level_rule_dashboard_id": permission_level_rule_dashboard_id,
"dashboard_id": dashboard_id,
"is_primary": is_primary,
}
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/settings/update_permission_level_rule_dashboard",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result,
endpoint="/api/v2/settings/update_permission_level_rule_dashboard",
)
__all__.extend(
[
"create_carbone_custom_deliverable",
"create_system_tags",
"delete_carbone_custom_deliverable",
"get_deliverable_preview_json",
"list_cancellation_reasons",
"list_system_tags",
"new_permission_level_rule_dashboard",
"persist_carbone_draft",
"remove_permission_level_rule_dashboard",
"retrieve_permissions",
"retrieve_quick_code_value_tags",
"retrieve_template_setup",
"update_carbone_custom_deliverable",
"update_permission_level_rule_dashboard",
]
)