@platform-x/hep-notification-client 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +7 -7
  2. package/dist/jest-setup.js +28 -0
  3. package/dist/jest-setup.js.map +1 -0
  4. package/dist/src/common/controllers/common_controller.js +72 -0
  5. package/dist/src/common/controllers/common_controller.js.map +1 -0
  6. package/dist/src/common/controllers/index.js +29 -0
  7. package/dist/src/common/controllers/index.js.map +1 -0
  8. package/dist/src/common/middleware/commonMiddleware.js +141 -0
  9. package/dist/src/common/middleware/commonMiddleware.js.map +1 -0
  10. package/dist/src/common/service/requestService.js +79 -1
  11. package/dist/src/common/service/requestService.js.map +1 -0
  12. package/dist/src/common/service/twilioService.js +3 -11
  13. package/dist/src/common/service/twilioService.js.map +1 -0
  14. package/dist/src/common/util/commonUtil.js +119 -1
  15. package/dist/src/common/util/commonUtil.js.map +1 -0
  16. package/dist/src/common/util/constants.js +18 -0
  17. package/dist/src/common/util/constants.js.map +1 -0
  18. package/dist/src/common/util/errorHandler.js +4 -6
  19. package/dist/src/common/util/errorHandler.js.map +1 -0
  20. package/dist/src/common/util/httpCodes.js +26 -0
  21. package/dist/src/common/util/httpCodes.js.map +1 -0
  22. package/dist/src/common/util/logger.js +1 -1
  23. package/dist/src/common/util/logger.js.map +1 -0
  24. package/dist/src/common/util/requestTracer.js +18 -1
  25. package/dist/src/common/util/requestTracer.js.map +1 -0
  26. package/dist/src/common/util/solrConnector.js.map +1 -0
  27. package/dist/src/config/index.js +49 -4
  28. package/dist/src/config/index.js.map +1 -0
  29. package/dist/src/platform-x/app.js +35 -0
  30. package/dist/src/platform-x/app.js.map +1 -0
  31. package/dist/src/platform-x/constants/index.js +2 -14
  32. package/dist/src/platform-x/constants/index.js.map +1 -0
  33. package/dist/src/platform-x/constants/style.js +98 -98
  34. package/dist/src/platform-x/constants/style.js.map +1 -0
  35. package/dist/src/platform-x/controllers/cronController.js +399 -0
  36. package/dist/src/platform-x/controllers/cronController.js.map +1 -0
  37. package/dist/src/platform-x/controllers/fileUploadController.js +76 -0
  38. package/dist/src/platform-x/controllers/fileUploadController.js.map +1 -0
  39. package/dist/src/platform-x/controllers/graphRESTControllers.js +183 -0
  40. package/dist/src/platform-x/controllers/graphRESTControllers.js.map +1 -0
  41. package/dist/src/platform-x/controllers/index.js +30 -0
  42. package/dist/src/platform-x/controllers/index.js.map +1 -0
  43. package/dist/src/platform-x/controllers/siteDomainController.js +74 -0
  44. package/dist/src/platform-x/controllers/siteDomainController.js.map +1 -0
  45. package/dist/src/platform-x/dataSource/emailDataSource.js.map +1 -0
  46. package/dist/src/platform-x/database/connection.js +3 -6
  47. package/dist/src/platform-x/database/connection.js.map +1 -0
  48. package/dist/src/platform-x/database/dao/formBuilder.dao.js +1 -1
  49. package/dist/src/platform-x/database/dao/formBuilder.dao.js.map +1 -0
  50. package/dist/src/platform-x/database/dao/siteDomain.dao.js +73 -0
  51. package/dist/src/platform-x/database/dao/siteDomain.dao.js.map +1 -0
  52. package/dist/src/platform-x/database/index.js.map +1 -0
  53. package/dist/src/platform-x/{interface/interface.js → database/interfaces/site_domain.interface.js} +1 -1
  54. package/dist/src/platform-x/database/interfaces/site_domain.interface.js.map +1 -0
  55. package/dist/src/platform-x/database/models/formBuilder.model.js.map +1 -0
  56. package/dist/src/platform-x/database/models/site_domains.model.js +51 -0
  57. package/dist/src/platform-x/database/models/site_domains.model.js.map +1 -0
  58. package/dist/src/platform-x/routes/index.js +19 -0
  59. package/dist/src/platform-x/routes/index.js.map +1 -0
  60. package/dist/src/platform-x/services/cron.services.js +117 -0
  61. package/dist/src/platform-x/services/cron.services.js.map +1 -0
  62. package/dist/src/platform-x/util/emailHandler.js +53 -137
  63. package/dist/src/platform-x/util/emailHandler.js.map +1 -0
  64. package/dist/src/platform-x/util/emailTemplate.js +63 -60
  65. package/dist/src/platform-x/util/emailTemplate.js.map +1 -0
  66. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js +2 -0
  67. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js.map +1 -0
  68. package/dist/src/server.js +38 -0
  69. package/dist/src/server.js.map +1 -0
  70. package/dist/swagger.json +247 -0
  71. package/dist/test/controllers/common_controller.spec.js +79 -0
  72. package/dist/test/controllers/common_controller.spec.js.map +1 -0
  73. package/dist/test/middleware/commonMiddleware.spec.js +88 -0
  74. package/dist/test/middleware/commonMiddleware.spec.js.map +1 -0
  75. package/dist/test/platform-x/controllers/graphRESTControllers.spec.js +195 -0
  76. package/dist/test/platform-x/controllers/graphRESTControllers.spec.js.map +1 -0
  77. package/dist/test/platform-x/datasource/emailDataSource.spec.js +81 -0
  78. package/dist/test/platform-x/datasource/emailDataSource.spec.js.map +1 -0
  79. package/dist/test/platform-x/util/emailHandler.spec.js +474 -0
  80. package/dist/test/platform-x/util/emailHandler.spec.js.map +1 -0
  81. package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js +80 -0
  82. package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js.map +1 -0
  83. package/dist/test/services/requestService.spec.js +108 -0
  84. package/dist/test/services/requestService.spec.js.map +1 -0
  85. package/dist/test/services/requestServiceGet.spec.js +43 -0
  86. package/dist/test/services/requestServiceGet.spec.js.map +1 -0
  87. package/dist/test/src/common/service/twilioService.spec.js +65 -0
  88. package/dist/test/src/common/service/twilioService.spec.js.map +1 -0
  89. package/dist/test/util/commonUtil.spec.js +110 -0
  90. package/dist/test/util/commonUtil.spec.js.map +1 -0
  91. package/dist/test/util/logger.spec.js +51 -0
  92. package/dist/test/util/logger.spec.js.map +1 -0
  93. package/dist/test/util/requestTracer.spec.js +64 -0
  94. package/dist/test/util/requestTracer.spec.js.map +1 -0
  95. package/dist/test/util/solrconnector.spec.js +145 -0
  96. package/dist/test/util/solrconnector.spec.js.map +1 -0
  97. package/package.json +66 -62
  98. package/postman_collection/HEP_Environment.postman_environment.json +44 -44
  99. package/postman_collection/hep-notification.postman_collection.json +55 -55
  100. package/reports/output.jtl +1 -1
  101. package/reports/scripts/jmeter_sendgrid.js +34 -34
  102. package/reports/scripts/newman_sendgrid.js +40 -40
  103. package/reports/scripts/sendgrid.js +40 -40
  104. package/reports/scripts/trivy_sendgrid.js +40 -40
  105. package/src/common/service/requestService.ts +87 -0
  106. package/{dist/src/common/service/secretKeyManager.services.js → src/common/service/secretKeyManager.services.ts} +1 -2
  107. package/src/common/service/twilioService.ts +58 -0
  108. package/src/common/util/commonUtil.ts +39 -0
  109. package/src/common/util/errorHandler.ts +120 -0
  110. package/src/common/util/logger.ts +215 -0
  111. package/src/common/util/requestTracer.ts +10 -0
  112. package/src/common/util/solrConnector.ts +319 -0
  113. package/src/config/index.ts +35 -0
  114. package/src/index.ts +34 -0
  115. package/src/platform-x/constants/index.ts +20 -0
  116. package/src/platform-x/constants/style.ts +99 -0
  117. package/src/platform-x/dataSource/emailDataSource.ts +34 -0
  118. package/src/platform-x/database/connection.ts +47 -0
  119. package/src/platform-x/database/dao/formBuilder.dao.ts +33 -0
  120. package/src/platform-x/database/index.ts +7 -0
  121. package/src/platform-x/database/models/formBuilder.model.ts +23 -0
  122. package/src/platform-x/util/emailHandler.ts +580 -0
  123. package/src/platform-x/util/emailTemplate.ts +66 -0
  124. package/src/platform-x/util/solr-data-source/SolrHttpDataSource.ts +97 -0
  125. package/{dist → src}/templates/orderPlaced.ejs +172 -172
  126. package/{dist → src}/templates/orderPlaced.html +189 -189
  127. package/tsconfig.json +73 -0
  128. package/dist/src/common/service/requestService.d.ts +0 -26
  129. package/dist/src/common/service/secretKeyManager.services.d.ts +0 -0
  130. package/dist/src/common/service/twilioService.d.ts +0 -19
  131. package/dist/src/common/util/commonUtil.d.ts +0 -22
  132. package/dist/src/common/util/errorHandler.d.ts +0 -44
  133. package/dist/src/common/util/logger.d.ts +0 -68
  134. package/dist/src/common/util/requestTracer.d.ts +0 -2
  135. package/dist/src/common/util/secretKeyManager.d.ts +0 -7
  136. package/dist/src/common/util/secretKeyManager.js +0 -58
  137. package/dist/src/common/util/solrConnector.d.ts +0 -35
  138. package/dist/src/config/index.d.ts +0 -30
  139. package/dist/src/index.d.ts +0 -5
  140. package/dist/src/index.js +0 -20
  141. package/dist/src/platform-x/constants/index.d.ts +0 -18
  142. package/dist/src/platform-x/constants/style.d.ts +0 -1
  143. package/dist/src/platform-x/dataSource/emailDataSource.d.ts +0 -5
  144. package/dist/src/platform-x/database/connection.d.ts +0 -8
  145. package/dist/src/platform-x/database/dao/formBuilder.dao.d.ts +0 -9
  146. package/dist/src/platform-x/database/index.d.ts +0 -7
  147. package/dist/src/platform-x/database/models/formBuilder.model.d.ts +0 -34
  148. package/dist/src/platform-x/interface/interface.d.ts +0 -4
  149. package/dist/src/platform-x/util/emailHandler.d.ts +0 -62
  150. package/dist/src/platform-x/util/emailTemplate.d.ts +0 -4
  151. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.d.ts +0 -26
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CronService = void 0;
16
+ const moment_1 = __importDefault(require("moment"));
17
+ const logger_1 = require("../../common/util/logger");
18
+ const emailHandler_1 = require("../util/emailHandler");
19
+ const config_1 = __importDefault(require("../../config"));
20
+ class CronService {
21
+ /**
22
+ * Method to send remainder mail to the user for application submit
23
+ */
24
+ applicationProcessRemainder(userDetails, email_type, deadline_date, host_url, is_cff) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ try {
27
+ logger_1.Logger.info('CronService: Reached applicationProcessRemainder', 'applicationProcessRemainder');
28
+ const { userName, userEmail, applicationId } = userDetails;
29
+ let emailTriggerRequest = Object.assign({}, userName && { userName }, deadline_date && { deadline_date }, applicationId && { applicationId }, host_url && { host_url });
30
+ let recipientsData = [{
31
+ name: userName,
32
+ email: userEmail,
33
+ }];
34
+ is_cff = is_cff ? is_cff : false;
35
+ let emailReq = {
36
+ replacement_variables: emailTriggerRequest,
37
+ recipients: recipientsData,
38
+ email_type,
39
+ isCFF: is_cff,
40
+ };
41
+ logger_1.Logger.info('Email Request', emailReq);
42
+ const emailhandler = new emailHandler_1.EmailHandler();
43
+ return yield emailhandler.sendPersonalizeEmailRequest(emailReq);
44
+ }
45
+ catch (error) {
46
+ logger_1.Logger.error('CronService: Error in applicationProcessRemainder', 'applicationProcessRemainder', error);
47
+ throw error;
48
+ }
49
+ });
50
+ }
51
+ /**
52
+ * Method to send remainder mail to the user as weekly and last hrs as per deadline
53
+ */
54
+ applicationSubmitRemainder(data) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ try {
57
+ logger_1.Logger.info('CronService: Reached applicationSubmitRemainder', 'applicationSubmitRemainder');
58
+ let { createdAt, deadline_date } = data;
59
+ const created_at = (0, moment_1.default)(createdAt);
60
+ const deadline = (0, moment_1.default)(deadline_date);
61
+ if ((0, moment_1.default)().isSameOrAfter(deadline)) {
62
+ logger_1.Logger.info('CronService: Reached deadline passed', 'applicationSubmitRemainder');
63
+ return; // Stop processing this entry if deadline passed
64
+ }
65
+ yield this.weeklyAndLstWeekRemainder({ created_at, deadline, data });
66
+ }
67
+ catch (error) {
68
+ logger_1.Logger.error('CronService: Error in applicationSubmitRemainder', 'applicationSubmitRemainder', error);
69
+ throw error;
70
+ }
71
+ });
72
+ }
73
+ /**
74
+ * Method to send check the required email trigger condition and send email
75
+ */
76
+ weeklyAndLstWeekRemainder(reqData) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ try {
79
+ logger_1.Logger.info('CronService: Reached applicationSubmitRemainder', 'applicationSubmitRemainder');
80
+ let { created_at, deadline, data } = reqData;
81
+ let { user_email, user_name, language, application_url = '', application_id = '' } = data;
82
+ let days = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.CFF_WEEKLY_DAYS;
83
+ const lastWeekStart = deadline === null || deadline === void 0 ? void 0 : deadline.clone().subtract(days, 'days');
84
+ if ((0, moment_1.default)().isBefore(lastWeekStart)) {
85
+ // Weeks 1-5: Reminder every 7 days from createdAt
86
+ logger_1.Logger.info('CronService: Reached Weekly remainder', 'applicationSubmitRemainder');
87
+ const daysSinceCreated = (0, moment_1.default)().diff(created_at, 'days');
88
+ if (daysSinceCreated >= days && daysSinceCreated % days === 0) {
89
+ logger_1.Logger.info('CronService: Reached Weekly remainder send email', 'applicationSubmitRemainder');
90
+ yield this.applicationProcessRemainder({ userEmail: user_email, userName: user_name, language, applicationId: application_id }, "Application-Submit-Remainder" /* EmailTemplates.Appication_Submit_Ramainder */, deadline === null || deadline === void 0 ? void 0 : deadline.format('MMMM Do, YYYY'), application_url, true);
91
+ }
92
+ }
93
+ else {
94
+ // 💡 Last week: every 48 hours based on deadline
95
+ logger_1.Logger.info('CronService: Reached last week before deadline remainder', 'applicationSubmitRemainder');
96
+ const hoursSinceLastWeek = (0, moment_1.default)().diff(lastWeekStart, 'hours'); // Calculate how many hours have passed since the last week started.
97
+ if (hoursSinceLastWeek >= 0) {
98
+ let hours = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.CFF_LAST_WEEK_HOURS;
99
+ logger_1.Logger.info(`CronService: hours since lastweek beforedeadline "${hoursSinceLastWeek}" `, 'applicationSubmitRemainder');
100
+ const intervalsPassed = Math.floor(hoursSinceLastWeek / hours);
101
+ const nextTriggerTime = lastWeekStart.clone().add(intervalsPassed * hours, 'hours');
102
+ if ((0, moment_1.default)().isSame(nextTriggerTime, 'hour')) {
103
+ logger_1.Logger.info('CronService: Reached last week before deadline remainder send email', 'applicationSubmitRemainder');
104
+ yield this.applicationProcessRemainder({ userEmail: user_email, userName: user_name, language, applicationId: application_id }, "Application-Submit-Remainder" /* EmailTemplates.Appication_Submit_Ramainder */, deadline === null || deadline === void 0 ? void 0 : deadline.format('MMMM Do, YYYY'), application_url, true);
105
+ }
106
+ }
107
+ }
108
+ }
109
+ catch (error) {
110
+ logger_1.Logger.error('CronService: Error in applicationSubmitRemainder', 'applicationSubmitRemainder', error);
111
+ throw error;
112
+ }
113
+ });
114
+ }
115
+ }
116
+ exports.CronService = CronService;
117
+ //# sourceMappingURL=cron.services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron.services.js","sourceRoot":"","sources":["../../../../src/platform-x/services/cron.services.ts"],"names":[],"mappings":"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"}
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -46,8 +36,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
36
  };
