"""Schemas for change_history response payloads.""" from marshmallow import fields, Schema, validate DELETION_STATUS = ('Y', 'N') class ChangeHistory(Schema): """Schema representing the result of an individual history item.""" field_name = fields.String(required=True) old_sale_start_date = fields.Date(required=False) new_sale_start_date = fields.Date(required=False) new_price = fields.String(required=False) old_price = fields.String(required=False) new_embargo_date = fields.Date(required=False) old_embargo_date = fields.Date(required=False) old_deletion_status = fields.String( required=False, validate=validate.OneOf(DELETION_STATUS)) new_deletion_status = fields.String( required=False, validate=validate.OneOf(DELETION_STATUS)) class GetChangeHistoryResponse(Schema): """Schema for result of a GET product//change_history.""" items = fields.List( fields.Nested(ChangeHistory, required=True), required=True)