from pydantic import BaseModel, EmailStr, Field from typing import Optional class LoginSchema(BaseModel): email: EmailStr password: str device_fingerprint: Optional[str] = None latitude: Optional[float] = None longitude: Optional[float] = None location_name: Optional[str] = None class TokenResponseSchema(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" class PasswordResetRequest(BaseModel): email: EmailStr class PasswordResetConfirm(BaseModel): email: EmailStr otp: str = Field(..., min_length=6, max_length=6) new_password: str