Next.js 16, Prisma 7, Tailwind 4 und Vitest/Playwright, Konfiguration aus Laufzettel übernommen, weil dort derselbe Stack erprobt ist. Die Farben der Branding-Vorgabe stehen als Tokens in globals.css, das helle Theme setzt dieselben Namen neu. Amber und Rot sind dort abgedunkelt, sonst reicht der Kontrast nicht – ein Test prüft beide Themes gegen 4,5:1. Anmeldung mit lokalem Benutzer, Rolle je Anfrage aus der Datenbank, Audit-Log per Trigger nur anhängbar. Geprüft im gebauten Stand auf 1440 px und 390 px. Closes #001 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
667 B
TypeScript
17 lines
667 B
TypeScript
/**
|
||
* Läuft einmal beim Start des Next-Servers. Prüft die Konfiguration früh und legt den ersten
|
||
* Administrator an – statt beim ersten Seitenaufruf mit einer unklaren Meldung zu scheitern.
|
||
*/
|
||
export async function register(): Promise<void> {
|
||
if (process.env["NEXT_RUNTIME"] !== "nodejs") return;
|
||
const { schluesselPruefen } = await import("@/lib/geheimnisse");
|
||
const { ersterAdminFallsLeer } = await import("@/server/services/anmeldung");
|
||
const { logger } = await import("@/lib/logger");
|
||
try {
|
||
schluesselPruefen();
|
||
await ersterAdminFallsLeer();
|
||
} catch (fehler) {
|
||
logger.error({ err: fehler }, "Start-Prüfung fehlgeschlagen");
|
||
}
|
||
}
|