Workspace und Datenmodell
pnpm-Workspace mit web/, worker/, pdf/ und packages/db. Das Datenbankpaket ist eigenständig, weil Web-App und Worker denselben Prisma-Client brauchen. Schema nach docs/04-datenmodell.md, mit drei Abweichungen, die dort begründet sind: CaseParticipant bekommt einen eigenen Schlüssel statt eines zusammengesetzten mit NULL-Spalten, die Aktenzeichen laufen über CaseCounter statt über eine Sequenz pro Jahr, und ServiceHeartbeat kommt dazu, damit /api/health den Gateway-Zustand kennt, ohne Discord zu fragen. Die zweite Migration enthält, was Prisma nicht ausdrücken kann: - kein DELETE auf CaseEntry, CaseEntryVersion und AuditLog - authorId, createdAt, caseId und type eines Eintrags sind unveränderlich - an einer Eintragsversion darf nur minClearance angehoben werden - Volltextsuche mit deutscher Konfiguration; geschwärzte Bereiche werden vor dem Indizieren entfernt, sonst verrät ein Treffer den Inhalt - pg_notify bei Rollen- und Mapping-Änderungen Acht Tests prüfen diese Regeln gegen eine echte Postgres-Instanz, nicht gegen die Anwendungslogik. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4446e3f0ac
commit
51984f17d4
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "afis",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@9.15.4",
|
||||
"engines": {
|
||||
"node": ">=22"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "pnpm --filter @afis/web run dev",
|
||||
"worker:dev": "pnpm --filter @afis/worker run dev",
|
||||
"build": "pnpm --filter @afis/db run build && pnpm --filter @afis/web run build",
|
||||
"db:generate": "pnpm --filter @afis/db run generate",
|
||||
"db:migrate": "pnpm --filter @afis/db run migrate",
|
||||
"db:deploy": "pnpm --filter @afis/db run migrate:deploy",
|
||||
"db:seed": "pnpm --filter @afis/db run seed",
|
||||
"db:studio": "pnpm --filter @afis/db run studio",
|
||||
"test": "pnpm -r --sequential test",
|
||||
"test:e2e": "pnpm --filter @afis/web run test:e2e",
|
||||
"lint": "pnpm -r --sequential lint",
|
||||
"typecheck": "pnpm -r --sequential typecheck",
|
||||
"analyze": "pnpm --filter @afis/web run analyze"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "5.9.3"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user