-
Notifications
You must be signed in to change notification settings - Fork 9
Invite Codes System
The new Invite System replaces the legacy placeholder-based redeem code mechanism. This redesign aligns with our long-term objective of eliminating placeholder user data and transferring user management responsibilities away from the UserOffice project.
The purpose of invite code system feature is to allow configuring a user's permissions before they are registered in UserOffice system. This allows asynchronous type of work to be carried out.
An invite code is a unique 12 character alphanumeric identifier generated to invite a user and associate specific claims with them.
- Claims represent structured data, such as assigning roles, adding users as co-proposers, or other attributes.
Key Points:
- Invite codes are stored in the invite_codes table.
- Claims are stored in related tables (role_invites, coproposer_invites and other tables that can be added to extend the invite functionality).
The Invite System is designed with a basic yet extensible structure (see ER diagram above). Potential future use cases include:
- Inviting users into specific roles (e.g., users, reviewers, instrument scientists).
- Inviting users to become Principal Investigators (PI) for proposals.
- Inviting external reviewers to conduct safety or feasibility reviews.
- Pre-approving accounts for users where administrative configuration is impractical, and explicit user consent is required.
- Managing access for temporary contributors and collaborators
This design ensures flexibility for future enhancements.