LocalMate / app /users /__init__.py
Cuong2004's picture
add user endpoint + image handling
d7a7993
"""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"