from pydantic import BaseModel, EmailStr from typing import Optional from datetime import datetime class UserBase(BaseModel): email: EmailStr full_name: str phone_number: Optional[str] = None country: Optional[str] = None class UserCreate(UserBase): password: str class UserUpdate(BaseModel): full_name: Optional[str] = None phone_number: Optional[str] = None country: Optional[str] = None class UserResponse(UserBase): id: int is_active: bool is_verified: bool kyc_level: int created_at: datetime class Config: from_attributes = True class UserLogin(BaseModel): email: EmailStr password: str class Token(BaseModel): access_token: str token_type: str class TokenData(BaseModel): email: Optional[str] = None