"""BriteCore V2 watercrafts 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_watercraft(
watercraft: dict[str, Any] | None = None,
skip_rules: bool | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Create Watercraft.
POST /api/v2/watercrafts/create_watercraft
"""
request_json: dict[str, Any] = {
"watercraft": watercraft,
"skip_rules": skip_rules,
}
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/watercrafts/create_watercraft",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/create_watercraft"
)
[docs]
def delete_watercraft(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Delete Watercraft.
POST /api/v2/watercrafts/delete_watercraft
"""
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/watercrafts/delete_watercraft",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/delete_watercraft"
)
[docs]
def get_watercraft(
id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Get Watercraft.
POST /api/v2/watercrafts/get_watercraft
"""
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/watercrafts/get_watercraft",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/get_watercraft"
)
[docs]
def list_custom_fields_types(
quote_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Custom Fields Types.
POST /api/v2/watercrafts/list_custom_fields_types
"""
request_json: dict[str, Any] = {
"quote_id": quote_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/watercrafts/list_custom_fields_types",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/list_custom_fields_types"
)
[docs]
def list_watercrafts_for_quote(
quote_id: str | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""List Watercrafts For Quote.
POST /api/v2/watercrafts/list_watercrafts_for_quote
"""
request_json: dict[str, Any] = {
"quote_id": quote_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/watercrafts/list_watercrafts_for_quote",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/list_watercrafts_for_quote"
)
[docs]
def update_watercraft(
watercraft: dict[str, Any] | None = None,
skip_rules: bool | None = None,
**kwargs: Unpack[RequestParameters],
) -> Any:
"""Update Watercraft.
POST /api/v2/watercrafts/update_watercraft
"""
request_json: dict[str, Any] = {
"watercraft": watercraft,
"skip_rules": skip_rules,
}
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/watercrafts/update_watercraft",
json=filtered_json,
method="POST",
**kwargs,
)
return API_CLIENT.process_result(
request_result, endpoint="/api/v2/watercrafts/update_watercraft"
)
__all__ = [
"create_watercraft",
"delete_watercraft",
"get_watercraft",
"list_custom_fields_types",
"list_watercrafts_for_quote",
"update_watercraft",
]