Source code for ace.centralize.models.carrier
"""
Carrier and product models for Centralize
"""
from datetime import date
from typing import List, Optional
from ace.centralize.models.base import ModelBase
[docs]
class CarrierCreateParamsInput(ModelBase):
"""Input to create the carrier of a new party."""
[docs]
def __init__(
self,
abbreviation: Optional[str] = None,
termination_date: Optional[date] = None,
):
if abbreviation is not None:
self.abbreviation = abbreviation
if termination_date is not None:
self.terminationDate = termination_date
[docs]
class CarrierBatchCreateParamsInput(ModelBase):
"""Input to create a carrier in a party batch.
uuid must match the uuid of its party in the batch.
"""
[docs]
def __init__(
self,
carrier: CarrierCreateParamsInput,
uuid: str,
):
self.carrier = carrier
self.uuid = uuid
[docs]
class CarrierDecisionUpdateParamsInput(ModelBase):
"""Input to update a carrier decision of an agent."""
[docs]
def __init__(
self,
carriers_to_add: Optional[List[int]] = None,
carriers_to_delete: Optional[List[int]] = None,
decision_guid: Optional[str] = None,
decision_id: Optional[int] = None,
):
if carriers_to_add is not None:
self.carriersToAdd = carriers_to_add
if carriers_to_delete is not None:
self.carriersToDelete = carriers_to_delete
if decision_guid is not None:
self.decisionGuid = decision_guid
if decision_id is not None:
self.decisionId = decision_id
[docs]
class ProductDecisionUpdateParamsInput(ModelBase):
"""Input to update a product decision of an agent."""
[docs]
def __init__(
self,
decision_guid: Optional[str] = None,
decision_id: Optional[int] = None,
products_to_add: Optional[List[int]] = None,
products_to_delete: Optional[List[int]] = None,
):
if decision_guid is not None:
self.decisionGuid = decision_guid
if decision_id is not None:
self.decisionId = decision_id
if products_to_add is not None:
self.productsToAdd = products_to_add
if products_to_delete is not None:
self.productsToDelete = products_to_delete