from datetime import datetime from pydantic import BaseModel, ConfigDict, EmailStr, Field class UserBase(BaseModel): name: str email: EmailStr class UserCreate(UserBase): password: str class UserLogin(BaseModel): email: EmailStr password: str class UserRead(UserBase): model_config = ConfigDict(from_attributes=True) id: int last_login_at: datetime | None = None created_at: datetime class TokenResponse(BaseModel): token: str user: UserRead class AddressCreate(BaseModel): model_config = ConfigDict(populate_by_name=True) house_number: str = Field(alias='houseNumber') colonia: str street: str email: EmailStr | None = None class AddressRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int house_number: str colonia: str street: str user_id: int created_at: datetime