bLOQUE p1 BACKEND Y SEGURIDAD, AUTENTICACION CON SUPABASE. jwt. RBAC CRUD
This commit is contained in:
0
backend/app/schemas/__init__.py
Normal file
0
backend/app/schemas/__init__.py
Normal file
21
backend/app/schemas/addresses.py
Normal file
21
backend/app/schemas/addresses.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class AddressCreate(BaseModel):
|
||||
label: str
|
||||
calle: str
|
||||
colonia: str # el backend deriva route_id a partir de colonias-rutas.json
|
||||
|
||||
|
||||
class AddressResponse(BaseModel):
|
||||
id: str
|
||||
user_id: str
|
||||
label: str
|
||||
calle: str
|
||||
colonia: str
|
||||
route_id: str
|
||||
verified: bool
|
||||
verified_method: Optional[str] = None
|
||||
verified_at: Optional[str] = None
|
||||
created_at: Optional[str] = None
|
||||
22
backend/app/schemas/auth.py
Normal file
22
backend/app/schemas/auth.py
Normal file
@@ -0,0 +1,22 @@
|
||||
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
|
||||
8
backend/app/schemas/colonias.py
Normal file
8
backend/app/schemas/colonias.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class ColoniaResponse(BaseModel):
|
||||
colonia: str
|
||||
routeId: str
|
||||
turno: str | None = None
|
||||
horario_estimado: str | None = None
|
||||
Reference in New Issue
Block a user