"""User Profile models.""" from datetime import datetime from pydantic import BaseModel, Field class ProfileBase(BaseModel): """Base profile fields.""" full_name: str = Field(default="", description="User's full name") phone: str | None = Field(None, description="Phone number") locale: str = Field(default="vi_VN", description="Locale setting") avatar_url: str | None = Field(None, description="Avatar URL") class ProfileCreate(ProfileBase): """Create profile request (usually auto-created on signup).""" pass class ProfileUpdate(BaseModel): """Update profile request - all fields optional.""" full_name: str | None = None phone: str | None = None locale: str | None = None avatar_url: str | None = None class Profile(ProfileBase): """Full profile response.""" id: str = Field(..., description="User ID (UUID)") role: str = Field(default="tourist", description="User role: tourist, driver, admin") created_at: datetime updated_at: datetime class Config: from_attributes = True class ProfileResponse(BaseModel): """API response wrapper.""" profile: Profile message: str = "Success"