mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
Testing workable
This commit is contained in:
@@ -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'
|
||||
]
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user