When a company signs up for Secureframe, they connect it to all the vendors they use. We then authenticate to those vendors and pull all the employees from that company that use the service. For example, a customer may connect Secureframe to GSuite, Gusto, and Github.
After we pull data from these services, we want to use it to update the fields on the internal Secureframe User model. However, we may get back conflicting data from these services and we want to prioritize different fields from different services. For example, we want to prioritize names from Gusto but emails from GSuite.
We want to create a method updateFromThirdPartyAccounts(user)
which will ...