"""Schemas for abacus schedule.""" from abacus_common_logic.marshalling.custom_fields import ma from abacus_schedule.constants.constants import SCHEDULE_TARGET_TYPE class ConditionsSchema(ma.Schema): """Schema for Schedule Conditions.""" auto_add = ma.Boolean() class ScheduleDetailSchema(ma.Schema): """Abacus Schedule GET response fields.""" schedule_id = ma.IntegerId(required=True) schedule_name = ma.NonemptyString(required=True) target_id = ma.NonemptyString(required=True) target_type = ma.Enum(options=SCHEDULE_TARGET_TYPE, required=True) conditions = ma.Nested(ConditionsSchema, allow_none=True)