"""Pydantic schemas for authentication.""" from pydantic import BaseModel, ConfigDict, EmailStr, Field class UserCreate(BaseModel): """Schema for user registration.""" email: EmailStr password: str = Field(..., min_length=8, description="Minimum 8 characters") class UserResponse(BaseModel): """Schema for user response (no password).""" id: int email: str is_active: bool model_config = ConfigDict(from_attributes=True) class Token(BaseModel): """JWT token response.""" access_token: str token_type: str = "bearer" class TokenData(BaseModel): """Decoded token data.""" user_id: int | None = None