39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from app import db
|
|
from typing import List
|
|
from .model import Fizzbar
|
|
from .interface import FizzbarInterface
|
|
|
|
|
|
class FizzbarService:
|
|
@staticmethod
|
|
def get_all() -> List[Fizzbar]:
|
|
return Fizzbar.query.all()
|
|
|
|
@staticmethod
|
|
def get_by_id(fizzbar_id: int) -> Fizzbar:
|
|
return Fizzbar.query.get(fizzbar_id)
|
|
|
|
@staticmethod
|
|
def update(fizzbar: Fizzbar, Fizzbar_change_updates: FizzbarInterface) -> Fizzbar:
|
|
fizzbar.update(Fizzbar_change_updates)
|
|
db.session.commit()
|
|
return fizzbar
|
|
|
|
@staticmethod
|
|
def delete_by_id(fizzbar_id: int) -> List[int]:
|
|
fizzbar = Fizzbar.query.filter(Fizzbar.fizzbar_id == fizzbar_id).first()
|
|
if not fizzbar:
|
|
return []
|
|
db.session.delete(fizzbar)
|
|
db.session.commit()
|
|
return [fizzbar_id]
|
|
|
|
@staticmethod
|
|
def create(new_attrs: FizzbarInterface) -> Fizzbar:
|
|
new_fizzbar = Fizzbar(name=new_attrs["name"], purpose=new_attrs["purpose"])
|
|
|
|
db.session.add(new_fizzbar)
|
|
db.session.commit()
|
|
|
|
return new_fizzbar
|