Hinweise und Spezialisierung je Version: im Lauf sichtbar, bei „Neue Version“ änderbar
Eingaben liegen jetzt in vN/state.json; alte Versionen ohne eigene Eingaben nehmen die des Themas. „Neue Version“ öffnet ein Formular mit den bisherigen Werten, Thema bleibt fest. Zurücksetzen behält die Eingaben. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,11 @@ class ThemaNeu(BaseModel):
|
||||
spezialisierung: str = ""
|
||||
|
||||
|
||||
class VersionNeu(BaseModel):
|
||||
hinweise: str | None = None # None: wie die bisherige Version
|
||||
spezialisierung: str | None = None
|
||||
|
||||
|
||||
class Position(BaseModel):
|
||||
abschnitt: str | None = None
|
||||
lesemodus: str | int | None = None # neu: key des Bildschirms, alt: Index
|
||||
@@ -104,9 +109,10 @@ async def thema_loeschen(slug: str):
|
||||
|
||||
|
||||
@app.post("/api/themen/{slug}/versionen")
|
||||
async def version_anlegen(slug: str):
|
||||
"""Neue Version: gleiche Eingaben, frischer Lauf, ohne Wissen über die Vorgänger."""
|
||||
key = state.version_anlegen(_thema(slug)["name"])
|
||||
async def version_anlegen(slug: str, body: VersionNeu | None = None):
|
||||
"""Neue Version: frischer Lauf ohne Wissen über die Vorgänger; Hinweise und Spezialisierung wahlweise geändert."""
|
||||
b = body or VersionNeu()
|
||||
key = state.version_anlegen(_thema(slug)["name"], b.hinweise, b.spezialisierung)
|
||||
return {"v": int(key.rsplit("/v", 1)[1])}
|
||||
|
||||
|
||||
@@ -115,7 +121,8 @@ async def zustand(slug: str, n: int):
|
||||
key = _key(slug, n)
|
||||
t = _thema(slug)
|
||||
st = state.zustand(key)
|
||||
return {"slug": slug, "name": t["name"], "version": n, "titel": t["titel"], "hinweise": t.get("hinweise", ""), "spezialisierung": t.get("spezialisierung", ""), **st,
|
||||
h, sp = state.eingaben(key)
|
||||
return {"slug": slug, "name": t["name"], "version": n, "titel": t["titel"], **st, "hinweise": h, "spezialisierung": sp,
|
||||
"deutung": st.get("deutung") or state.deutung(key), "ereignisse": st["ereignisse"][-100:]}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user