Dagemark-Backend/app/logic/service_logic.py
2026-08-10 23:11:21 +02:00

50 lines
1.1 KiB
Python

from sqlmodel import inspect
from app.database import (
add_to_database,
delete_from_database_where,
get_from_database,
get_from_database_where_id,
update_database_where,
)
from app.models.service import Service
def get_all():
return get_from_database(Service)
def get_by_id(service_id: int):
return get_from_database_where_id(Service, service_id)
def create(service: Service):
add_to_database(service)
return service
def update(
service_id: int,
update_attribute: str,
new_value: int | str | None,
):
if update_attribute not in inspect(Service).attrs:
raise ValueError(f"Invalid attribute: {update_attribute}")
attribute = getattr(Service, update_attribute)
return update_database_where(
Service,
Service.id, # type: ignore (Type correct on runtime)
service_id,
attribute,
new_value,
)
def delete(service_id: int):
return delete_from_database_where(
Service,
Service.id, # type: ignore (Type correct on runtime)
service_id,
)