update
This commit is contained in:
@@ -764,14 +764,18 @@ async def list_bausteine(topic: str, status: str | None = None) -> list[dict]:
|
||||
return out
|
||||
|
||||
|
||||
async def set_baustein_status(topic: str, titel_norm: str, status: str, titel: str | None = None, beschreibung: str | None = None) -> None:
|
||||
"""Status setzen; optional Titel/Beschreibung aktualisieren (z.B. nach semantischem Merge)."""
|
||||
async def set_baustein_status(topic: str, titel_norm: str, status: str, titel: str | None = None, beschreibung: str | None = None, neu_norm: str | None = None) -> None:
|
||||
"""Status setzen; optional Titel/Beschreibung aktualisieren (z.B. nach semantischem Merge).
|
||||
`neu_norm` benennt den Norm-Schlüssel um (Klärung: Verweis-Titel → sprechender Name). Nur
|
||||
sicher, solange noch keine Subbausteine/Fakten am alten `titel_norm` hängen."""
|
||||
db = await get_db()
|
||||
fields = {"status": status, "updated_at": _now()}
|
||||
if titel is not None:
|
||||
fields["titel"] = titel
|
||||
if beschreibung is not None:
|
||||
fields["beschreibung"] = beschreibung
|
||||
if neu_norm is not None and neu_norm != titel_norm:
|
||||
fields["titel_norm"] = neu_norm
|
||||
sets = ", ".join(f"{k} = :{k}" for k in fields)
|
||||
await db.execute(
|
||||
f"UPDATE bausteine SET {sets} WHERE topic = :topic AND titel_norm = :titel_norm",
|
||||
|
||||
Reference in New Issue
Block a user