diff --git a/backend/app/schemas/ownership_queue_schema.py b/backend/app/schemas/ownership_queue_schema.py index a336f0f..9796434 100644 --- a/backend/app/schemas/ownership_queue_schema.py +++ b/backend/app/schemas/ownership_queue_schema.py @@ -100,6 +100,28 @@ class QueueItemCreate(BaseModel): assigned_to: Optional[UUID] = None due_date: Optional[datetime] = None + @field_validator("reason") + @classmethod + def validate_reason(cls, v): + from app.models.ownership_queue import QueueReason + try: + QueueReason(v) + except ValueError: + valid = [e.value for e in QueueReason] + raise ValueError(f"Invalid reason '{v}'. Must be one of: {valid}") + return v + + @field_validator("priority") + @classmethod + def validate_priority(cls, v): + from app.models.ownership_queue import QueuePriority + try: + QueuePriority(v) + except ValueError: + valid = [e.value for e in QueuePriority] + raise ValueError(f"Invalid priority '{v}'. Must be one of: {valid}") + return v + class QueueItemOut(BaseModel): model_config = ConfigDict(from_attributes=True)