groupe-meditation/backend/app/schemas/phase2.py
2026-03-04 14:01:00 -05:00

63 lines
1.4 KiB
Python

"""Schémas Phase 2 — Consultation."""
from pydantic import BaseModel
from datetime import date, datetime
from uuid import UUID
from typing import Optional
# ── C5 Décisions ──
class DecisionCreate(BaseModel):
sujet: str
description: Optional[str] = None
statut: str = "en_attente"
responsable_id: Optional[UUID] = None
proposeur: Optional[str] = None
secondeur: Optional[str] = None
date_decision: date
reunion_id: Optional[UUID] = None
class DecisionOut(BaseModel):
id: UUID
sujet: str
description: Optional[str] = None
statut: str
responsable_prenom: Optional[str] = None
proposeur: Optional[str] = None
secondeur: Optional[str] = None
date_decision: date
date_completion: Optional[date] = None
cree_le: datetime
model_config = {"from_attributes": True}
class DecisionUpdate(BaseModel):
statut: Optional[str] = None
description: Optional[str] = None
responsable_id: Optional[UUID] = None
date_completion: Optional[date] = None
# ── C2 Calendrier district ──
class CalendrierEntry(BaseModel):
groupe_nom: str
groupe_id: UUID
jour_reunion: Optional[str] = None
poste_nom: str
membre_prenom: str
date_debut: date
# ── C1 Rapports PDF ──
class RapportRequest(BaseModel):
type: str # finances, pv, rsg
mois: int
annee: int
class RapportOut(BaseModel):
type: str
mois: int
annee: int
url: str