Advertisement
Guest User

Untitled

a guest
Feb 11th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. function createUsers(anvilAPI, zendeskAPI, ravenAPI, newAcctInfo, aAcctInfo, aZendeskOrg, owner) {
  2. // 4:
  3. var pendingAnvilUsers = [];
  4. newAcctInfo.listOfUsers.forEach(aUser => {
  5. pendingAnvilUsers.push(anvilAPI.addUserToAccount(aAcctInfo.id, aUser));
  6. });
  7. return Promise.all(pendingAnvilUsers).then(aAnvilUsers => {
  8. // 5
  9. var pendingZendeskUsers = [];
  10. aAnvilUsers.forEach((aAnvilUser, index) => {
  11. if (!aAnvilUser) {
  12. logger.log('Could not create user', index, newAcctInfo.listOfUsers[index].email);
  13. pendingZendeskUsers.push(null);
  14. } else {
  15. pendingZendeskUsers.push(zendeskAPI.createUser(aZendeskOrg, aAnvilUser));
  16. }
  17. });
  18. return Promise.all(pendingZendeskUsers).then(aZendeskUsers =>
  19. // 6. Send mails. We could have done this as we were processing but...
  20. Promise.all(
  21. aAnvilUsers.map(aUser => {
  22. // New users have this field, and we should only send the mail for those
  23. if (aUser.email === owner.email) {
  24. aUser.ctPassword = owner.ctPassword;
  25. }
  26. if (aUser.ctPassword) {
  27. return ravenAPI && ravenAPI.sendCustomMail(aUser.email, {
  28. user: aUser,
  29. organization: aAcctInfo
  30. });
  31. } else {
  32. return null;
  33. }
  34. })
  35. ).then(aSentMails => [aAnvilUsers, aZendeskUsers, aSentMails])
  36. );
  37. }).catch(e => {
  38. logger.log('Returning error:', e);
  39. });
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement