volsu-contests/backend/app/schemas/user.py
2025-11-30 19:55:50 +03:00

44 lines
841 B
Python

from datetime import datetime
from pydantic import BaseModel, EmailStr
class UserCreate(BaseModel):
email: EmailStr
username: str
password: str
class UserLogin(BaseModel):
email: EmailStr
password: str
class UserUpdate(BaseModel):
username: str | None = None
full_name: str | None = None
telegram: str | None = None
vk: str | None = None
study_group: str | None = None
class UserResponse(BaseModel):
id: int
email: str
username: str
role: str
is_active: bool
created_at: datetime
full_name: str | None = None
telegram: str | None = None
vk: str | None = None
study_group: str | None = None
avatar_url: str | None = None
class Config:
from_attributes = True
class Token(BaseModel):
access_token: str
token_type: str = "bearer"