refactor(backend+frontend): joinedAt aus GroupMember entfernen #197
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#197
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Einordnung
Beschreibung
Das Feld
joinedAtaufGroupMemberwird weder im UI benoetigt noch sinnvoll genutzt. Es soll vollstaendig aus dem Datenmodell, der API und dem Frontend entfernt werden.Da es keinen alten Datenbestand gibt (siehe
AGENTS.md: "Wenn ein neues Datenbank-Schema gebraucht wird, ueberschreibe die aktuellen Datenbankmigrationen"), wird die bestehende Migration0001_full_schemaueberschrieben.Betroffene Stellen (35 Vorkommen)
Backend: Datenbank
backend/prisma/schema.prismajoinedAt DateTime @default(now()) @map("joinedAt")entfernenbackend/prisma/migrations/0001_full_schema/migration.sql"joinedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMPentfernenBackend: API-Routen
backend/src/routes/groups.tsjoinedAt: m.joinedAtaustoGroupMemberResponse()entfernenbackend/src/routes/groups.tsorderBy: { joinedAt: 'asc' }entfernenbackend/src/routes/groups.tsjoinedAt: m.joinedAtaus Batch-Response entfernenbackend/src/routes/persons.tsjoinedAt: m.joinedAtaus Person-Detail entfernenbackend/src/routes/export.tsjoinedAt: gm.joinedAtaus Datenexport entfernenBackend: OpenAPI-Schema
backend/openapi.yamljoinedAt:ausGroupMemberWithPersonentfernenbackend/openapi.yamljoinedAt:ausGroupMemberentfernenbackend/openapi.yaml- joinedAtausrequiredentfernenBackend: Tests
backend/src/__tests__/groups.test.tsjoinedAtaus Testdaten + Mocks entfernenFrontend: API-Typen (generiert)
Nach Aenderung der
openapi.yamlwirdnpm run generate:apiausgefuehrt, wodurchfrontend/src/lib/api/generated.tsautomatisch aktualisiert wird (Zeilen 349, 425 entfallen).Frontend: UI
frontend/src/routes/app/groups/[groupId]/+page.sveltejoinedAtaus Mitglieder-Tabelle entfernenfrontend/src/routes/app/groups/[groupId]/+page.sveltejoinedAtaus Pending-Requests-Tabelle entfernen (joinedAt→createdAtoder ohne Datum)Frontend: Tests
frontend/src/tests/groups.test.tsjoinedAtaus Testdaten entfernenfrontend/src/tests/self-service.test.tsjoinedAtaus Testdaten entfernenHinweise zur pending-requests-Tabelle
Die pending-requests-Tabelle in
groups/[groupId]/+page.sveltehat aktuell die Spaltenname,joinedAt,actions. Nach Entfernen vonjoinedAtstellt sich die Frage:name+actions(kein Datum)createdAtder Person anzeigen (falls sinnvoll)Vorschlag: Option A — die Tabelle ist klein, das Datum ist hier verzichtbar.
Vorgehen
joinedAtausschema.prismaentfernen0001_full_schemaueberschreiben (migration.sqlanpassen)joinedAtaus allen API-Responses entfernen (groups.ts, persons.ts, export.ts)joinedAtausopenapi.yamlentfernennpm run generate:apiim FrontendjoinedAtausgroups/[groupId]/+page.svelteentfernenjoinedAtaus Tests entfernennpm run testin Backend + Frontendnpm run lintin Backend + Frontend