Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2017
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. // For refference, this is how my dataset returns from my mongoose request
  2. const emails = [{
  3. _id: 4632472,
  4. sender: 'zozimo@gmail.com',
  5. broadcasted: [{
  6. tracker_id: '111-222-333',
  7. email: 'claudio.fernando@gmail.com',
  8. file: '42348424284728421424/43216472462746242.pdf',
  9. name: 'claudio fernando maciel',
  10. sent: false,
  11. approved: 0,
  12. edited: false
  13. },
  14. {
  15. tracker_id: '222-333-444',
  16. email: 'jerry.lewis@gmail.com',
  17. file: '42348424284728421424/432164fdsafsadfas.pdf',
  18. name: 'jerry lewis',
  19. sent: false,
  20. approved: 1,
  21. edited: true
  22. }
  23. ]
  24. },
  25. {
  26. _id: 42384232,
  27. sender: 'klencher@gmail.com',
  28. broadcasted: [{
  29. tracker_id: '333-444-555',
  30. email: 'luiz@gmail.com',
  31. file: '42348424284728421424/45785hfsjdf.pdf',
  32. name: 'luiz diaz',
  33. sent: false,
  34. approved: 1,
  35. edited: true
  36. }]
  37. }
  38. ]
  39.  
  40.  
  41.  
  42. // and here is the implementation as it used to look like (the new way is in the other gist
  43. // it's a little mixed with a few business rule. Yeah, it was pretty bad!
  44.  
  45. preindicationJob: (dataset, template) => {
  46.  
  47. var objEmails = [];
  48. var objEmail = {};
  49. objEmail.domain = config.worker.botdomain;
  50. //objEmail.data = { from: "Brokerme.Club <" + config.worker.bot + ">", to: config.worker.broker, subject: "Another Job Offer Campaign", html: "<p>hello world</p>" };
  51.  
  52. if(dataset.values.length > 0) {
  53. var emails = dataset.values;
  54. var found = false;
  55. for(var j=0;j<emails.length;j++) {
  56. var campaign = emails[j].raw_data['title'];
  57. var email = emails[j];
  58.  
  59. var tagCVs = "<tr>";
  60.  
  61. for(var i=0;i<email.broadcasted.length;i++) {
  62. var cv = email.broadcasted[i];
  63. if(cv.approved == 0) {
  64. found = true;
  65. // tagCVs += "<td><a href='"+config.landingpage.address + config.landingpage.response+"response/approve/"+email._id+"/tracker_id/"+cv.tracker_id+"'";
  66. // tagCVs += " class='bt-marine bluey'>✓</a>";
  67. // tagCVs += "<td><a href='"+config.landingpage.address + config.landingpage.response+"response/reprove/"+email._id+"/tracker_id/"+cv.tracker_id+"'";
  68. // tagCVs += " class='bt-blood bloody'>x</a></td>";
  69. tagCVs += "<td>&nbsp;"+cv.name+"&nbsp;</td>";
  70. tagCVs += "<td><a href='"+cv.url+"'>"+cv.file+"</a></td>";
  71.  
  72. if(i+1 != email.broadcasted.length) {
  73. tagCVs += "<tr> ";
  74. }
  75. else {
  76. tagCVs += "</tr>";
  77. }
  78. }
  79.  
  80.  
  81. }
  82.  
  83. if(found) {
  84. var tagValues = {};
  85. tagValues.cvs = tagCVs;
  86. tagValues.subject = template.subject;
  87. tagValues.campaign = campaign;
  88.  
  89. var parsedTemplate = dictionary.parseTemplate(template, tagValues, "approve-cvs");
  90.  
  91.  
  92. parsedTemplate = JSON.parse(JSON.stringify(parsedTemplate));
  93.  
  94. var data = {
  95. from: "Brokerme.Club <" + config.worker.bot + ">",
  96. to: config.worker.broker,
  97. subject: parsedTemplate.subject,
  98. html: parsedTemplate.content
  99.  
  100. };
  101.  
  102.  
  103. var items = email.broadcasted.filter(function(broad) { return (broad.approved == 0 )});
  104.  
  105. objEmail.data = data;
  106. objEmail.email_id = email._id;
  107. objEmail.broadcasted = items.map(function(broad) { return broad.tracker_id; });
  108. objEmails.push(objEmail);
  109.  
  110.  
  111. }
  112.  
  113. }
  114.  
  115. }
  116. else {
  117. objEmail = {};
  118. }
  119.  
  120. return objEmails;
  121. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement