from pydantic import BaseModel, EmailStr from typing import Optional, Literal class RegisterRequest(BaseModel): email: Optional[str] = None phone: Optional[str] = None password: str role: Literal["citizen", "driver", "admin"] = "citizen" class LoginRequest(BaseModel): email: Optional[str] = None phone: Optional[str] = None password: str class TokenResponse(BaseModel): access_token: str token_type: str = "bearer" user_id: str role: str