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

Fix database

This commit is contained in:
MoonTestUse1
2025-01-07 05:26:33 +06:00
parent d9e276ad6b
commit bdf4ae9d70
29 changed files with 727 additions and 531 deletions

View File

@@ -1,9 +1,10 @@
"""Schemas package"""
from .employee import Employee, EmployeeCreate, EmployeeUpdate
from .request import Request, RequestCreate, RequestUpdate
from .auth import Token, TokenData
from .auth import Token, TokenData, LoginCredentials
__all__ = [
'Employee', 'EmployeeCreate', 'EmployeeUpdate',
'Request', 'RequestCreate', 'RequestUpdate',
'Token', 'TokenData'
'Token', 'TokenData', 'LoginCredentials'
]

View File

@@ -1,32 +1,18 @@
"""Authentication schemas"""
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
first_name: str
last_name: str
department: str
office: str
access_token: str
from pydantic import BaseModel
from typing import Optional
class Token(BaseModel):
"""Token schema"""
access_token: str
token_type: str
class TokenData(BaseModel):
employee_id: int | None = None
"""Token data schema"""
employee_id: Optional[int] = None
is_admin: bool = False
model_config = ConfigDict(from_attributes=True)
class LoginCredentials(BaseModel):
"""Login credentials schema"""
username: str # В формате "Имя Фамилия"
password: str

View File

@@ -1,31 +1,33 @@
"""Employee schemas"""
from pydantic import BaseModel, ConfigDict
from pydantic import BaseModel
from datetime import datetime
from typing import Optional
class EmployeeBase(BaseModel):
"""Base employee schema"""
first_name: str
last_name: str
department: str
office: str
is_admin: bool = False
model_config = ConfigDict(from_attributes=True)
class EmployeeCreate(EmployeeBase):
"""Employee creation schema"""
password: str
class EmployeeUpdate(BaseModel):
"""Employee update schema"""
first_name: Optional[str] = None
last_name: Optional[str] = None
department: Optional[str] = None
office: Optional[str] = None
is_admin: Optional[bool] = None
model_config = ConfigDict(from_attributes=True)
class Employee(EmployeeBase):
"""Employee schema"""
id: int
is_active: bool
created_at: datetime
model_config = ConfigDict(from_attributes=True)
class Config:
"""Pydantic config"""
from_attributes = True

View File

@@ -8,6 +8,6 @@ class Token(BaseModel):
model_config = ConfigDict(from_attributes=True)
class TokenData(BaseModel):
user_id: int | None = None
employee_id: int | None = None
model_config = ConfigDict(from_attributes=True)