""" Schemas Pydantic communs. """ from datetime import date, datetime from typing import Optional from pydantic import BaseModel, ConfigDict class BaseSchema(BaseModel): """Base schema avec configuration commune.""" model_config = ConfigDict( from_attributes=True, populate_by_name=True, ) class PaginationParams(BaseModel): """Paramètres de pagination.""" page: int = 1 per_page: int = 20 @property def offset(self) -> int: return (self.page - 1) * self.per_page class PaginatedResponse(BaseModel): """Réponse paginée générique.""" items: list total: int page: int per_page: int pages: int