Invitation flow for regular users with admin-configurable quota #332
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#332
Loading…
Reference in New Issue
Block a user
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?
Problem
On instances with closed registration, existing users cannot bring in collaborators; only a site admin can help (see companion issue on admin user creation). A lightweight, spam-resistant invitation flow is missing.
Proposal
Let any authenticated user invite people by email, guarded by a per-user quota that the site admin configures:
invitationstable: inviter, invitee email, token (stored hashed), status (pending/accepted/revoked),createdAt,expiresAt,acceptedUserId.POST /api/v1/invitationssends a mail with an invitation link;GET /api/v1/invitationslists own invitations;DELETE /api/v1/invitations/:idrevokes a pending one.auth.registrationMode = closed(token is single-use, expires).invitations.maxOpenPerUser, default 5 open (pending, unexpired) invitations per user;0disables inviting. Editable in the admin settings form (mind the react-hook-form dot-in-name trap, use the flat-key mapping from #322).invitation.created,invitation.revoked,invitation.accepted) -> catalogue + docs + minor bump.Acceptance criteria