vistas de ciudadano, escalar animaciones de mascota, implementacion de chatbot para concientizacion, modificacion de datos de ciudadano, modificacion de vista principal
This commit is contained in:
32
backend/app/schemas/incidents.py
Normal file
32
backend/app/schemas/incidents.py
Normal file
@@ -0,0 +1,32 @@
|
||||
from typing import Literal, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
IncidentCategory = Literal[
|
||||
"derrame", "dano_propiedad", "conducta", "no_recoleccion", "otro"
|
||||
]
|
||||
IncidentStatus = Literal["open", "in_review", "resolved"]
|
||||
|
||||
|
||||
class UnitPublic(BaseModel):
|
||||
id: int
|
||||
plate: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
|
||||
|
||||
class IncidentOut(BaseModel):
|
||||
id: int
|
||||
user_id: str
|
||||
unit_id: Optional[int] = None
|
||||
category: IncidentCategory
|
||||
description: str
|
||||
photo_url: Optional[str] = None
|
||||
status: IncidentStatus
|
||||
created_at: Optional[str] = None
|
||||
|
||||
|
||||
class IncidentCreate(BaseModel):
|
||||
"""Payload usado cuando NO se sube foto (JSON)."""
|
||||
unit_id: Optional[int] = None
|
||||
category: IncidentCategory
|
||||
description: str = Field(min_length=3, max_length=1000)
|
||||
Reference in New Issue
Block a user