"""Pydantic request and response models.""" from __future__ import annotations from typing import Any from pydantic import BaseModel, Field class JoinRequest(BaseModel): student_id: str = Field(min_length=1, max_length=80) name: str = Field(min_length=1, max_length=120) class AdminLoginRequest(BaseModel): password: str class QuizCreateRequest(BaseModel): title: str | None = None pool_json: dict[str, Any] | str time_limit_default: int | None = None class SessionCreateRequest(BaseModel): quiz_id: int class SubmitMessage(BaseModel): type: str question_idx: int answer: str