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