"""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