complete updating the endpoints and models

This commit is contained in:
Georges-Antoine Assi
2024-12-20 22:41:56 -05:00
parent 0850c0cbcf
commit 3fcce6606c
26 changed files with 332 additions and 201 deletions

View File

@@ -1,3 +1,5 @@
from typing import Sequence
from decorators.database import begin_session
from models.firmware import Firmware
from sqlalchemy import and_, delete, select, update
@@ -26,7 +28,7 @@ class DBFirmwareHandler(DBBaseHandler):
*,
platform_id: int | None = None,
session: Session = None,
) -> list[Firmware]:
) -> Sequence[Firmware]:
return session.scalars(
select(Firmware)
.filter_by(platform_id=platform_id)
@@ -45,7 +47,7 @@ class DBFirmwareHandler(DBBaseHandler):
@begin_session
def update_firmware(self, id: int, data: dict, session: Session = None) -> Firmware:
return session.execute(
return session.scalar(
update(Firmware)
.where(Firmware.id == id)
.values(**data)
@@ -54,7 +56,7 @@ class DBFirmwareHandler(DBBaseHandler):
@begin_session
def delete_firmware(self, id: int, session: Session = None) -> None:
return session.execute(
session.execute(
delete(Firmware)
.where(Firmware.id == id)
.execution_options(synchronize_session="evaluate")
@@ -63,7 +65,7 @@ class DBFirmwareHandler(DBBaseHandler):
@begin_session
def purge_firmware(
self, platform_id: int, fs_firmwares: list[str], session: Session = None
) -> None:
) -> Sequence[Firmware]:
purged_firmware = (
session.scalars(
select(Firmware)