Added custom extra fields to backend
No integration tests yet, TBD
This commit is contained in:
@@ -41,6 +41,7 @@ async def create(
|
||||
settings_extruder_temp: Optional[int] = None,
|
||||
settings_bed_temp: Optional[int] = None,
|
||||
color_hex: Optional[str] = None,
|
||||
extra: Optional[dict[str, str]] = None,
|
||||
) -> models.Filament:
|
||||
"""Add a new filament to the database."""
|
||||
vendor_item: Optional[models.Vendor] = None
|
||||
@@ -62,6 +63,7 @@ async def create(
|
||||
settings_extruder_temp=settings_extruder_temp,
|
||||
settings_bed_temp=settings_bed_temp,
|
||||
color_hex=color_hex,
|
||||
extra=[models.FilamentField(key=k, value=v) for k, v in (extra or {}).items()],
|
||||
)
|
||||
db.add(filament)
|
||||
await db.commit()
|
||||
@@ -131,7 +133,7 @@ async def find(
|
||||
stmt = stmt.order_by(field.desc())
|
||||
|
||||
rows = await db.execute(stmt)
|
||||
result = list(rows.scalars().all())
|
||||
result = list(rows.unique().scalars().all())
|
||||
if total_count is None:
|
||||
total_count = len(result)
|
||||
|
||||
@@ -152,6 +154,8 @@ async def update(
|
||||
filament.vendor = None
|
||||
else:
|
||||
filament.vendor = await vendor.get_by_id(db, v)
|
||||
elif k == "extra":
|
||||
filament.extra = [models.FilamentField(key=k, value=v) for k, v in v.items()]
|
||||
else:
|
||||
setattr(filament, k, v)
|
||||
await db.commit()
|
||||
|
||||
Reference in New Issue
Block a user