-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "Merge Users" admin tool to resolve duplicates #3527
Comments
Rough design proposal:
|
"Add user to merge" dialog thoughts:
|
These look good! We could probably put the "Add" button next to "Merge", using an outlined button group like we have in other spots around GoAlert Also as an aside @mastercactapus, it may be worth checking out UI libraries such as Figma or Adobe XD to simplify and clean up UI mockups! You can import Material UI components and drag and drop them where you want. |
What problem would you like to solve? Please describe:
Duplicate users may exist in GoAlert for various reasons such as usage of multiple identity providers or a subject ID changing from OIDC. At present, the duplicate user can only be removed which may pose administrative challenges if that user is extensively configured across the application.
Describe the solution you'd like:
Introduce a new admin tool called "Merge Users" that enables merging of one or more users into a "Primary" profile. The process should be all-or-nothing so all other profiles are deleted within the same transaction.
The merger should include:
A GraphQL mutation
mergeUsers(primary: ID!, toMerge: [ID!]!)
should be added for this process.Describe alternatives you've considered:
The current alternative is removing the duplicate user. However, this solution is inelegant and may lead to complications if the removed user has extensive links across the application.
Additional context:
In future enhancements, implementing a search/detection tool for potential duplicates could serve as an effective supplement to the "Merge Users" tool.
The text was updated successfully, but these errors were encountered: