"""Run controller contract schemas.""" from abacus_common_logic.marshalling.custom_fields import ma class RunControllerContractSchema(ma.Schema): """Run controller contract schema.""" run_controller_contract_id = ma.IntegerId(required=True) contract_id = ma.NonNegativeInteger(required=True) contract_type = ma.NonemptyString(required=True) run_controller_id = ma.NonNegativeInteger(required=True) contract_count = ma.NonNegativeInteger(required=False) run_controller_name = ma.Pluck( 'RunControllerDetailSchema', 'run_controller_name', attribute='run_controller' ) class RunControllerContractPostSchema(RunControllerContractSchema): """Run controller contract POST schema.""" account_id = ma.NonNegativeInteger() class RunControllerContractPutSchema(ma.Schema): """Run controller contract PUT schema.""" contract_id = ma.NonNegativeInteger(required=True) run_controller_id = ma.NonNegativeInteger(required=True)