"""Modèle de données pour les messages Pronote.""" from __future__ import annotations from datetime import datetime from enum import StrEnum from pydantic import BaseModel, ConfigDict, Field class MessageType(StrEnum): """Type de message Pronote.""" DISCUSSION = "discussion" INFORMATION = "information" SURVEY = "survey" class Message(BaseModel): """Représente un message ou une information Pronote.""" model_config = ConfigDict(frozen=True) id: str = Field(..., description="Identifiant unique") type: MessageType = Field(..., description="Type de message") title: str = Field(..., description="Titre") content: str = Field(..., description="Contenu") author: str = Field(..., description="Auteur") date: datetime = Field(..., description="Date de création") read: bool = Field(False, description="Lu ou non")