feat(backend): optionaler Stresstest-Seed fuer 300 User mit gemischten Haushalten #220
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#220
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?
Beschreibung
Optionaler Seed-Script-Modus, der 300 zufaellige User (Personen + Keycloak-User) mit gemischten Haushalten erzeugt.
Das Script soll zur Laufzeit komplett zufallsgeneriert sein — keine hartkodierten UUIDs oder Namen.
Anforderungen
Verhaeltnis Aktiv/Archiviert
archivedAtgesetzt)Haushalte (Groups)
Keycloak-User
vorname.nachname+ ggf. Nummer bei Duplikaten)app-admin, 15 %event-admin, 80 %app-usergeneratePassword()inkeycloak-provision.ts)Seed-Ausfuehrung
STRESS_TEST_SEED=trueodernpm run seed:stress)APP_ENV=development/testlaufen, NIEMALS in productionDatenqualitaet
vorname.nachname.ZUFALL@example.com)encrypt()verschluesselt (wie bestehender Seed)Referenzen im bestehenden Code
backend/src/lib/keycloak-provision.ts—generatePassword(),ensureUser()als Vorlage fuer Keycloak-User-Erstellungbackend/prisma/seed.ts— Vorlage fuer DB-Seed-Struktur (Persons, Groups, GroupMembers, ContactData viaencrypt())backend/prisma/schema.prisma— Datenmodell (Person, Group, GroupMember, ContactData)Akzeptanzkriterien
npm run seed:stress(oder aquivalenter Befehl) erstellt 300 Personen, 180 Keycloak-User, 100-150 Gruppenencrypt()verschluesselt