""" Focolari Voting System - Modelli Pydantic """ from typing import Optional, Literal from pydantic import BaseModel class LoginRequest(BaseModel): """Richiesta login validatore""" badge: str password: str class EntryRequest(BaseModel): """Richiesta ingresso partecipante""" user_badge: str validator_password: str class UserResponse(BaseModel): """Risposta dati utente""" badge_code: str nome: str cognome: str url_foto: str ruolo: Literal["Convocato", "Invitato", "Tecnico", "Staff"] ammesso: bool warning: Optional[str] = None class RoomInfoResponse(BaseModel): """Risposta info sala""" room_name: str meeting_id: str server_start_time: int # Timestamp avvio server per invalidare sessioni class LoginResponse(BaseModel): """Risposta login""" success: bool message: str class EntryResponse(BaseModel): """Risposta richiesta ingresso (asettica, senza welcome_message)""" success: bool message: str