feat(api,web): eigene Module — Tabelle, API, Seitenleiste, Rahmen-Seite

- Tabelle CustomModule mit Zeilenschutz (tenant_isolation_policy), Migration 20260929120000
- API /custom-modules: Lesen für jeden Angemeldeten, Schreiben nur Administrator, nur https ohne Zugangsdaten
- Seitenleiste zeigt eigene Module unter ihrer Kategorie, Rahmen-Seite mit Sandbox und „In neuem Tab öffnen“
- MODULE_CATEGORIES als gemeinsame Liste, Zugriffsklassifikation nachgemessen fortgeschrieben

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-29 07:25:33 +02:00
parent 643b1a2caa
commit b9d87be360
23 changed files with 1270 additions and 40 deletions
+18
View File
@@ -256,3 +256,21 @@ export function parseDashboardBackground(value: unknown): DashboardBackground |
}
return null;
}
/**
* Die fuenf Seitenleisten-Kategorien der Module (quick-260929-9wc). Die
* Liste entspricht den Kategorien in den Seeds der eingebauten Module und
* den Schluesseln `moduleCategories` in den Uebersetzungen (de.json/en.json);
* `apps/web/src/messages/module-categories.spec.ts` haelt den Gleichlauf.
* Die API prueft damit die Kategorie eigener Module, das Formular baut die
* Auswahl daraus.
*/
export const MODULE_CATEGORIES = [
"domain-tools",
"security-tools",
"fleet",
"infrastructure",
"procurement",
] as const;
export type ModuleCategory = (typeof MODULE_CATEGORIES)[number];