Files
VoxPopuli/src/infrastructure/api/notifications/schemas.py
2026-04-29 12:28:11 -06:00

44 lines
940 B
Python

from pydantic import BaseModel
from datetime import datetime
from typing import Optional
class NotificationCreateRequest(BaseModel):
"""Solicitud para crear una notificación"""
id_usuario: int
id_reporte: str
message: str
class NotificationResponse(BaseModel):
"""Respuesta con datos de notificación"""
id_notificacion: str
id_usuario: int
id_reporte: str
message: str
fecha: datetime
read: bool
class Config:
from_attributes = True
class NotificationListResponse(BaseModel):
"""Respuesta con lista de notificaciones"""
total: int
unread_count: int
notifications: list[NotificationResponse]
class Config:
from_attributes = True
class NotificationMarkAsReadRequest(BaseModel):
"""Solicitud para marcar como leída"""
pass
class UnreadCountResponse(BaseModel):
"""Respuesta con conteo de no leídas"""
unread_count: int