schalli
|
3d645674f0
|
feat(quick-260914-eym): forSystem(), is_system_context(), Systemleseregel auf fuenf Tabellen, DKV-Planer je Mandant — ein Pfad (WINDOWS #21)
- Helfer forSystem(prisma) in prisma-tenant.extension.ts (Array-Form,
setzt app.system_context='true' und die beiden anderen Variablen
ausdruecklich leer); forTenant()/withTenantTransaction() setzen
app.system_context='' als Literal (4 neue Spec-Tests)
- Migration 20260914120000_rls_system_context_read: is_system_context()
(COALESCE, STABLE) und system_read_policy FOR SELECT auf DkvModuleConfig,
LdapConfig, LdapFieldMapping, TenderMatch, TenderSavedSearch — lokal
angewendet (36 Migrationen, pg_proc 1, 5 system_read_policy, 34 Regeln)
- migration-sql.spec.ts: describe-Block fuer die neue Migration (6 Tests)
- rls-scratch-check.mjs: Funktion aus der Migration geschnitten,
forSystemQuery/buildInlineSystemClient, Reset in forTenantQuery/
buildInlineExtendedClient, runSystemContextChecks (4 Funktionsfaelle +
9 Kennungen DkvModuleConfig) -> Alle 216 Pruefungen bestanden
- rls-access-inventory.spec.ts: fuenfte Erkennungsform const X = forSystem(,
Stand system-gebunden mit Vorrangregel, FORSYSTEM_ALLOWED_CALL_SITES
(exakte Zahl je Datei, 3 Tests), Proben C/D/E
- DKV: loadActiveConfigsForScheduler() ueber forSystem (findMany isActive,
CONFIG_SAFE_SELECT, orderBy tenantId); DkvSchedulerService mit Auftrag je
Mandant dkv-inbox-poll:<tenantId>, activeTenantId ersatzlos entfernt,
setInterval/stopJob je Mandant, registeredTenantIds(); Controller
stopJob(tenantId); neue dkv-scheduler.service.spec.ts (7 Tests),
dkv.service.spec.ts Tests 6/7 umgestellt
- Klassifikation: dkv.service.ts/dkvModuleConfig system-gebunden, Header
mit fuenfter Erkennungsform und viertem Stand-Wert
- Baseline: 63 Dateien / 1051 Tests, tsc 0, Werkzeug 216
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018N9CD3ebPKm1b32bPpBknY
|
2026-09-14 11:32:54 +02:00 |
|