feat: bulk-reveal encrypted Allergien on member list (admin-only) #198
Reference in New Issue
Block a user
Delete Branch "feature/member-list-allergien-reveal"
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?
Summary
Adds an "Allergien anzeigen" toggle to the Mitgliederliste. On click (after confirmation), the server decrypts
allergien_encryptedfor every non-deleted member and returns the plaintext map. The list grows an extra "Allergien" column rendered from the map. Toggling off discards the plaintext — nothing is persisted to localStorage, Pinia, or beyond the component's lifetime.Security
AuthorizationMiddleware(ADMIN_METHODS_MEMBER = ['revealAllergies', 'archive']). Non-admins get 403.user + members_total + members_with_allergien— never the plaintext.Cache-Control: no-storeon the API response +Cache-Control: no-storerequest header so the browser doesn't cache it.nullbefore dropping the ref;onBeforeUnmountdoes the same. The "Allergien" column is never registered inuseColumnVisibility, so the preference for showing it is not persisted.Test plan
MemberServicetests (happy path, audit masks value, missingEncryptionService)🤖 Generated with Claude Code