Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function createUsers(anvilAPI, zendeskAPI, ravenAPI, newAcctInfo, aAcctInfo, aZendeskOrg, owner) {
- // 4:
- var pendingAnvilUsers = [];
- newAcctInfo.listOfUsers.forEach(aUser => {
- pendingAnvilUsers.push(anvilAPI.addUserToAccount(aAcctInfo.id, aUser));
- });
- return Promise.all(pendingAnvilUsers).then(aAnvilUsers => {
- // 5
- var pendingZendeskUsers = [];
- aAnvilUsers.forEach((aAnvilUser, index) => {
- if (!aAnvilUser) {
- logger.log('Could not create user', index, newAcctInfo.listOfUsers[index].email);
- pendingZendeskUsers.push(null);
- } else {
- pendingZendeskUsers.push(zendeskAPI.createUser(aZendeskOrg, aAnvilUser));
- }
- });
- return Promise.all(pendingZendeskUsers).then(aZendeskUsers =>
- // 6. Send mails. We could have done this as we were processing but...
- Promise.all(
- aAnvilUsers.map(aUser => {
- // New users have this field, and we should only send the mail for those
- if (aUser.email === owner.email) {
- aUser.ctPassword = owner.ctPassword;
- }
- if (aUser.ctPassword) {
- return ravenAPI && ravenAPI.sendCustomMail(aUser.email, {
- user: aUser,
- organization: aAcctInfo
- });
- } else {
- return null;
- }
- })
- ).then(aSentMails => [aAnvilUsers, aZendeskUsers, aSentMails])
- );
- }).catch(e => {
- logger.log('Returning error:', e);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement