"""Pydantic schemas used in the logic layer.""" from enum import Enum from vectororder.models import Model class JobIneligibilityReason(Enum): """Job ineligibility reason.""" NOT_FOR_DISTRIBUTION = "NOT_FOR_DISTRIBUTION" NO_TRACK_WITH_OFFER_TYPE = "NO_TRACK_WITH_OFFER_TYPE" NOT_DIGITAL_AUDIO = "NOT_DIGITAL_AUDIO" NOT_HD = "NOT_HD" NOT_PREVIOUSLY_DELIVERED = "NOT_PREVIOUSLY_DELIVERED" VENDOR_IS_API = "VENDOR_IS_API" TRACK_OFFER_TYPE_MISMATCH_SERVICE_DISTRIBUTION_FEATURES = ( "TRACK_OFFER_TYPE_MISMATCH_SERVICE_DISTRIBUTION" ) PHYSICAL_RELEASE = "PHYSICAL_RELEASE" DMS_NO_METADATA_UPDATES = "DMS_NO_METADATA_UPDATES" RELEASE_NOT_IN_CONTENT = "RELEASE_NOT_IN_CONTENT" PRODUCT_NOT_FOUND = "PRODUCT_NOT_FOUND" VENDOR_NOT_FOUND = "VENDOR_NOT_FOUND" PRODUCT_TYPE_ORDER_TYPE_MISMATCH = "PRODUCT_TYPE_ORDER_TYPE_MISMATCH" class JobEligibility(Model): """Job eligibility.""" is_eligible: bool # Allowing str for passthrough of reason from ows-carveouts reason: JobIneligibilityReason | str | None class JobDeliveryXmlPayload(Model): """Job Delivery XML Payload.""" presigned_link: str