Interner Zugang auffindbar + Owner kann eigenen Code selbst aendern

- Footer hat jetzt einen eigenen Block "Intern" mit Links zum
  Bewerbungs-Postfach und zu Zugaenge & Rollen (vorher nur ein
  winziger Link ganz unten)
- Postfach-Login verlinkt auf die Zugaenge-Seite
- Neue Tabelle app_settings + Endpunkt /admin/owner/set-code:
  der Hauptadministrator kann seinen Code selbst aendern, mit
  Bestaetigung des aktuellen Codes; gespeichert wird nur der Hash
- Neuer Tab "Mein Zugang" in zugaenge.html (nur fuer den Owner)

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-07-31 02:19:36 +02:00
co-authored by Claude Opus 5
parent 0e1f2fbdc4
commit 597988a9a2
8 changed files with 140 additions and 5 deletions
+2 -1
View File
@@ -23,7 +23,7 @@
===================================================================== */
import { json, corsHeaders } from "./lib/http.js";
import { requireSession } from "./lib/auth.js";
import { login, logout } from "./routes/auth.js";
import { login, logout, setOwnerCode } from "./routes/auth.js";
import {
listRoles, createRole, updateRole, deleteRole,
} from "./routes/roles.js";
@@ -59,6 +59,7 @@ async function handleLiveStatusSet(request, env, session) {
// Routen, die eine gültige Session brauchen. `session` wird injiziert.
const AUTHED_ROUTES = {
"POST /auth/logout": (req, env) => logout(req, env),
"POST /admin/owner/set-code": (req, env, session) => setOwnerCode(req, env, session),
"POST /live-status/set": (req, env, session) => handleLiveStatusSet(req, env, session),
"POST /admin/applications/list": (req, env, session) => listApplications(req, env, session),