Archived
32 lines
710 B
Python
32 lines
710 B
Python
from datetime import datetime
|
||
|
||
from pydantic import BaseModel, ConfigDict, EmailStr, Field
|
||
|
||
from .models import UserRole
|
||
|
||
|
||
class UserCreate(BaseModel):
|
||
"""Данные для регистрации пользователя."""
|
||
|
||
email: EmailStr
|
||
password: str = Field(min_length=12, max_length=128)
|
||
|
||
|
||
class UserOut(BaseModel):
|
||
"""Публичное представление пользователя без пароля."""
|
||
|
||
model_config = ConfigDict(from_attributes=True)
|
||
|
||
id: int
|
||
email: EmailStr
|
||
role: UserRole
|
||
is_active: bool
|
||
created_at: datetime
|
||
|
||
|
||
class TokenOut(BaseModel):
|
||
"""Ответ с access token."""
|
||
|
||
access_token: str
|
||
token_type: str = "bearer"
|