Files
authsec_firstAPI/app/io8ref/Azzu/services.py
T
2026-10-25 23:11:19 +05:30

47 lines
1.5 KiB
Python

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()