Skip to content

Epic: invite existing volunteers to register as users (role: volunteer) #922

Description

@arturasmckwcz

Why

We have a backlog of registered volunteers — rows in the volunteer table,
created via the public "Become a Volunteer" form or coordinator import — who
have never created a login (User account). They can't sign in, see their
own profile, or get matched through the app. We want to invite all of them by
email to finish registering as a User with role: VOLUNTEER.

Today Volunteer has no direct link to User at all — the only path is
Volunteer.personPerson.users, and that link is frequently empty for
exactly this population.

Design decisions (already made)

  • Account creation timing: eager. The User row is created immediately
    when the invite is sent (isActive: false, placeholder password), not
    deferred until the person accepts. No schema/migration changes anticipated.
  • Feature scope: one-off backfill only. No persisted coordinator-facing
    "invite" button or per-volunteer endpoint — just a script that clears the
    current backlog. The invite-acceptance flow itself (JWT + accept-invite
    endpoint + FE page) is still a real, reusable piece of infrastructure; only
    the triggering side is one-off for now.

Sub-issues

sdk

be

fe

Acceptance criteria

  • Every Volunteer row with a usable person email and no linked User
    has received an invite email
  • Invited volunteers can set a password and log in as role: VOLUNTEER
  • No duplicate accounts created for volunteers who already have a User
  • No database migration required by this epic (or, if one turned out
    necessary, it's called out explicitly with the reason)

Metadata

Metadata

Assignees

Labels

biggycontains sub-issues, won't get dev branchenhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions