Files
hackathon-innovaflow5.0-cdf…/backend/app/schemas/feedback.py

29 lines
885 B
Python

"""Esquemas Pydantic para retroalimentación ciudadana."""
from typing import Optional
from pydantic import BaseModel, Field
class FeedbackCreate(BaseModel):
"""Cuerpo enviado por el ciudadano al crear una queja/sugerencia.
Importante: NUNCA se acepta driver_id; solo el número de la unidad.
"""
address_id: Optional[str] = None # UUID
type: str = Field(min_length=1, max_length=40)
rating: int = Field(ge=1, le=5)
# Llega como string ("101") desde Flutter; Pydantic lo coacciona a int.
target_unit_id: Optional[int] = None
message: Optional[str] = Field(default=None, max_length=1000)
class FeedbackOut(BaseModel):
id: str
user_id: str
address_id: Optional[str] = None
type: str
target_unit_id: Optional[int] = None
message: Optional[str] = None
rating: Optional[int] = None
created_at: Optional[str] = None