Files
hackathon-innovaflow5.0-cdf…/backend/app/schemas/auth.py
shinra32 68d04f3917 Co-authored-by: eddgranados12 <eddgranados12@users.noreply.github.com>
Co-authored-by: MENDOZA BALLARDO GAEL RICARDO <gael-meb123@users.noreply.github.com>
Co-authored-by: Azareth-Tr <Azareth-Tr@users.noreply.github.com>

modificacion de vistas panel admin, login, animaciones y implementacion de mascota
2026-05-23 03:58:03 -06:00

33 lines
987 B
Python

from pydantic import BaseModel, EmailStr
from typing import Optional, Literal
class RegisterRequest(BaseModel):
name: str
email: Optional[str] = None
phone: Optional[str] = None
password: str
role: Literal["citizen", "driver", "admin"] = "citizen"
# Dirección inicial (opcional, se guarda en el mismo request para evitar un segundo HTTP call)
address_label: Optional[str] = None
address_calle: Optional[str] = None
address_colonia: Optional[str] = None
address_lat: Optional[float] = None
address_lng: Optional[float] = None
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
# route_id se incluye opcionalmente para ciudadanos; permite al cliente
# suscribirse al topic correcto inmediatamente después del login.
route_id: Optional[str] = None