Add admin-invite management (track, revoke, resend)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- typescript
- Domaine
- authentication, backend, frontend
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 4
- Forks
- 0
- Merge moyen
- 14 h 50 min
- PR mergées (30 j)
- 5
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Garvan-Data-Science-Platform/ctrl
-
Difficulté 1/5 1-3 heures Accessibilité débutants 82/100
-
admin-client backend bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
backend bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Garvan-Data-Science-Platform/ctrl#970 · 1 commentaire ·
-
backend bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
backend bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Toutes les issues de Garvan-Data-Science-Platform/ctrl
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/rocketmq-dashboard#6872 ·
Les mainteneurs répondent en général sous 3 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
fab-geocommuns/RNB-site#539 ·
Les mainteneurs répondent en général sous 2 jours
-
Guest multiview tile label leaks raw virtual-source-id "Whip" instead of the guest name / slot labelOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Eyevinn/open-live-studio#211 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue
Difficulté 2/5 Une demi-journée Accessibilité débutants 72/100
sujithputta02/Esapay#13 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
Les mainteneurs répondent en général sous 1 jour