Backend - schemas.py

Schémas Pydantic pour validation des données (35 lignes).

Code Source

# Imports pour la validation et la sérialisation des données avec Pydantic
from pydantic import BaseModel
from datetime import datetime
from typing import Optional
 
# Schéma de réponse après l'upload d'un fichier
# Retourné par l'API pour confirmer le succès de l'upload
class FileUploadResponse(BaseModel):
    id: int               # ID du fichier dans la base de données
    filename: str         # Nom original du fichier
    message: str          # Message de confirmation
    upload_date: datetime # Date et heure de l'upload
    file_size: int        # Taille du fichier en octets
    rows_count: int       # Nombre de lignes dans le fichier
    
    # Configuration Pydantic pour permettre la conversion depuis les modèles SQLAlchemy
    class Config:
        from_attributes = True  # Permet de créer un schéma depuis un objet ORM
 
# Schéma complet d'information sur un fichier
# Utilisé pour lister et afficher les détails d'un fichier
class FileInfo(BaseModel):
    id: int                  # ID unique du fichier
    filename: str            # Nom original du fichier
    stored_filename: str     # Nom stocké avec timestamp
    file_size: int           # Taille en octets
    user_type: str           # Type d'utilisateur (metier, partenaire, particulier)
    user_name: str           # Nom de l'utilisateur
    rows_count: int          # Nombre de lignes
    columns_count: int       # Nombre de colonnes
    upload_date: datetime    # Date et heure de l'upload
    
    # Configuration Pydantic pour permettre la conversion depuis les modèles SQLAlchemy
    class Config:
        from_attributes = True  # Permet de créer un schéma depuis un objet ORM

Télécharger

Télécharger schemas.py