Code source de modules.crud

from sqlalchemy.orm import Session

from maths import mon_module  # On importe notre "Chef cuisinier"
from models.models import OperationCreate, OperationDB


[docs] def create_operation(db: Session, op: OperationCreate): """Orchestre le calcul et la sauvegarde en base de données.""" # 1. Le Calcul (Appel au module métier) if op.type_op == "add": res = mon_module.add(op.valeur1, op.valeur2) elif op.type_op == "sub": res = mon_module.sub(op.valeur1, op.valeur2) elif op.type_op == "square": # NOUVEAU : On utilise la fonction 'square' de ton VRAI mon_module.py # Le carré ne prend qu'un seul paramÚtre, on ignore donc valeur2 res = mon_module.square(op.valeur1) else: # On lÚve une erreur Python standard si l'opération est inconnue raise ValueError(f"Opération '{op.type_op}' non supportée.") # 2. La Sauvegarde en BDD nouvelle_op_db = OperationDB(**op.model_dump(), resultat=res) db.add(nouvelle_op_db) db.commit() db.refresh(nouvelle_op_db) return nouvelle_op_db
[docs] def get_all_operations(db: Session): """ RécupÚre l'intégralité de l'historique des opérations sauvegardées dans la base de données. """ # SQLAlchemy traduit cette ligne en un classique "SELECT * FROM operations;" # .all() renvoie la liste complÚte des résultats return db.query(OperationDB).all()