1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
Files
AdministrationItDepartmens/backend/app/schemas/request.py
2025-01-05 06:32:34 +06:00

42 lines
1.0 KiB
Python

"""Request schemas."""
from pydantic import BaseModel, ConfigDict
from datetime import datetime
from typing import Optional
from enum import Enum
class RequestPriority(str, Enum):
"""Request priority enum."""
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
class RequestStatus(str, Enum):
"""Request status enum."""
NEW = "new"
IN_PROGRESS = "in_progress"
COMPLETED = "completed"
REJECTED = "rejected"
class RequestBase(BaseModel):
"""Request base schema."""
model_config = ConfigDict(from_attributes=True)
request_type: str
description: str
priority: RequestPriority
class RequestCreate(RequestBase):
"""Request create schema."""
pass
class RequestUpdate(BaseModel):
"""Request update schema."""
model_config = ConfigDict(from_attributes=True)
status: RequestStatus
class Request(RequestBase):
"""Request schema."""
id: int
employee_id: int
status: RequestStatus
created_at: datetime
updated_at: Optional[datetime] = None