47
37
  Object.defineProperty(exports, "__esModule", { value: true });
48
38
  exports.EmailHandler = void 0;
39
+ const logger_1 = require("../../common/util/logger");
49
40
  const emailDataSource_1 = require("../dataSource/emailDataSource");
50
- const HTMLParser = __importStar(require("node-html-parser"));
41
+ const node_html_parser_1 = require("node-html-parser");
51
42
  const style_1 = require("../constants/style");
52
43
  const config_1 = __importDefault(require("../../config"));
53
44
  const constants_1 = require("../constants");
@@ -57,15 +48,8 @@ const moment = require('moment-timezone');
57
48
  const sgMail = require('@sendgrid/mail');
58
49
  const sgHelpers = require('@sendgrid/helpers');
59
50
  const ejs = __importStar(require("ejs"));
60
- // import DOMPurify from 'dompurify'; // Include DOMPurify for sanitization
51
+ const dompurify_1 = __importDefault(require("dompurify")); // Include DOMPurify for sanitization
61
52
  const formBuilder_dao_1 = __importDefault(require("../database/dao/formBuilder.dao"));
62
- const dompurify_1 = __importDefault(require("dompurify"));
63
- const jsdom_1 = require("jsdom");
64
- const logger_1 = require("../../common/util/logger");
65
- const path_1 = __importDefault(require("path"));
66
- const __1 = require("../..");
67
- const window = new jsdom_1.JSDOM('').window;
68
- const DOMPurify = (0, dompurify_1.default)(window);
69
53
  // NOSONAR-NEXT-LINE
