Files
notytex/backend/schemas/common.py
Bertrand Benjamin 2b08eb534a Migration v1 (Flask) -> v2 (FastAPI + Vue.js) complétée
 Changements majeurs:
- Suppression complète du code Flask legacy
- Migration backend FastAPI vers racine /backend
- Migration frontend Vue.js vers racine /frontend
- Suppression de notytex-v2/ (code monté à la racine)

 Validations:
- Backend démarre correctement (port 8000)
- API /api/v2/health répond healthy
- 99/99 tests unitaires passent
- Frontend configuré avec proxy Vite

📝 Documentation:
- README.md réécrit pour v2
- Instructions de démarrage mises à jour
- .gitignore adapté pour backend/frontend/

🎯 Architecture finale:
notytex/
├── backend/     # FastAPI + SQLAlchemy + Pydantic
├── frontend/    # Vue 3 + Vite + TailwindCSS
├── docs/        # Documentation
└── school_management.db  # Base de données (inchangée)

Jalon 6 complété: Application v2 prête pour utilisation!
2025-11-25 21:09:47 +01:00

39 lines
704 B
Python

"""
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