from __future__ import annotations from datetime import datetime from typing import Generic, TypeVar from pydantic import BaseModel, ConfigDict T = TypeVar("T") class ORMModel(BaseModel): model_config = ConfigDict(from_attributes=True, extra="ignore") class MessageResponse(BaseModel): message: str class Page(BaseModel, Generic[T]): items: list[T] total: int page: int page_size: int class TimeRange(BaseModel): start: datetime | None = None end: datetime | None = None class SelectOption(BaseModel): label: str value: str