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

Testing workable

This commit is contained in:
MoonTestUse1
2025-02-07 00:43:33 +06:00
parent 8543d7fe88
commit 6db95a5eb0
37 changed files with 911 additions and 454 deletions

View File

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

View File

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

View File

@@ -1,33 +1,32 @@
"""Employee schemas"""
from pydantic import BaseModel
from pydantic import BaseModel, ConfigDict
from datetime import datetime
from typing import Optional
class EmployeeBase(BaseModel):
"""Base employee schema"""
first_name: str
last_name: str
email: str
full_name: str
department: str
office: str
is_active: bool = True
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
email: Optional[str] = None
full_name: Optional[str] = None
department: Optional[str] = None
office: Optional[str] = None
password: Optional[str] = None
is_active: Optional[bool] = 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
class Config:
"""Pydantic config"""
from_attributes = True
model_config = ConfigDict(from_attributes=True)

View File

@@ -1,30 +1,29 @@
"""Request schemas"""
from pydantic import BaseModel
from datetime import datetime
from pydantic import BaseModel, ConfigDict
from typing import Optional
from ..models.request import RequestStatus, RequestPriority, RequestType
from datetime import datetime
from ..models.request import RequestStatus, RequestPriority
class RequestBase(BaseModel):
"""Base request schema"""
request_type: RequestType
request_type: str
description: str
priority: RequestPriority = RequestPriority.MEDIUM
priority: RequestPriority
model_config = ConfigDict(from_attributes=True)
class RequestCreate(RequestBase):
"""Request create schema"""
pass
class RequestUpdate(BaseModel):
status: RequestStatus
model_config = ConfigDict(from_attributes=True)
class Request(RequestBase):
"""Request schema"""
id: int
status: RequestStatus
created_at: datetime
employee_id: int
department: Optional[str] = None
created_at: datetime
class Config:
"""Pydantic config"""
from_attributes = True
class RequestUpdate(BaseModel):
"""Request update schema"""
status: RequestStatus
model_config = ConfigDict(from_attributes=True)

View File

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