update: overhauled firmware ui. Added public flash page.
This commit is contained in:
@@ -5,23 +5,34 @@ from database import get_db
|
||||
logger = logging.getLogger("builder.database")
|
||||
|
||||
|
||||
async def insert_built_melody(melody_id: str, name: str, pid: str, steps: str) -> None:
|
||||
async def insert_built_melody(melody_id: str, name: str, pid: str, steps: str, is_builtin: bool = False) -> None:
|
||||
db = await get_db()
|
||||
await db.execute(
|
||||
"""INSERT INTO built_melodies (id, name, pid, steps, assigned_melody_ids)
|
||||
VALUES (?, ?, ?, ?, ?)""",
|
||||
(melody_id, name, pid, steps, json.dumps([])),
|
||||
"""INSERT INTO built_melodies (id, name, pid, steps, assigned_melody_ids, is_builtin)
|
||||
VALUES (?, ?, ?, ?, ?, ?)""",
|
||||
(melody_id, name, pid, steps, json.dumps([]), 1 if is_builtin else 0),
|
||||
)
|
||||
await db.commit()
|
||||
|
||||
|
||||
async def update_built_melody(melody_id: str, name: str, pid: str, steps: str) -> None:
|
||||
async def update_built_melody(melody_id: str, name: str, pid: str, steps: str, is_builtin: bool = False) -> None:
|
||||
db = await get_db()
|
||||
await db.execute(
|
||||
"""UPDATE built_melodies
|
||||
SET name = ?, pid = ?, steps = ?, updated_at = datetime('now')
|
||||
SET name = ?, pid = ?, steps = ?, is_builtin = ?, updated_at = datetime('now')
|
||||
WHERE id = ?""",
|
||||
(name, pid, steps, melody_id),
|
||||
(name, pid, steps, 1 if is_builtin else 0, melody_id),
|
||||
)
|
||||
await db.commit()
|
||||
|
||||
|
||||
async def update_builtin_flag(melody_id: str, is_builtin: bool) -> None:
|
||||
db = await get_db()
|
||||
await db.execute(
|
||||
"""UPDATE built_melodies
|
||||
SET is_builtin = ?, updated_at = datetime('now')
|
||||
WHERE id = ?""",
|
||||
(1 if is_builtin else 0, melody_id),
|
||||
)
|
||||
await db.commit()
|
||||
|
||||
@@ -68,6 +79,7 @@ async def get_built_melody(melody_id: str) -> dict | None:
|
||||
return None
|
||||
row = dict(rows[0])
|
||||
row["assigned_melody_ids"] = json.loads(row["assigned_melody_ids"] or "[]")
|
||||
row["is_builtin"] = bool(row.get("is_builtin", 0))
|
||||
return row
|
||||
|
||||
|
||||
@@ -80,6 +92,7 @@ async def list_built_melodies() -> list[dict]:
|
||||
for row in rows:
|
||||
r = dict(row)
|
||||
r["assigned_melody_ids"] = json.loads(r["assigned_melody_ids"] or "[]")
|
||||
r["is_builtin"] = bool(r.get("is_builtin", 0))
|
||||
results.append(r)
|
||||
return results
|
||||
|
||||
|
||||
Reference in New Issue
Block a user