1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

Добавления тестов бекенда

This commit is contained in:
MoonTestUse1
2025-01-02 04:30:51 +06:00
parent 7729acaa09
commit 01677cf5df
16 changed files with 903 additions and 328 deletions

View File

@@ -1,13 +1,17 @@
"""Authentication schemas"""
from pydantic import BaseModel
from pydantic import BaseModel, ConfigDict
class AdminLogin(BaseModel):
username: str
password: str
model_config = ConfigDict(from_attributes=True)
class EmployeeLogin(BaseModel):
last_name: str
password: str
model_config = ConfigDict(from_attributes=True)
class EmployeeResponse(BaseModel):
id: int

View File

@@ -1,20 +1,24 @@
"""Employee schemas"""
from pydantic import BaseModel
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, ConfigDict
class EmployeeBase(BaseModel):
first_name: str
last_name: str
department: str
office: str
model_config = ConfigDict(from_attributes=True)
class EmployeeCreate(EmployeeBase):
password: str
class EmployeeResponse(EmployeeBase):
id: int
created_at: datetime
class EmployeeUpdate(BaseModel):
first_name: str | None = None
last_name: str | None = None
department: str | None = None
office: str | None = None
model_config = ConfigDict(from_attributes=True)
class Config:
from_attributes = True
class EmployeeResponse(EmployeeBase):
id: int

View File

@@ -1,23 +1,45 @@
"""Request schemas"""
from pydantic import BaseModel
from datetime import datetime
from typing import Optional
from ..models.request import RequestStatus, RequestPriority
from enum import Enum
from pydantic import BaseModel, ConfigDict
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):
employee_id: int
department: str
request_type: str
priority: RequestPriority
title: str
description: str
priority: RequestPriority
model_config = ConfigDict(from_attributes=True)
class RequestCreate(RequestBase):
pass
class RequestUpdate(BaseModel):
status: RequestStatus
model_config = ConfigDict(from_attributes=True)
class RequestResponse(RequestBase):
id: int
status: RequestStatus
created_at: datetime
employee_id: int
class Config:
from_attributes = True
class RequestStatistics(BaseModel):
total: int
new: int
in_progress: int
completed: int
rejected: int
model_config = ConfigDict(from_attributes=True)

View File

@@ -1,12 +1,14 @@
"""Database table schemas"""
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Enum
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from ..database import Base
import enum
"""Table schemas"""
from pydantic import BaseModel, ConfigDict
class RequestStatus(str, enum.Enum):
new = "new"
in_progress = "in_progress"
resolved = "resolved"
closed = "closed"
class TableBase(BaseModel):
name: str
description: str
model_config = ConfigDict(from_attributes=True)
class TableCreate(TableBase):
pass
class TableResponse(TableBase):
id: int