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"