Look for existing users by email and cache in member add process
What does this MR do and why?
- deduplicates invites by comparing emails to user ids.
- if a user is found that has that email as primary or secondary, then drop the email as an invite and instead use the existing user/user id from the invite
- Utilizes SafeRequestLoader to cache the lookup of users by email during the bulk member creation process.
- measures and traps the query counts in invitations API
- adds conditionals to other specs where adds are being performed on
nil
objects and new caching way doesn't allow that.
Needed for !81019 (merged)
marked as depending on !82735 (merged) so as to not cause a Merge Conflict for myself.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #354016 (closed)
Related to #350999 (closed)
Edited by Doug Stull