Gedankenstriche durch Bindestriche ersetzt
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s

375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die
README; an keiner Stelle Bedeutung, nur Zeichensetzung.
This commit is contained in:
Harlekin
2026-09-04 08:54:52 +02:00
parent 38be773636
commit e0b03ea336
210 changed files with 368 additions and 368 deletions
@@ -211,7 +211,7 @@ $$ LANGUAGE sql STABLE;
-- Wie bei case_refresh_search_vector: mit IF verzweigt, nicht mit einem
-- CASE-Ausdruck. Der würde auch im nicht genommenen Zweig verlangen, dass
-- NEW."documentId" existiert — auf "Document" gibt es das Feld nicht.
-- NEW."documentId" existiert - auf "Document" gibt es das Feld nicht.
CREATE OR REPLACE FUNCTION document_refresh_search_vector() RETURNS trigger AS $$
DECLARE
target text;
@@ -41,7 +41,7 @@ ALTER TABLE "SavedView" ADD CONSTRAINT "SavedView_userId_fkey"
-- Schwärzungen stufenweise auflösen
--
-- `strip_redactions` entfernt jede markierte Stelle. Für den Vektor einer
-- Stufe muss aber stehen bleiben, was diese Stufe lesen darf — sonst findet
-- Stufe muss aber stehen bleiben, was diese Stufe lesen darf - sonst findet
-- ein Leser der Stufe 4 einen Namen nicht, den er auf der Seite sieht.
-- ===========================================================================
@@ -1,6 +1,6 @@
-- Phase 9: Ladewerte messen.
--
-- Nur Zahlen und das Routenmuster. Keine Kennungen, keine konkreten Pfade —
-- Nur Zahlen und das Routenmuster. Keine Kennungen, keine konkreten Pfade -
-- die Messung soll sagen, ob die Anwendung schnell ist, nicht wer wann welche
-- Akte geöffnet hat. Siehe docs/09-performance-und-ux.md.
@@ -2,7 +2,7 @@
--
-- Eine persönliche Sprungliste, kein Verlauf: je Nutzer und Datensatz genau
-- eine Zeile, die beim nächsten Öffnen überschrieben wird. Der Primärschlüssel
-- erzwingt das — es gibt keine Form, in der diese Tabelle sagen könnte, wie oft
-- erzwingt das - es gibt keine Form, in der diese Tabelle sagen könnte, wie oft
-- oder in welcher Reihenfolge jemand etwas geöffnet hat.
--
-- Wer wann was gelesen hat, beantwortet weiterhin allein das Zugriffsprotokoll
@@ -9,7 +9,7 @@
-- Zeitpunkt dieser Migration stand in keinem Kanal eine Nachricht.
-- Die Nachrichtentabelle ist gegen DELETE gesperrt. Für das einmalige
-- Aufräumen wird die Regel abgenommen und danach wieder gesetzt — sie ist die
-- Aufräumen wird die Regel abgenommen und danach wieder gesetzt - sie ist die
-- Zusicherung, dass niemand im Betrieb Nachrichten verschwinden lässt.
DROP RULE chat_no_delete ON "ChatMessage";
@@ -2,7 +2,7 @@
--
-- Damit wird eine Lücke sichtbar, die es schon vorher gab: ein Beteiligter darf
-- die Akte lesen, gleich in welcher Rolle. Bei „Betroffener" fiel das nicht auf,
-- bei „Täter" wäre es offensichtlich falsch — der Beschuldigte läse die
-- bei „Täter" wäre es offensichtlich falsch - der Beschuldigte läse die
-- Ermittlung gegen sich selbst mit.
--
-- Die Prüfung in lib/access/caseFilter.ts unterscheidet deshalb ab jetzt
@@ -1,7 +1,7 @@
-- Abteilungen: die Ebene über der Personalakte.
--
-- Bisher stand die Abteilung als Freitext in der Personalakte. Damit liess sich
-- niemand fragen, was es zu einer Abteilung insgesamt gibt — jede Schreibweise
-- niemand fragen, was es zu einer Abteilung insgesamt gibt - jede Schreibweise
-- war eine eigene Abteilung. Als eigenes Modell ist sie verwaltbar, und die
-- Zuordnung einer Fallakte ergibt sich aus ihren Beteiligten und deren
-- Personalakten. Eine Fallakte trägt deshalb **keine** Abteilung: die
@@ -28,7 +28,7 @@ CREATE INDEX "Department_isArchived_name_idx" ON "Department"("isArchived", "nam
ALTER TABLE "PersonnelFile" ADD COLUMN "departmentId" TEXT;
-- Was schon als Freitext dastand, wird zur Abteilung. Der Schlüssel ist der
-- getrimmte Text in Grossbuchstaben, der Name der Text selbst — beides lässt
-- getrimmte Text in Grossbuchstaben, der Name der Text selbst - beides lässt
-- sich im Adminbereich nachziehen.
INSERT INTO "Department" ("id", "key", "name", "updatedAt")
SELECT gen_random_uuid()::text,
@@ -125,7 +125,7 @@ CREATE INDEX "PersonnelFile_departmentId_idx" ON "PersonnelFile"("departmentId")
-- Abteilung als dritter Besitzer wäre eine halbe Sache: die Vorlagen kennen
-- über TemplateUse nur die beiden Orte, und ein Feld, das nichts füllen kann,
-- ist schlimmer als keins. Was zu einer Abteilung an Dokumenten gehört, wird
-- wie alles andere abgeleitet — über ihre Mitglieder und deren Fälle.
-- wie alles andere abgeleitet - über ihre Mitglieder und deren Fälle.
-- Der Chat bekommt einen dritten Ort. Der CHECK aus der vorigen Migration wird
-- entsprechend erweitert: genau einer, weiterhin.
@@ -161,7 +161,7 @@ $$ LANGUAGE plpgsql;
-- Dieselben Zusicherungen wie beim Verlauf einer Akte (harte Regel 2): kein
-- DELETE, jede Änderung erzeugt eine Version, jede Zurücknahme lässt einen
-- Grabstein stehen. Die Regeln stehen in der Datenbank und nicht nur in der
-- Anwendung — die Anwendung kann man umgehen.
-- Anwendung - die Anwendung kann man umgehen.
-- ===========================================================================
CREATE TABLE "DepartmentEntry" (
@@ -216,7 +216,7 @@ CREATE RULE dept_entry_version_no_delete
AS ON DELETE TO "DepartmentEntryVersion" DO INSTEAD NOTHING;
-- Autor, Entstehungszeit und Abteilung sind unantastbar. Wer etwas anderes
-- sagen will, zieht zurück und schreibt neu — und genau das ist dann sichtbar.
-- sagen will, zieht zurück und schreibt neu - und genau das ist dann sichtbar.
CREATE OR REPLACE FUNCTION dept_entry_immutable_guard() RETURNS trigger AS $$
BEGIN
IF NEW."authorId" IS DISTINCT FROM OLD."authorId"
@@ -1,7 +1,7 @@
-- Beteiligte in den Suchindex der Fallakte.
--
-- Wer nach einem Namen sucht, will die Akten finden, in denen die Person
-- vorkommt — auch dann, wenn sie weder im Titel steht noch im Text erwähnt
-- vorkommt - auch dann, wenn sie weder im Titel steht noch im Text erwähnt
-- wird, sondern nur als Zeuge oder Betroffener eingetragen ist.
--
-- Das verrät nichts Neues: der Name eines Beteiligten steht ohnehin in der
@@ -74,7 +74,7 @@ END;
$$ LANGUAGE plpgsql;
-- Der Verteiler kennt zwei neue Anlässe: eine geänderte Beteiligung, und einen
-- geänderten Namen. Beim Namen sind alle Akten der Person betroffen — sonst
-- geänderten Namen. Beim Namen sind alle Akten der Person betroffen - sonst
-- fände die Suche nach einer Umbenennung weiter den alten Namen.
CREATE OR REPLACE FUNCTION search_index_trigger() RETURNS trigger AS $$
DECLARE