from sqlalchemy.orm import Session from typing import List, Optional from app.io8ref.Azzu.models import Azzu from app.io8ref.Azzu.schemas import AzzuCreate, AzzuUpdate class AzzuService: def Savedata(self, db: Session, data: dict) -> Azzu: """Saves a new Azzu record.""" # Filter out id if present data_dict = {k: v for k, v in data.items() if k != "id" and hasattr(Azzu, k)} obj = Azzu(**data_dict) db.add(obj) db.commit() db.refresh(obj) return obj def getdetails(self, db: Session) -> List[Azzu]: """Returns all Azzu records.""" return db.query(Azzu).all() def getdetailsbyId(self, db: Session, id_val: int) -> Optional[Azzu]: """Returns an Azzu record by ID.""" return db.query(Azzu).filter(Azzu.id == id_val).first() def update(self, db: Session, data: dict, id_val: int) -> Optional[Azzu]: """Updates an Azzu record by ID.""" obj = self.getdetailsbyId(db, id_val) if not obj: return None for key, value in data.items(): if key != "id" and hasattr(obj, key): setattr(obj, key, value) db.commit() db.refresh(obj) return obj def delete_by_id(self, db: Session, id_val: int) -> bool: """Deletes an Azzu record by ID.""" obj = self.getdetailsbyId(db, id_val) if obj: db.delete(obj) db.commit() return True return False Service = AzzuService()