70
54
  class EmailHandler {
71
55
  constructor() { } // NOSONAR
@@ -77,24 +61,14 @@ class EmailHandler {
77
61
  sendEmail(emailConfig) {
78
62
  return __awaiter(this, void 0, void 0, function* () {
79
63
  logger_1.Logger.info('EmailHandler: Reached sendEmail method', 'sendEmail');
80
- const secrets = yield (0, __1.getIAMSecrets)();
81
- sgMail.setApiKey(secrets === null || secrets === void 0 ? void 0 : secrets[constants_1.DynamicValues === null || constants_1.DynamicValues === void 0 ? void 0 : constants_1.DynamicValues.SENDGRID_API_KEY]);
82
- // Build personalization object
83
- const personalization = {
84
- to: [{ email: emailConfig.email }],
85
- };
86
- // Add CC emails if provided
87
- if (emailConfig.cc) {
88
- const ccEmails = Array.isArray(emailConfig.cc) ? emailConfig.cc : [emailConfig.cc];
89
- personalization.cc = ccEmails.map((email) => ({ email }));
90
- logger_1.Logger.info(`Adding CC emails to non-personalized email: ${ccEmails.join(', ')}`, 'sendEmail');
91
- }
92
- // Add BCC if provided
93
- if (emailConfig.bcc) {
94
- personalization.bcc = [{ email: emailConfig.bcc }];
95
- }
64
+ sgMail.setApiKey(config_1.default.SENDGRID_API_KEY);
96
65
  const msg = {
97
- personalizations: [personalization],
66
+ personalizations: [
67
+ {
68
+ to: [{ email: emailConfig.email }],
69
+ // cc: emailCC,
70
+ },
71
+ ],
98
72
  from: { email: config_1.default.EMAIL_FROM },
99
73
  html: emailConfig.emailTemplate,
100
74
  subject: emailConfig.subject,
@@ -116,8 +90,8 @@ class EmailHandler {
116
90
  });
117
91
  }
118
92
  prepareEmailRequest(reqBody, emailType) {
93
+ var _a;
119
94
  return __awaiter(this, void 0, void 0, function* () {
120
- var _a, _b;
121
95
  logger_1.Logger.info('Reached prepareEmailRequest', 'prepareEmailRequest');
122
96
  try {
123
97
  let dataSource = new emailDataSource_1.EmailDataSource();
@@ -128,13 +102,13 @@ class EmailHandler {
128
102
  let curentTimeZone = start
129
103
  .tz(reqBody.timezoneOffset)
130
104
  .format('Do MMMM YYYY, h:mm a');
131
- const root = HTMLParser.parse((_a = response[0]) === null || _a === void 0 ? void 0 : _a.hclplatformx_Body);
105
+ const root = (0, node_html_parser_1.parse)((_a = response[0]) === null || _a === void 0 ? void 0 : _a.hclplatformx_Body);
132
106
  root.querySelector('#1_dynamic_text').textContent = ` ${reqBody.userName}`;
133
- root.querySelector('#2_dynamic_text').textContent = DOMPurify.sanitize(`<b> ${reqBody.pageTitle} </b>`);
134
- root.querySelector('#3_dynamic_text').textContent = DOMPurify.sanitize(`<b>${curentTimeZone}</b>`);
135
- root.querySelector('#dynamic_contentType').textContent = DOMPurify.sanitize(`<b>${reqBody.contentType}</b>`);
136
- root.querySelector('#dynamic_event').textContent = DOMPurify.sanitize(`<b>${reqBody.event[0] + reqBody.event.slice(1)}</b>`);
137
- if (((_b = reqBody === null || reqBody === void 0 ? void 0 : reqBody.event) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'published') {
107
+ root.querySelector('#2_dynamic_text').textContent = dompurify_1.default.sanitize(`<b> ${reqBody.pageTitle} </b>`);
108
+ root.querySelector('#3_dynamic_text').textContent = dompurify_1.default.sanitize(`<b>${curentTimeZone}</b>`);
109
+ root.querySelector('#dynamic_contentType').textContent = dompurify_1.default.sanitize(`<b>${reqBody.contentType}</b>`);
110
+ root.querySelector('#dynamic_event').textContent = dompurify_1.default.sanitize(`<b>${reqBody.event[0] + reqBody.event.slice(1)}</b>`);
111
+ if (reqBody.event.toLowerCase() === 'published') {
138
112
  root
139
113
  .querySelector('.dynamic_links_btn')
140
114
  .setAttribute('href', reqBody.publishPageUrl);
@@ -143,11 +117,11 @@ class EmailHandler {
143
117
  root.querySelector('#viewButton').setAttribute('style', 'display:none');
144
118
  }
145
119
  const append = root.querySelector('head');
146
- append.insertAdjacentHTML('beforeend', DOMPurify.sanitize(style_1.style));
120
+ append.insertAdjacentHTML('beforeend', dompurify_1.default.sanitize(style_1.style));
147
121
  let emailConfiguration = {
148
122
  email: reqBody.emailTo,
149
123
  emailTemplate: root.toString(),
150
- subject: DOMPurify.sanitize(response[0].hclplatformx_Subject.replace('{{pageType}}', reqBody.contentType[0] + reqBody.contentType.slice(1))
124
+ subject: dompurify_1.default.sanitize(response[0].hclplatformx_Subject.replace('{{pageType}}', reqBody.contentType[0] + reqBody.contentType.slice(1))
151
125
  .replace('{{publishOrUnpublish}}', reqBody.event[0] + reqBody.event.slice(1))),
152
126
  };
153
127
  logger_1.Logger.debug('Reached prepareEmailRequest - emailConfiguration', 'prepareEmailRequest', emailConfiguration);
@@ -168,8 +142,8 @@ class EmailHandler {
168
142
  * @returns
169
143
  */
170
144
  prepareSendEmailRequest(reqBody, emailType) {
145
+ var _a, _b, _c, _d;
171
146
  return __awaiter(this, void 0, void 0, function* () {
172
- var _a, _b, _c, _d;
173
147
  logger_1.Logger.info('Reached prepareSendEmailRequest in emailHandler', 'prepareSendEmailRequest');
174
148
  try {
175
149
  let dataSource = new emailDataSource_1.EmailDataSource();
@@ -183,7 +157,7 @@ class EmailHandler {
183
157
  }
184
158
  }
185
159
  }
186
- const root = HTMLParser.parse((_c = templateData[0]) === null || _c === void 0 ? void 0 : _c.hclplatformx_Body);
160
+ const root = (0, node_html_parser_1.parse)((_c = templateData[0]) === null || _c === void 0 ? void 0 : _c.hclplatformx_Body);
187
161
  let emailConfiguration = {
188
162
  email: (_d = reqBody.replacement_variables) === null || _d === void 0 ? void 0 : _d.EMAIL,
189
163
  emailTemplate: root ? root.toString() : '',
@@ -209,7 +183,7 @@ class EmailHandler {
209
183
  return __awaiter(this, void 0, void 0, function* () {
210
184
  logger_1.Logger.info('Reached pushEmails in emailHandler', 'pushEmails');
211
185
  return yield this.sendEmail(emailConfiguration).then((response) => __awaiter(this, void 0, void 0, function* () {
212
- if ((response === null || response === void 0 ? void 0 : response.statusCode) === '202' || response.statusCode === 202) {
186
+ if (response.statusCode === '202') {
213
187
  response.msg =
214
188
  'Thanks for getting in touch with us. We shall contact you soon.';
215
189
  return response;
@@ -226,16 +200,14 @@ class EmailHandler {
226
200
  * @param emailConfig
227
201
  * @returns
228
202
  */
229
- sendEmailWithPersonalizations(emailConfig, email_from) {
203
+ sendEmailWithPersonalizations(emailConfig, isCFF) {
230
204
  return __awaiter(this, void 0, void 0, function* () {
231
205
  logger_1.Logger.info(`EmailHandler: Reached sendEmailWithPersonalizations method with emailConfig: ${JSON.stringify(emailConfig)}`, 'sendEmailWithPersonalizations');
232
- logger_1.Logger.info(`EMAIL_FROM-------> ${email_from}`, 'sendEmailWithPersonalizations');
233
206
  const Mail = sgHelpers.classes.Mail;
234
- // let email_from = isCFF ? config?.CFF_MAIL_FROM : config?.EMAIL_FROM;
207
+ let email_from = isCFF ? config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.CFF_MAIL_FROM : config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.EMAIL_FROM;
235
208
  logger_1.Logger.info('sendEmailWithPersonalizations : Email From:', JSON.stringify(email_from));
236
209
  const Personalization = sgHelpers.classes.Personalization;
237
- const secrets = yield (0, __1.getIAMSecrets)();
238
- sgMail.setApiKey(secrets === null || secrets === void 0 ? void 0 : secrets[constants_1.DynamicValues === null || constants_1.DynamicValues === void 0 ? void 0 : constants_1.DynamicValues.SENDGRID_API_KEY]);
210
+ sgMail.setApiKey(config_1.default.SENDGRID_API_KEY);
239
211
  const mail = new Mail();
240
212
  mail.setFrom(email_from);
241
213
  mail.setSubject(emailConfig.subject);
@@ -244,19 +216,10 @@ class EmailHandler {
244
216
  // Set personalizations as per the emailConfig
245
217
  if ((emailConfig === null || emailConfig === void 0 ? void 0 : emailConfig.personalizations) &&
246
218
  (emailConfig === null || emailConfig === void 0 ? void 0 : emailConfig.personalizations.to.length)) {
247
- const { to, cc } = emailConfig === null || emailConfig === void 0 ? void 0 : emailConfig.personalizations;
248
- // Create separate personalization for each TO recipient with their unique substitutions
249
- to.forEach((toData, index) => {
219
+ const { to } = emailConfig === null || emailConfig === void 0 ? void 0 : emailConfig.personalizations;
220
+ to === null || to === void 0 ? void 0 : to.forEach((toData) => {
250
221
  const personalization = new Personalization();
251
222
  personalization.addTo(toData.to);
252
- // Add CC emails to EACH personalization (CC gets email for each TO recipient)
253
- if (cc && cc.length > 0) {
254
- cc.forEach((ccData) => {
255
- personalization.addCc(ccData.to);
256
- logger_1.Logger.info(`Adding CC email ${ccData.to} to personalization ${index + 1} for TO: ${toData.to}`, 'sendEmailWithPersonalizations');
257
- });
258
- }
259
- // Add unique substitutions for each TO recipient
260
223
  if (toData === null || toData === void 0 ? void 0 : toData.substitutions) {
261
224
  for (const key in toData === null || toData === void 0 ? void 0 : toData.substitutions) {
262
225
  if (key) {
@@ -265,13 +228,11 @@ class EmailHandler {
265
228
  }
266
229
  }
267
230
  mail.addPersonalization(personalization);
268
- logger_1.Logger.info(`Personalization ${index + 1} created for TO: ${toData.to} with ${(cc === null || cc === void 0 ? void 0 : cc.length) || 0} CC recipients`, 'sendEmailWithPersonalizations');
269
231
  });
270
- // Handle attachments
271
232
  if ((emailConfig === null || emailConfig === void 0 ? void 0 : emailConfig.attachments) && Array.isArray(emailConfig.attachments)) {
272
233
  emailConfig.attachments.forEach((attachment) => {
273
234
  mail.addAttachment({
274
- content: attachment.base64, // base64 string
235
+ content: attachment.base64,
275
236
  filename: attachment.filename,
276
237
  type: attachment.type || 'application/octet-stream',
277
238
  disposition: 'attachment',
@@ -281,17 +242,9 @@ class EmailHandler {
281
242
  }
282
243
  }
283
244
  else {
284
- // set to email for non personalized email with CC support
245
+ // set to email for non personalized email
285
246
  const personalization = new Personalization();
286
247
  personalization.addTo(emailConfig.email);
287
- // Add CC emails if provided in non-personalized mode
288
- if (emailConfig.cc) {
289
- const ccEmails = Array.isArray(emailConfig.cc) ? emailConfig.cc : [emailConfig.cc];
290
- ccEmails.forEach((ccEmail) => {
291
- personalization.addCc(ccEmail);
292
- logger_1.Logger.info(`Adding CC email to non-personalized email: ${ccEmail}`, 'sendEmailWithPersonalizations');
293
- });
294
- }
295
248
  logger_1.Logger.info('sendEmailWithPersonalizations : Email personalizations:', JSON.stringify(personalization));
296
249
  mail.addPersonalization(personalization);
297
250
  }
@@ -309,39 +262,17 @@ class EmailHandler {
309
262
  });
310
263
  });
311
264
  }
312
- /**
313
- * Utility method to prepare CC emails in standardized format
314
- * @param ccEmails - Can be string, array of strings, or Recipients array
315
- * @returns Array of email strings
316
- */
317
- prepareCCEmails(ccEmails) {
318
- if (!ccEmails)
319
- return [];
320
- if (typeof ccEmails === 'string') {
321
- return [ccEmails];
322
- }
323
- if (Array.isArray(ccEmails)) {
324
- return ccEmails.map((cc) => {
325
- if (typeof cc === 'string')
326
- return cc;
327
- if (cc.email)
328
- return cc.email; // Recipients object
329
- return cc.to || cc; // ToWithSubstitutions object
330
- }).filter(email => email && typeof email === 'string');
331
- }
332
- return [];
333
- }
334
265
  /**
335
266
  * prepare personalize email request to send email through sendgrid
336
267
  * @param reqBody
337
268
  * @returns
338
269
  */
339
270
  sendPersonalizeEmailRequest(reqBody) {
271
+ var _a, _b;
340
272
  return __awaiter(this, void 0, void 0, function* () {
341
- var _a, _b;
342
273
  try {
343
- let { email_type, replacement_variables, recipients, cc_recipients, isCFF = config_1.default === null || config_1.default === void 0 ? void 0 : config_1.default.EMAIL_FROM } = reqBody;
344
- logger_1.Logger.info(`EmailHandler: reached in sendPersonalizeEmailRequest with emailType: ${email_type} and ${isCFF}`, 'sendPersonalizeEmailRequest');
274
+ let { email_type, replacement_variables, recipients, isCFF = false } = reqBody;
275
+ logger_1.Logger.info(`EmailHandler: reached in sendPersonalizeEmailRequest with emailType: ${email_type}`, 'sendPersonalizeEmailRequest');
345
276
  // disable SOLR because of connectivity issue
346
277
  logger_1.Logger.debug('Reached sendPersonalizeEmailRequest in emailHandler', 'sendPersonalizeEmailRequest');
347
278
  let templateData = yield this.fetchEmailTemplateData(reqBody);
@@ -359,20 +290,9 @@ class EmailHandler {
359
290
  recipientsData = {
360
291
  to,
361
292
  };
362
- // Add CC recipients if they exist
363
- if (cc_recipients && (0, lodash_1.isArray)(cc_recipients)) {
364
- const cc = [];
365
- cc_recipients.forEach((ccRecipient) => {
366
- cc.push({
367
- to: ccRecipient === null || ccRecipient === void 0 ? void 0 : ccRecipient.email,
368
- });
369
- });
370
- recipientsData.cc = cc;
371
- }
372
293
  }
373
294
  if (templateData && ((_a = Object.keys(templateData)) === null || _a === void 0 ? void 0 : _a.length) !== 0) {
374
- const root = HTMLParser.parse(templateData === null || templateData === void 0 ? void 0 : templateData.body);
375
- isCFF = (templateData === null || templateData === void 0 ? void 0 : templateData.email_from) && (templateData === null || templateData === void 0 ? void 0 : templateData.email_from) !== '' ? templateData === null || templateData === void 0 ? void 0 : templateData.email_from : isCFF;
295
+ const root = (0, node_html_parser_1.parse)(templateData === null || templateData === void 0 ? void 0 : templateData.body);
376
296
  const emailConfiguration = {
377
297
  email: (_b = reqBody.replacement_variables) === null || _b === void 0 ? void 0 : _b.EMAIL,
378
298
  emailTemplate: root ? root.toString() : '',
@@ -380,13 +300,12 @@ class EmailHandler {
380
300
  personalizations: recipientsData,
381
301
  attachments: reqBody === null || reqBody === void 0 ? void 0 : reqBody.attachments,
382
302
  };
383
- // let is_cff: boolean = (isCFF && isCFF === true) ? true : false;
303
+ let is_cff = (isCFF && isCFF === true) ? true : false;
384
304
  logger_1.Logger.info(`sendPersonalizeEmailRequest -${JSON.stringify(emailConfiguration)}`, 'sendPersonalizeEmailRequest');
385
- return yield this.sendEmailWithPersonalizations(emailConfiguration, isCFF).then((response) => __awaiter(this, void 0, void 0, function* () {
305
+ return yield this.sendEmailWithPersonalizations(emailConfiguration, is_cff).then((response) => __awaiter(this, void 0, void 0, function* () {
386
306
  if (response.statusCode === 202) {
387
307
  response.msg =
388
308
  'Thanks for getting in touch with us. We shall contact you soon.';
389
- console.log('>>>>>>>>>>>>>>>>>>>>>>>>>.RES', response);
390
309
  return response;
391
310
  }
392
311
  else {
@@ -411,15 +330,15 @@ class EmailHandler {
411
330
  const start = moment.tz(reqBody.dateTime, 'UTC'); // original timezone
412
331
  start.tz(reqBody.timezoneOffset).format('Do MMMM YYYY, h:mm a');
413
332
  let str = yield emailTemplate_1.EmailTemplateHandler.prepareEmailTemplate(reqBody);
414
- let root = HTMLParser.parse(str);
333
+ let root = (0, node_html_parser_1.parse)(str);
415
334
  root.querySelector('#1_dynamic_text').textContent = `${reqBody.userName}`;
416
- root.querySelector('#2_dynamic_text').textContent = DOMPurify.sanitize(`<b> ${reqBody.total_price} </b>`);
417
- root.querySelector('#3_dynamic_text').textContent = DOMPurify.sanitize(`<b>${reqBody.currency_code}</b>`);
418
- root.querySelector('#4_dynamic_text').textContent = DOMPurify.sanitize(`<b>${reqBody.shipping_address.streetName} ${reqBody.shipping_address.city} ${reqBody.shipping_address.state} ${reqBody.shipping_address.country}${reqBody.shipping_address.postalCode} </b>`);
419
- root.querySelector('#5_dynamic_text').textContent = DOMPurify.sanitize(`<b>${reqBody.total_tax}</b>`);
420
- root.querySelector('#6_dynamic_text').textContent = DOMPurify.sanitize(`<b>${reqBody.orderNumber}</b>`);
335
+ root.querySelector('#2_dynamic_text').textContent = dompurify_1.default.sanitize(`<b> ${reqBody.total_price} </b>`);
336
+ root.querySelector('#3_dynamic_text').textContent = dompurify_1.default.sanitize(`<b>${reqBody.currency_code}</b>`);
337
+ root.querySelector('#4_dynamic_text').textContent = dompurify_1.default.sanitize(`<b>${reqBody.shipping_address.streetName} ${reqBody.shipping_address.city} ${reqBody.shipping_address.state} ${reqBody.shipping_address.country}${reqBody.shipping_address.postalCode} </b>`);
338
+ root.querySelector('#5_dynamic_text').textContent = dompurify_1.default.sanitize(`<b>${reqBody.total_tax}</b>`);
339
+ root.querySelector('#6_dynamic_text').textContent = dompurify_1.default.sanitize(`<b>${reqBody.orderNumber}</b>`);
421
340
  const apeend = root.querySelector('head');
422
- apeend.insertAdjacentHTML('beforeend', DOMPurify.sanitize(style_1.style));
341
+ apeend.insertAdjacentHTML('beforeend', dompurify_1.default.sanitize(style_1.style));
423
342
  let emailConfiguration = {
424
343
  email: reqBody.emailTo,
425
344
  emailTemplate: root.toString(),
@@ -443,8 +362,7 @@ class EmailHandler {
443
362
  const start = moment.tz(reqBody.dateTime, 'UTC'); // original timezone
444
363
  let curentTimeZone = start;
445
364
  curentTimeZone.tz(reqBody.timezoneOffset).format('Do MMMM YYYY, h:mm a');
446
- const emailTemplate = path_1.default.resolve(__dirname, '../../../templates/orderPlaced.ejs');
447
- console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>.', emailTemplate);
365
+ let emailTemplate = 'templates/orderPlaced.ejs';
448
366
  let billingStr = '';
449
367
  billingStr +=
450
368
  Object.keys(reqBody.billing_address).length !== 0
@@ -493,8 +411,8 @@ class EmailHandler {
493
411
  });
494
412
  }
495
413
  fetchEmailTemplateData(reqBody) {
414
+ var _a, _b, _c, _d;
496
415
  return __awaiter(this, void 0, void 0, function* () {
497
- var _a, _b, _c, _d, _e, _f;
498
416
  try {
499
417
  logger_1.Logger.info('EmailHandler: Reached fetchEmailTemplateData', 'fetchEmailTemplateData');
500
418
  let { email_type } = reqBody;
@@ -505,14 +423,12 @@ class EmailHandler {
505
423
  if ((templateSolrRes === null || templateSolrRes === void 0 ? void 0 : templateSolrRes.length) > 0) {
506
424
  templateData.body = ((_a = templateSolrRes === null || templateSolrRes === void 0 ? void 0 : templateSolrRes[0]) === null || _a === void 0 ? void 0 : _a.hclplatformx_Body) || '';
507
425
  templateData.subject = ((_b = templateSolrRes === null || templateSolrRes === void 0 ? void 0 : templateSolrRes[0]) === null || _b === void 0 ? void 0 : _b.hclplatformx_Subject) || '';
508
- templateData.email_from = ((_c = templateSolrRes === null || templateSolrRes === void 0 ? void 0 : templateSolrRes[0]) === null || _c === void 0 ? void 0 : _c.hclplatformx_To) || '';
509
426
  }
510
427
  }
511
428
  else {
512
429
  let templateRes = yield new formBuilder_dao_1.default().fetch('email_templates', { name: email_type });
513
- templateData.body = (_d = templateRes === null || templateRes === void 0 ? void 0 : templateRes[0]) === null || _d === void 0 ? void 0 : _d.body;
514
- templateData.subject = (_e = templateRes === null || templateRes === void 0 ? void 0 : templateRes[0]) === null || _e === void 0 ? void 0 : _e.subject;
515
- templateData.email_from = ((_f = templateRes === null || templateRes === void 0 ? void 0 : templateRes[0]) === null || _f === void 0 ? void 0 : _f.to) || '';
430
+ templateData.body = (_c = templateRes === null || templateRes === void 0 ? void 0 : templateRes[0]) === null || _c === void 0 ? void 0 : _c.body;
431
+ templateData.subject = (_d = templateRes === null || templateRes === void 0 ? void 0 : templateRes[0]) === null || _d === void 0 ? void 0 : _d.subject;
516
432
  }
517
433
  return templateData;
518
434
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emailHandler.js","sourceRoot":"","sources":["../../../../src/platform-x/util/emailHandler.ts"],"names":[],"mappings":"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"}