adding base project
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user