"""ContractParty marshmallow schemas.""" from abacus_common_logic.marshalling.custom_fields import ma from abacus_contract.constants import constants class BaseContractPartySchema(ma.Schema): """Shared ContractParty fields.""" contract_id = ma.IntegerId(required=True) target_id = ma.String(required=True) target_type = ma.Enum(options=constants.CONTRACT_PARTY_TARGET_TYPES, required=True) class ContractPartyDetailSchema(BaseContractPartySchema): """ContractParty Detail Schema.""" contract_party_id = ma.IntegerId(required=True) class ContractPartyPostSchema(BaseContractPartySchema): """ContractParty Post Schema.""" pass