Add admin-invite management (track, revoke, resend)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript
- Bereich
- authentication, backend, frontend
Rechercherichtung
Start by reading the existing participant invitation flow in ParticipantsController and the Invite model, then trace POST /users (createUser) and its password-reset invitation flow. The issue calls for choosing how to represent deployment-level and study-scoped admin invites, then adding admin-client management to list, revoke, and resend them. Done means pending invitations can be tracked and managed, including identifying admins who have not completed setup.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Follow-up to #890.
Currently admins are onboarded via the password reset flow rather than the Invite table. When POST /users (createUser) runs, the backend generates a random password, creates the User row, and sends the invited admin a reset link with adminInvite: true. The admin sets their real password via that link and the token is marked used.
Because the Invite table is bypassed entirely, OrgAdmins have no way to view pending admin invitations, revoke or resend them, or see which admins haven't completed setup. All of that functionality exists for participants via ParticipantsController.
Per @ignatiusm's comment in #890, this looks like a shortcut from when the feature was first built. Making admin invites first-class (tracked, revocable, resendable) would be worth doing.
Considerations
- Deployment-level admin invites (OrgAdmins invited to the platform)
- Study-scoped admin invites (StudyAdmins for specific studies)
- The current
Invitemodel has a requiredstudyId, so it's participant-focused. Would need to either generalise the model or add a parallelAdminInvitetable. - New admin-client UI to list, revoke, and resend admin invites.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 4
- Forks
- 0
- Ø Merge
- 14 Std. 50 Min.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Garvan-Data-Science-Platform/ctrl
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
admin-client backend bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
backend bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Garvan-Data-Science-Platform/ctrl#970 · 1 Kommentar ·
-
backend bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
backend bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Alle Issues in Garvan-Data-Science-Platform/ctrl
Ähnliche Issues
-
afk-ok area:data-quality importer size:S
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
enorm-labs/event-junkie#3301 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
one-zero-eight/apply-bot#39 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
bigbluebutton/bbb-ui-components-react#108 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
area: app type: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
ExpidetGames/code-reviewer#308 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag