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-03 16:56:54 +06:00

47 lines
1.0 KiB
Python

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