from pydantic import BaseModel, EmailStr, Field from typing import Optional from datetime import datetime from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select class UserBase(BaseModel): """Base model for user data.""" email: EmailStr first_name: str last_name: str class UserCreate(UserBase): """Model for creating a new user.""" password: str class User(UserBase): """Model for user response.""" id: str created_at: datetime is_active: bool class Config: from_attributes = True class UserLogin(BaseModel): email: EmailStr password: str class UserOut(BaseModel): id: str email: EmailStr first_name: str last_name: str class Config: from_attributes = True