"""Schémas Phase 6 — Littérature : inventaire, vente, ajustement.""" from pydantic import BaseModel from datetime import date, datetime from uuid import UUID from typing import Optional # ── Littérature (inventaire) ── class LitteratureCreate(BaseModel): titre: str categorie: str # livre, brochure, depliant, pamphlet prix_coutant: Optional[float] = None quantite_stock: int = 0 seuil_commande: int = 2 code_bsg: Optional[str] = None class LitteratureOut(BaseModel): id: UUID titre: str categorie: str prix_coutant: Optional[float] = None quantite_stock: int seuil_commande: int code_bsg: Optional[str] = None stock_bas: bool = False modifie_le: datetime model_config = {"from_attributes": True} class LitteratureUpdate(BaseModel): titre: Optional[str] = None categorie: Optional[str] = None prix_coutant: Optional[float] = None seuil_commande: Optional[int] = None code_bsg: Optional[str] = None # ── M5 Ajuster inventaire ── class AjustementStock(BaseModel): quantite: int # positif = ajout, négatif = retrait # ── S3 Vente littérature ── class VenteCreate(BaseModel): litterature_id: UUID reunion_id: Optional[UUID] = None quantite: int montant: float date_vente: date vendu_par_id: Optional[UUID] = None class VenteOut(BaseModel): id: UUID litterature_titre: str quantite: int montant: float date_vente: date vendu_par_prenom: Optional[str] = None remis_tresorier: bool = False cree_le: datetime model_config = {"from_attributes": True}