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
This commit is contained in:
shinra32
2026-05-23 03:58:03 -06:00
parent 45ffba69b2
commit 68d04f3917
33 changed files with 5188 additions and 643 deletions

View File

@@ -0,0 +1,91 @@
from typing import Optional, Literal
from pydantic import BaseModel, EmailStr
# ── Users ─────────────────────────────────────────────────────────────────────
class AdminUser(BaseModel):
id: str
name: Optional[str] = None
email: Optional[str] = None
phone: Optional[str] = None
role: str = "citizen"
class AdminUserCreate(BaseModel):
name: str
password: str
email: Optional[EmailStr] = None
phone: Optional[str] = None
role: Literal["citizen", "driver", "admin"] = "citizen"
class AdminUserUpdate(BaseModel):
name: Optional[str] = None
email: Optional[EmailStr] = None
role: Optional[Literal["citizen", "driver", "admin"]] = None
# ── Routes ────────────────────────────────────────────────────────────────────
class AdminRoute(BaseModel):
id: str
name: Optional[str] = None
truck_id: Optional[int] = None
turno: Optional[str] = None
status: str = "pendiente"
current_position_id: int = 1
class AdminRouteCreate(BaseModel):
id: str
name: Optional[str] = None
truck_id: Optional[int] = None
turno: Optional[Literal["matutino", "vespertino", "Matutino", "Vespertino"]] = None
status: Optional[
Literal["pendiente", "en_ruta", "completada", "diferida", "reasignada"]
] = "pendiente"
class AdminRouteUpdate(BaseModel):
name: Optional[str] = None
truck_id: Optional[int] = None
turno: Optional[Literal["matutino", "vespertino", "Matutino", "Vespertino"]] = None
status: Optional[
Literal["pendiente", "en_ruta", "completada", "diferida", "reasignada"]
] = None
# ── Units (camiones) ──────────────────────────────────────────────────────────
class AdminUnit(BaseModel):
id: int
plate: Optional[str] = None
status: str = "active"
class AdminUnitCreate(BaseModel):
id: int
plate: Optional[str] = None
status: Literal["active", "inactive", "maintenance"] = "active"
class AdminUnitUpdate(BaseModel):
plate: Optional[str] = None
status: Optional[Literal["active", "inactive", "maintenance"]] = None
# ── Drivers ───────────────────────────────────────────────────────────────────
class AdminDriver(BaseModel):
id: str
user_id: str
user_name: Optional[str] = None
user_email: Optional[str] = None
unit_id: Optional[int] = None
plate: Optional[str] = None
class AdminDriverCreate(BaseModel):
user_id: str
unit_id: Optional[int] = None
class AdminDriverUpdate(BaseModel):
unit_id: Optional[int] = None

View File

@@ -3,6 +3,7 @@ from typing import Optional, Literal
class RegisterRequest(BaseModel):
name: str
email: Optional[str] = None
phone: Optional[str] = None
password: str