@platform-x/hep-notification-client 1.3.4 → 1.3.5

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 (141) hide show
  1. package/dist/src/common/service/requestService.d.ts +26 -0
  2. package/dist/src/common/service/requestService.js +1 -79
  3. package/dist/src/common/service/secretKeyManager.services.d.ts +0 -0
  4. package/{src/common/service/secretKeyManager.services.ts → dist/src/common/service/secretKeyManager.services.js} +2 -1
  5. package/dist/src/common/service/twilioService.d.ts +19 -0
  6. package/dist/src/common/service/twilioService.js +11 -3
  7. package/dist/src/common/util/commonUtil.d.ts +22 -0
  8. package/dist/src/common/util/commonUtil.js +1 -119
  9. package/dist/src/common/util/errorHandler.d.ts +44 -0
  10. package/dist/src/common/util/errorHandler.js +6 -4
  11. package/dist/src/common/util/logger.d.ts +68 -0
  12. package/dist/src/common/util/logger.js +1 -1
  13. package/dist/src/common/util/requestTracer.d.ts +2 -0
  14. package/dist/src/common/util/requestTracer.js +1 -18
  15. package/dist/src/common/util/solrConnector.d.ts +47 -0
  16. package/dist/src/common/util/solrConnector.js +226 -85
  17. package/dist/src/config/index.d.ts +30 -0
  18. package/dist/src/config/index.js +4 -49
  19. package/dist/src/index.d.ts +5 -0
  20. package/dist/src/index.js +22 -0
  21. package/dist/src/platform-x/constants/index.d.ts +18 -0
  22. package/dist/src/platform-x/constants/index.js +14 -2
  23. package/dist/src/platform-x/constants/style.d.ts +1 -0
  24. package/dist/src/platform-x/dataSource/emailDataSource.d.ts +5 -0
  25. package/dist/src/platform-x/dataSource/emailDataSource.js +13 -4
  26. package/dist/src/platform-x/database/connection.d.ts +8 -0
  27. package/dist/src/platform-x/database/connection.js +6 -3
  28. package/dist/src/platform-x/database/dao/formBuilder.dao.d.ts +9 -0
  29. package/dist/src/platform-x/database/dao/formBuilder.dao.js +1 -1
  30. package/dist/src/platform-x/database/index.d.ts +7 -0
  31. package/dist/src/platform-x/database/models/formBuilder.model.d.ts +34 -0
  32. package/dist/src/platform-x/util/emailHandler.d.ts +62 -0
  33. package/dist/src/platform-x/util/emailHandler.js +148 -56
  34. package/dist/src/platform-x/util/emailTemplate.d.ts +4 -0
  35. package/dist/src/platform-x/util/emailTemplate.js +1 -4
  36. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.d.ts +29 -0
  37. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js +45 -31
  38. package/package.json +1 -1
  39. package/dist/jest-setup.js +0 -28
  40. package/dist/jest-setup.js.map +0 -1
  41. package/dist/src/common/controllers/common_controller.js +0 -72
  42. package/dist/src/common/controllers/common_controller.js.map +0 -1
  43. package/dist/src/common/controllers/index.js +0 -29
  44. package/dist/src/common/controllers/index.js.map +0 -1
  45. package/dist/src/common/middleware/commonMiddleware.js +0 -141
  46. package/dist/src/common/middleware/commonMiddleware.js.map +0 -1
  47. package/dist/src/common/service/requestService.js.map +0 -1
  48. package/dist/src/common/service/twilioService.js.map +0 -1
  49. package/dist/src/common/util/commonUtil.js.map +0 -1
  50. package/dist/src/common/util/constants.js +0 -18
  51. package/dist/src/common/util/constants.js.map +0 -1
  52. package/dist/src/common/util/errorHandler.js.map +0 -1
  53. package/dist/src/common/util/httpCodes.js +0 -26
  54. package/dist/src/common/util/httpCodes.js.map +0 -1
  55. package/dist/src/common/util/logger.js.map +0 -1
  56. package/dist/src/common/util/requestTracer.js.map +0 -1
  57. package/dist/src/common/util/solrConnector.js.map +0 -1
  58. package/dist/src/config/index.js.map +0 -1
  59. package/dist/src/platform-x/app.js +0 -35
  60. package/dist/src/platform-x/app.js.map +0 -1
  61. package/dist/src/platform-x/constants/index.js.map +0 -1
  62. package/dist/src/platform-x/constants/style.js.map +0 -1
  63. package/dist/src/platform-x/controllers/cronController.js +0 -399
  64. package/dist/src/platform-x/controllers/cronController.js.map +0 -1
  65. package/dist/src/platform-x/controllers/fileUploadController.js +0 -76
  66. package/dist/src/platform-x/controllers/fileUploadController.js.map +0 -1
  67. package/dist/src/platform-x/controllers/graphRESTControllers.js +0 -183
  68. package/dist/src/platform-x/controllers/graphRESTControllers.js.map +0 -1
  69. package/dist/src/platform-x/controllers/index.js +0 -30
  70. package/dist/src/platform-x/controllers/index.js.map +0 -1
  71. package/dist/src/platform-x/controllers/siteDomainController.js +0 -74
  72. package/dist/src/platform-x/controllers/siteDomainController.js.map +0 -1
  73. package/dist/src/platform-x/dataSource/emailDataSource.js.map +0 -1
  74. package/dist/src/platform-x/database/connection.js.map +0 -1
  75. package/dist/src/platform-x/database/dao/formBuilder.dao.js.map +0 -1
  76. package/dist/src/platform-x/database/dao/siteDomain.dao.js +0 -73
  77. package/dist/src/platform-x/database/dao/siteDomain.dao.js.map +0 -1
  78. package/dist/src/platform-x/database/index.js.map +0 -1
  79. package/dist/src/platform-x/database/interfaces/site_domain.interface.js +0 -3
  80. package/dist/src/platform-x/database/interfaces/site_domain.interface.js.map +0 -1
  81. package/dist/src/platform-x/database/models/formBuilder.model.js.map +0 -1
  82. package/dist/src/platform-x/database/models/site_domains.model.js +0 -51
  83. package/dist/src/platform-x/database/models/site_domains.model.js.map +0 -1
  84. package/dist/src/platform-x/routes/index.js +0 -19
  85. package/dist/src/platform-x/routes/index.js.map +0 -1
  86. package/dist/src/platform-x/services/cron.services.js +0 -117
  87. package/dist/src/platform-x/services/cron.services.js.map +0 -1
  88. package/dist/src/platform-x/util/emailHandler.js.map +0 -1
  89. package/dist/src/platform-x/util/emailTemplate.js.map +0 -1
  90. package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js.map +0 -1
  91. package/dist/src/server.js +0 -38
  92. package/dist/src/server.js.map +0 -1
  93. package/dist/swagger.json +0 -247
  94. package/dist/test/controllers/common_controller.spec.js +0 -79
  95. package/dist/test/controllers/common_controller.spec.js.map +0 -1
  96. package/dist/test/middleware/commonMiddleware.spec.js +0 -88
  97. package/dist/test/middleware/commonMiddleware.spec.js.map +0 -1
  98. package/dist/test/platform-x/controllers/graphRESTControllers.spec.js +0 -195
  99. package/dist/test/platform-x/controllers/graphRESTControllers.spec.js.map +0 -1
  100. package/dist/test/platform-x/datasource/emailDataSource.spec.js +0 -81
  101. package/dist/test/platform-x/datasource/emailDataSource.spec.js.map +0 -1
  102. package/dist/test/platform-x/util/emailHandler.spec.js +0 -474
  103. package/dist/test/platform-x/util/emailHandler.spec.js.map +0 -1
  104. package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js +0 -80
  105. package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js.map +0 -1
  106. package/dist/test/services/requestService.spec.js +0 -108
  107. package/dist/test/services/requestService.spec.js.map +0 -1
  108. package/dist/test/services/requestServiceGet.spec.js +0 -43
  109. package/dist/test/services/requestServiceGet.spec.js.map +0 -1
  110. package/dist/test/src/common/service/twilioService.spec.js +0 -65
  111. package/dist/test/src/common/service/twilioService.spec.js.map +0 -1
  112. package/dist/test/util/commonUtil.spec.js +0 -110
  113. package/dist/test/util/commonUtil.spec.js.map +0 -1
  114. package/dist/test/util/logger.spec.js +0 -51
  115. package/dist/test/util/logger.spec.js.map +0 -1
  116. package/dist/test/util/requestTracer.spec.js +0 -64
  117. package/dist/test/util/requestTracer.spec.js.map +0 -1
  118. package/dist/test/util/solrconnector.spec.js +0 -145
  119. package/dist/test/util/solrconnector.spec.js.map +0 -1
  120. package/src/common/service/requestService.ts +0 -87
  121. package/src/common/service/twilioService.ts +0 -58
  122. package/src/common/util/commonUtil.ts +0 -39
  123. package/src/common/util/errorHandler.ts +0 -120
  124. package/src/common/util/logger.ts +0 -215
  125. package/src/common/util/requestTracer.ts +0 -10
  126. package/src/common/util/solrConnector.ts +0 -319
  127. package/src/config/index.ts +0 -35
  128. package/src/index.ts +0 -34
  129. package/src/platform-x/constants/index.ts +0 -20
  130. package/src/platform-x/constants/style.ts +0 -99
  131. package/src/platform-x/dataSource/emailDataSource.ts +0 -38
  132. package/src/platform-x/database/connection.ts +0 -47
  133. package/src/platform-x/database/dao/formBuilder.dao.ts +0 -33
  134. package/src/platform-x/database/index.ts +0 -7
  135. package/src/platform-x/database/models/formBuilder.model.ts +0 -23
  136. package/src/platform-x/util/emailHandler.ts +0 -585
  137. package/src/platform-x/util/emailTemplate.ts +0 -66
  138. package/src/platform-x/util/solr-data-source/SolrHttpDataSource.ts +0 -97
  139. package/src/templates/orderPlaced.ejs +0 -173
  140. package/src/templates/orderPlaced.html +0 -190
  141. package/tsconfig.json +0 -73
@@ -17,141 +17,282 @@ const logger_1 = require("./logger");
17
17
  const index_1 = __importDefault(require("../../config/index"));
18
18
  const errorHandler_1 = require("./errorHandler");
19
19
  const constants_1 = require("../../platform-x/constants");
20
- const solr = require('solr-client');
20
+ const axios_1 = __importDefault(require("axios"));
21
+ // Solr constants
22
+ const SOLR_RESPONSE_FORMAT = 'json';
23
+ const SOLR_SELECT_ENDPOINT = '/select';
24
+ const SOLR_UPDATE_ENDPOINT = '/update';
25
+ const SOLR_DEFAULT_QUERY = '*:*';
26
+ const SOLR_QUERY_JOIN_OPERATOR = ' AND ';
27
+ const SOLR_PROTOCOL_HTTPS = 'https';
28
+ const SOLR_PROTOCOL_HTTP = 'http';
29
+ // Error constants
30
+ const SOLR_ERROR_NETWORK = 'Network error';
31
+ const SOLR_ERROR_EXECUTION = 'Solr execution error';
32
+ const SOLR_ERROR_CODE_ETIMEDOUT = 'ETIMEDOUT';
33
+ const SOLR_ERROR_CODE_ECONNRESET = 'ECONNRESET';
34
+ const SOLR_ERROR_CODE_ECONNABORTED = 'ECONNABORTED';
35
+ const SOLR_TIMEOUT_KEYWORD = 'timeout';
36
+ const HTTP_STATUS_OK = 200;
37
+ const HTTP_STATUS_REQUEST_TIMEOUT = 408;
38
+ /**
39
+ * Prepares query value - handles both string and object types
40
+ * @param query - string, object, null, or undefined
41
+ * @returns formatted query string for Solr
42
+ */
43
+ const prepareQuery = (query) => {
44
+ if (!query)
45
+ return SOLR_DEFAULT_QUERY;
46
+ if (typeof query === 'string')
47
+ return query;
48
+ if (typeof query === 'object' && !Array.isArray(query)) {
49
+ return Object.entries(query)
50
+ .map(([field, value]) => {
51
+ if (typeof value === 'string') {
52
+ if (value.includes('"') || value.includes("'") || value.includes('*') || value.includes('(') || value.includes('[')) {
53
+ return `${field}:${value}`;
54
+ }
55
+ return `${field}:"${value}"`;
56
+ }
57
+ return `${field}:${value}`;
58
+ })
59
+ .join(SOLR_QUERY_JOIN_OPERATOR);
60
+ }
61
+ return SOLR_DEFAULT_QUERY;
62
+ };
21
63
  class SolrClient {
22
64
  constructor(core) {
23
- this.host = index_1.default.SOLR.HOST || '';
24
- this.port = Number(index_1.default.SOLR.PORT);
25
- this.path = index_1.default.SOLR.PATH || '/solr';
26
- this.secure = false;
27
- this.core = core || process.env.SOLR_CORE || '';
28
- const options = {
29
- host: this.host,
30
- port: this.port,
65
+ var _a, _b, _c, _d, _e, _f, _g, _h;
66
+ this.host = (_b = (_a = index_1.default === null || index_1.default === void 0 ? void 0 : index_1.default.SOLR) === null || _a === void 0 ? void 0 : _a.HOST) !== null && _b !== void 0 ? _b : '';
67
+ this.port = Number((_c = index_1.default === null || index_1.default === void 0 ? void 0 : index_1.default.SOLR) === null || _c === void 0 ? void 0 : _c.PORT);
68
+ this.path = (_e = (_d = index_1.default === null || index_1.default === void 0 ? void 0 : index_1.default.SOLR) === null || _d === void 0 ? void 0 : _d.PATH) !== null && _e !== void 0 ? _e : '/solr';
69
+ this.secure = (_f = index_1.default === null || index_1.default === void 0 ? void 0 : index_1.default.SOLR) === null || _f === void 0 ? void 0 : _f.SECURE;
70
+ this.core = (_h = core !== null && core !== void 0 ? core : (_g = process.env) === null || _g === void 0 ? void 0 : _g.SOLR_CORE) !== null && _h !== void 0 ? _h : '';
71
+ const protocol = this.secure ? SOLR_PROTOCOL_HTTPS : SOLR_PROTOCOL_HTTP;
72
+ const baseURL = `${protocol}://${this.host}:${this.port}${this.path}`;
73
+ this.httpClient = axios_1.default.create({
74
+ baseURL,
75
+ headers: {
76
+ 'Content-Type': constants_1.HTTP_CONTENT_TYPE_JSON,
77
+ 'Accept': constants_1.HTTP_CONTENT_TYPE_JSON,
78
+ },
79
+ });
80
+ this.queryParams = { wt: SOLR_RESPONSE_FORMAT };
81
+ logger_1.Logger.info('SolrClient initialized for Solr 9', 'SolrClient');
82
+ logger_1.Logger.debug('SolrClient initialization payload', 'SolrClient', {
83
+ baseURL,
31
84
  core: this.core,
32
- path: this.path,
33
- secure: this.secure,
34
- };
35
- this.solrNodeClient = solr.createClient(options);
36
- this.solrQuery = null;
85
+ });
37
86
  }
38
87
  getQuery() {
39
- return this.solrQuery;
88
+ return this.queryParams;
40
89
  }
41
90
  createQuery() {
42
- this.solrQuery = this.solrNodeClient.createQuery();
91
+ this.queryParams = {
92
+ wt: SOLR_RESPONSE_FORMAT,
93
+ start: 0,
94
+ rows: constants_1.DEFAULT_SOLR_ROWS,
95
+ };
43
96
  return {
44
97
  query: this.query.bind(this),
45
98
  filterQuery: this.filterQuery.bind(this),
46
99
  sort: this.sort.bind(this),
47
100
  filterList: this.filterList.bind(this),
48
101
  paginate: this.paginate.bind(this),
102
+ facet: this.facet.bind(this),
49
103
  };
50
104
  }
51
105
  executeSearch() {
52
- logger_1.Logger.info('SOLR ExecuteSearch Reached', 'executeSearch');
53
- const q = this.solrQuery;
54
- logger_1.Logger.debug('Before calling search method', 'executeSearch', q);
55
- //try {
56
- return new Promise((resolve, reject) => {
57
- this.solrNodeClient.search(q, function (err, res) {
58
- if (err) {
59
- logger_1.Logger.error(`Error in Solr Search for query:--------------------->`, 'executeSearch', err);
60
- let solrError = new errorHandler_1.SolrError(err.message || err.name, Number(err.statusCode));
61
- logger_1.Logger.error('Error in Solr Search for query: ${q}', 'solrSearch', err);
62
- reject(solrError);
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
108
+ var _a, _b, _c, _d, _e;
109
+ try {
110
+ const response = yield this._executeHttpRequest('executeSearch');
111
+ const responseData = (_e = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.grouped) !== null && _b !== void 0 ? _b : (_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.response) === null || _d === void 0 ? void 0 : _d.docs) !== null && _e !== void 0 ? _e : [];
112
+ resolve(responseData);
63
113
  }
64
- else {
65
- logger_1.Logger.debug('Before returning search result', 'executeSearch', res);
66
- resolve(res.response.docs);
114
+ catch (error) {
115
+ reject(this._handleSearchError(error, 'executeSearch'));
67
116
  }
68
- });
117
+ }));
69
118
  });
70
- // } catch (err: any) {
71
- // Logger.info(`SOLR EXECUTION ERRROR------${err}`);
72
- // throw err;
73
- // }
74
119
  }
75
120
  /**
76
- * solrSearch- fn to call solr search
121
+ * solrSearch - fn to call solr search via Solr 9 HTTP API
77
122
  * @param queryParams
78
123
  * @param fields
79
124
  * @param fieldType
80
125
  * @param sortData
126
+ * @param filterQuery
81
127
  * @returns
82
128
  */
83
129
  solrSearch(queryParams, fields, fieldType, sortData, filterQuery) {
84
130
  return __awaiter(this, void 0, void 0, function* () {
85
- logger_1.Logger.debug('Before calling solrSearch method', 'solrSearch', queryParams);
86
- return new Promise((resolve, reject) => {
87
- logger_1.Logger.info('Reached Solr Search', 'solrSearch');
88
- logger_1.Logger.debug('Reached Solr Search', 'solrSearch', { queryParams });
89
- const defaultRows = constants_1.DEFAULT_SOLR_ROWS;
90
- let query = this.solrNodeClient.createQuery();
91
- if (filterQuery) {
92
- query.matchFilter(filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filterKey, filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filterValue);
93
- }
94
- if (queryParams) {
95
- query.q(fieldType);
96
- }
97
- else {
98
- query.q(`*:*`);
99
- }
100
- if (queryParams && queryParams.pagination) {
101
- query.start(queryParams.pagination.start ? queryParams.pagination.start : 0);
102
- query.rows(queryParams.pagination.rows
103
- ? queryParams.pagination.rows
104
- : defaultRows);
105
- }
106
- else {
107
- query.start(0);
108
- query.rows(defaultRows);
109
- }
110
- if (fields) {
111
- let fieldsTemp = Array.isArray(fields) ? fields : Object.keys(fields);
112
- query.fl(fieldsTemp);
113
- }
114
- if (sortData) {
115
- query.sort(sortData);
116
- }
117
- this.solrNodeClient.search(query, function (err, res) {
118
- if (err) {
119
- let solrError = new errorHandler_1.SolrError(err.message || err.name, Number(err.statusCode));
120
- logger_1.Logger.error(`Error in Solr Search for query: ${query}`, 'solrSearch', err);
121
- reject(solrError);
131
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
132
+ var _a, _b, _c, _d, _e;
133
+ try {
134
+ logger_1.Logger.info('Reached Solr Search', 'solrSearch');
135
+ logger_1.Logger.debug('Reached Solr Search', 'solrSearch', { queryParams });
136
+ const q = qCommon(queryParams, fieldType);
137
+ const { start, rows } = paginationCommon(queryParams);
138
+ this.queryParams = {
139
+ q,
140
+ start,
141
+ rows,
142
+ wt: SOLR_RESPONSE_FORMAT,
143
+ };
144
+ if (filterQuery) {
145
+ this.queryParams.fq = `${filterQuery.filterKey}:${filterQuery.filterValue}`;
122
146
  }
123
- else {
124
- logger_1.Logger.debug('Before returning search result', 'solrSearch', res);
125
- resolve(res.response.docs);
147
+ if (fields) {
148
+ const fieldsTemp = Array.isArray(fields) ? fields : Object.keys(fields);
149
+ this.queryParams.fl = fieldsTemp.join(',');
126
150
  }
151
+ if (sortData) {
152
+ this.queryParams.sort = sortData;
153
+ }
154
+ const response = yield this._executeHttpRequest('solrSearch');
155
+ const responseData = (_e = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.grouped) !== null && _b !== void 0 ? _b : (_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.response) === null || _d === void 0 ? void 0 : _d.docs) !== null && _e !== void 0 ? _e : [];
156
+ resolve(responseData);
157
+ }
158
+ catch (error) {
159
+ logger_1.Logger.debug('Reached in solr connector.ts', 'solrSearch', this.queryParams);
160
+ reject(this._handleSearchError(error, 'solrSearch'));
161
+ }
162
+ }));
163
+ });
164
+ }
165
+ /**
166
+ * Function to delete document from solr via Solr 9 HTTP API
167
+ * @param query
168
+ * @returns
169
+ */
170
+ deleteByQuery(query) {
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ logger_1.Logger.info('Reached Solr Search', 'solrSearch');
173
+ logger_1.Logger.debug('Reached Solr Search', 'solrSearch', { queryParams: query });
174
+ const queryString = prepareQuery(query);
175
+ const endpoint = this.core
176
+ ? `/${this.core}${SOLR_UPDATE_ENDPOINT}?commit=true`
177
+ : `${SOLR_UPDATE_ENDPOINT}?commit=true`;
178
+ try {
179
+ const response = yield this.httpClient.post(endpoint, {
180
+ delete: { query: queryString },
127
181
  });
182
+ this._checkSolrResponse(response, 'deleteByQuery');
183
+ return true;
184
+ }
185
+ catch (err) {
186
+ const solrError = this._handleSearchError(err, 'deleteByQuery');
187
+ throw solrError;
188
+ }
189
+ });
190
+ }
191
+ _executeHttpRequest(methodName) {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ const endpoint = this.core
194
+ ? `/${this.core}${SOLR_SELECT_ENDPOINT}`
195
+ : SOLR_SELECT_ENDPOINT;
196
+ // http call to solr with query params
197
+ const response = yield this.httpClient.get(endpoint, {
198
+ params: this.queryParams,
199
+ validateStatus: (status) => status < 500 /* HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR */,
128
200
  });
201
+ // Check for errors in the response status and data
202
+ this._checkSolrResponse(response, methodName);
203
+ return response;
204
+ });
205
+ }
206
+ // Common error handling for all search methods
207
+ _handleSearchError(error, methodName) {
208
+ var _a;
209
+ // Enhanced timeout error detection
210
+ const isTimeout = ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes(SOLR_TIMEOUT_KEYWORD)) ||
211
+ (error === null || error === void 0 ? void 0 : error.code) === SOLR_ERROR_CODE_ETIMEDOUT ||
212
+ (error === null || error === void 0 ? void 0 : error.code) === SOLR_ERROR_CODE_ECONNRESET ||
213
+ (error === null || error === void 0 ? void 0 : error.code) === SOLR_ERROR_CODE_ECONNABORTED;
214
+ const errorStatus = (error === null || error === void 0 ? void 0 : error.status) ||
215
+ (error === null || error === void 0 ? void 0 : error.statusCode) ||
216
+ (isTimeout
217
+ ? HTTP_STATUS_REQUEST_TIMEOUT
218
+ : 500 /* HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR */);
219
+ const solrError = new errorHandler_1.SolrError((error === null || error === void 0 ? void 0 : error.message) || SOLR_ERROR_NETWORK, errorStatus);
220
+ logger_1.Logger.error(`Error in ${methodName}`, methodName, {
221
+ error: error === null || error === void 0 ? void 0 : error.message,
222
+ errorCode: error === null || error === void 0 ? void 0 : error.code,
223
+ isTimeoutError: isTimeout,
224
+ statusCode: errorStatus,
129
225
  });
226
+ if (isTimeout) {
227
+ logger_1.Logger.error(`TIMEOUT DETECTED in ${methodName}`, methodName, {
228
+ errorMessage: error === null || error === void 0 ? void 0 : error.message,
229
+ errorCode: error === null || error === void 0 ? void 0 : error.code,
230
+ });
231
+ }
232
+ return solrError;
233
+ }
234
+ // Check the solr response for errors
235
+ _checkSolrResponse(response, methodName) {
236
+ var _a, _b, _c, _d, _e, _f, _g;
237
+ if ((response === null || response === void 0 ? void 0 : response.status) !== HTTP_STATUS_OK ||
238
+ ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.error) ||
239
+ (((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.responseHeader) &&
240
+ ((_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.responseHeader) === null || _d === void 0 ? void 0 : _d.status) !== 0)) {
241
+ const errorMsg = (_g = (_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f.msg) !== null && _g !== void 0 ? _g : SOLR_ERROR_EXECUTION;
242
+ const error = new errorHandler_1.SolrError(errorMsg, response === null || response === void 0 ? void 0 : response.status);
243
+ logger_1.Logger.error(`Error in ${methodName}: ${errorMsg}`, methodName);
244
+ throw error;
245
+ }
130
246
  }
131
247
  query(query) {
132
- let queryString = query || `*:*`;
133
- this.solrQuery.q(queryString);
248
+ this.queryParams.q = prepareQuery(query);
134
249
  }
135
250
  paginate(start, rows) {
136
- this.solrQuery.start(start || 0);
137
- this.solrQuery.rows(rows || constants_1.DEFAULT_SOLR_ROWS);
251
+ this.queryParams.start = start !== null && start !== void 0 ? start : 0;
252
+ this.queryParams.rows = rows !== null && rows !== void 0 ? rows : constants_1.DEFAULT_SOLR_ROWS;
138
253
  }
139
254
  filterList(fields) {
140
255
  if (fields) {
141
- let fieldsTemp = Array.isArray(fields) ? fields : Object.keys(fields);
142
- this.solrQuery.fl(fieldsTemp);
256
+ const fieldsArray = Array.isArray(fields) ? fields : Object.keys(fields);
257
+ this.queryParams.fl = fieldsArray.join(',');
143
258
  }
144
259
  }
145
260
  sort(fields) {
146
261
  if (fields) {
147
- this.solrQuery.sort(fields);
262
+ this.queryParams.sort = fields;
263
+ }
264
+ }
265
+ facet(fields) {
266
+ if (fields) {
267
+ this.queryParams.facet = true;
268
+ this.queryParams['facet.field'] = fields;
148
269
  }
149
270
  }
150
271
  filterQuery(fields) {
151
- if (fields === null || fields === void 0 ? void 0 : fields.length) {
152
- this.solrQuery.fq(fields);
272
+ if (fields) {
273
+ this.queryParams.fq = fields;
153
274
  }
154
275
  }
155
276
  }
156
277
  exports.SolrClient = SolrClient;
278
+ const qCommon = (queryParams, fieldType) => {
279
+ if (queryParams) {
280
+ if (typeof fieldType === 'string')
281
+ return fieldType;
282
+ if (typeof fieldType === 'object')
283
+ return prepareQuery(fieldType);
284
+ return SOLR_DEFAULT_QUERY;
285
+ }
286
+ return SOLR_DEFAULT_QUERY;
287
+ };
288
+ const paginationCommon = (queryParams) => {
289
+ var _a, _b;
290
+ let start = 0;
291
+ let rows = constants_1.DEFAULT_SOLR_ROWS;
292
+ if (queryParams === null || queryParams === void 0 ? void 0 : queryParams.pagination) {
293
+ start = (_a = queryParams.pagination.start) !== null && _a !== void 0 ? _a : 0;
294
+ rows = (_b = queryParams.pagination.rows) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_SOLR_ROWS;
295
+ }
296
+ return { start, rows };
297
+ };
157
298
  //# sourceMappingURL=solrConnector.js.map
@@ -0,0 +1,30 @@
1
+ declare const _default: {
2
+ LOG_LEVELS: string[];
3
+ APP_NAME: string;
4
+ NODE_ENV: string | undefined;
5
+ SENDGRID_API_KEY: string;
6
+ EMAIL_FROM: string;
7
+ SOLR: {
8
+ HOST: string | undefined;
9
+ PORT: string | undefined;
10
+ PATH: string | undefined;
11
+ CORE: string | undefined;
12
+ SECURE: boolean;
13
+ };
14
+ TWILIO: {
15
+ ACCOUNT_SID: string;
16
+ AUTH_TOKEN: string;
17
+ SENDER_NUMBER: string;
18
+ };
19
+ MONGO: {
20
+ HOST: string | undefined;
21
+ PORT: string | undefined;
22
+ DB_NAME: string | undefined;
23
+ USER: string | undefined;
24
+ PASS: string | undefined;
25
+ };
26
+ MULTISITE_WITH_SOLR: string | boolean;
27
+ CFF_MAIL_FROM: string;
28
+ SECRET_MODE: string;
29
+ };
30
+ export default _default;
@@ -2,44 +2,18 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- var _a, _b;
5
+ var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const dotenv_1 = __importDefault(require("dotenv"));
8
- const constants_1 = require("../common/util/constants");
8
+ const constants_1 = require("../platform-x/constants");
9
9
  dotenv_1.default.config();
10
- process.env.NODE_TLS_REJECT_UNAUTHORIZED = '1';
11
- /**
12
- * handleCorsOrigin - to map cors origin options
13
- * @param {Array} origins- string array of origins
14
- * @return {Array} allowed origin array trimmed
15
- */
16
- function handleCorsOrigin(origins) {
17
- return origins.map((origin) => origin.trim());
18
- }
19
- /**
20
- * handleCookieSameSite - to map cookies from env
21
- * @param {string} value- same site value
22
- * @return {Boolean|string} same site cookie value
23
- */
24
- function handleCookieSameSite(value) {
25
- const sameSiteOptions = ['none', 'strict', 'lax'];
26
- if (sameSiteOptions.indexOf(value) > -1) {
27
- return value;
28
- }
29
- return value === 'true';
30
- }
10
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
31
11
  exports.default = {
32
- port: process.env.PORT || constants_1.DEFAULT_APP_PORT,
33
12
  LOG_LEVELS: ((_a = process.env.LOG_LEVELS) === null || _a === void 0 ? void 0 : _a.split(',')) || [],
34
13
  APP_NAME: process.env.npm_package_name || constants_1.DEFAULT_APP_NAME,
35
14
  NODE_ENV: process.env.NODE_ENV,
36
- SOLR_IMAGE_HOST_URL: process.env.SOLR_IMAGE_HOST_URL || '',
37
15
  SENDGRID_API_KEY: process.env.SENDGRID_API_KEY || '',
38
16
  EMAIL_FROM: process.env.EMAIL_FROM || '',
39
- CORS: {
40
- ORIGIN: handleCorsOrigin(((_b = process.env.CORS_ORIGIN) === null || _b === void 0 ? void 0 : _b.split(',')) || []),
41
- CREDENTIALS: process.env.CORS_CREDENTIALS === 'true' ? true : false,
42
- },
43
17
  SOLR: {
44
18
  HOST: process.env.SOLR_HOST,
45
19
  PORT: process.env.SOLR_PORT,
@@ -47,14 +21,6 @@ exports.default = {
47
21
  CORE: process.env.SOLR_CORE,
48
22
  SECURE: Boolean(process.env.SOLR_SECURE),
49
23
  },
50
- APM: {
51
- HOST_URL: process.env.APM_HOST_URL,
52
- SECRET: process.env.APM_SECRET,
53
- ENV: process.env.APM_ENV,
54
- },
55
- FIREBASE: {
56
- FCM_SERVER_KEY: process.env.FCM_SERVER_KEY,
57
- },
58
24
  TWILIO: {
59
25
  ACCOUNT_SID: process.env.TWILIO_ACCOUNT_SID || '',
60
26
  AUTH_TOKEN: process.env.TWILIO_AUTH_TOKEN || '',
@@ -68,18 +34,7 @@ exports.default = {
68
34
  PASS: process.env.MONGO_PASS,
69
35
  },
70
36
  MULTISITE_WITH_SOLR: process.env.MULTISITE_WITH_SOLR || false,
71
- APPLICATION_FORM_COLLECTION: process.env.APPLICATION_FORM_COLLECTION || '',
72
- MAIL_ID: process.env.MAIL_ID || '',
73
37
  CFF_MAIL_FROM: process.env.CFF_MAIL_FROM || '',
74
- USER_NAME: process.env.USER_NAME || '',
75
- CONTACT_FORM_COLLECTION: process.env.CONTACT_FORM_COLLECTION || '',
76
- NEWS_LETTER_FORM_COLLECTION: process.env.NEWS_LETTER_FORM_COLLECTION || '',
77
- CFF_WEEKLY_DAYS: process.env.CFF_WEEKLY_DAYS || 0,
78
- CFF_LAST_WEEK_HOURS: process.env.CFF_LAST_WEEK_HOURS || 0,
79
- RENDERING_API_GATEWAY_URL: process.env.RENDERING_API_GATEWAY_URL || '',
80
- CFF_INFO_MAIL: process.env.CFF_INFO_MAIL || '',
81
- CFF_CC_EMAIL: process.env.CFF_CC_EMAIL || '',
82
- SITE_HOST: process.env.SITE_HOST || '',
83
- DELIVERY_API_URL: process.env.DELIVERY_API_URL || '',
38
+ SECRET_MODE: process.env.SECRET_MODE || 'gsm'
84
39
  };
85
40
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ import { EmailHandler } from "./platform-x/util/emailHandler";
2
+ import { TwilioService } from "./common/service/twilioService";
3
+ export declare const initNotificationSecrets: (secretServiceIns: any) => void;
4
+ export declare const getIAMSecrets: () => any;
5
+ export { EmailHandler, TwilioService };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwilioService = exports.EmailHandler = exports.getIAMSecrets = exports.initNotificationSecrets = void 0;
4
+ const emailHandler_1 = require("./platform-x/util/emailHandler");
5
+ Object.defineProperty(exports, "EmailHandler", { enumerable: true, get: function () { return emailHandler_1.EmailHandler; } });
6
+ const twilioService_1 = require("./common/service/twilioService");
7
+ Object.defineProperty(exports, "TwilioService", { enumerable: true, get: function () { return twilioService_1.TwilioService; } });
8
+ // import { SecretKeyServices } from "./common/service/secretKeyManager.services";
9
+ let injectedSecretService;
10
+ const initNotificationSecrets = (secretServiceIns) => {
11
+ injectedSecretService = secretServiceIns;
12
+ };
13
+ exports.initNotificationSecrets = initNotificationSecrets;
14
+ const getIAMSecrets = () => {
15
+ if (!injectedSecretService) {
16
+ throw new Error("IAM secrets not initialized");
17
+ }
18
+ return injectedSecretService.getSecretKeys(); // returns cached data
19
+ // return new SecretKeyServices().getSecretKeys(); // secret gateway
20
+ };
21
+ exports.getIAMSecrets = getIAMSecrets;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ export declare const DEFAULT_SOLR_ROWS = 2147483647;
2
+ export declare const CREATE_USER_EMAIL_TEMPLATE: {
3
+ subject: string;
4
+ hclplatformx_Body: string;
5
+ }[];
6
+ /** HTTP Request related constants */
7
+ export declare const HTTP_CONTENT_TYPE_JSON = "application/json";
8
+ export declare const TRACE_ID_HEADER_NAME = "Platform-X-Trace-Id";
9
+ export declare const DEFAULT_APP_PORT = 8080;
10
+ export declare const DEFAULT_APP_NAME = "api-gateway";
11
+ export declare const DEFAULT_REALM_NAME = "platform-x";
12
+ export declare const DynamicValues: {
13
+ SENDGRID_API_KEY: string;
14
+ TWILIO_ACCOUNT_SID: string;
15
+ TWILIO_AUTH_TOKEN: string;
16
+ TWILIO_SENDER_NUMBER: string;
17
+ MONGO_PASS: string;
18
+ };
@@ -1,10 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CREATE_USER_EMAIL_TEMPLATE = exports.DEFAULT_SOLR_ROWS = exports.DEFAULT_SOLR_CORE = void 0;
4
- exports.DEFAULT_SOLR_CORE = 'platform-x';
3
+ exports.DynamicValues = exports.DEFAULT_REALM_NAME = exports.DEFAULT_APP_NAME = exports.DEFAULT_APP_PORT = exports.TRACE_ID_HEADER_NAME = exports.HTTP_CONTENT_TYPE_JSON = exports.CREATE_USER_EMAIL_TEMPLATE = exports.DEFAULT_SOLR_ROWS = void 0;
5
4
  exports.DEFAULT_SOLR_ROWS = 2147483647;
6
5
  exports.CREATE_USER_EMAIL_TEMPLATE = [{
7
6
  subject: 'Plat-x User Registration',
8
7
  hclplatformx_Body: "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n <title>Document</title>\r\n <style>\r\n body {\r\n font-family: 'Inter', sans-serif;\r\n }\r\n @media (max-width: 697px) {\r\n .rw-100 {\r\n width: 100% !important;\r\n padding: 20px !important\r\n }\r\n .padding29 {\r\n padding-left: 29px !important;\r\n padding-right: 29px !important;\r\n }\r\n .padding15 {\r\n padding-left: 15px !important;\r\n padding-right: 15px !important;\r\n }\r\n }\r\n </style>\r\n</head>\r\n<body style=\"margin: 0; padding: 0;\">\r\n <table class=\"rw-100\" style=\"width: 698px; margin: auto; padding: 32px;\">\r\n <thead>\r\n <tr>\r\n <th style=\"padding-bottom: 30px; text-align: left;\"><img src=\"https://platx-dspace-dev.fanuep.com/server/api/core/bitstreams/792c4406-ae39-4cfd-9627-d4af2d2033bd/content\" alt=\"X\" /></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>\r\n <table style=\"text-align: center; width: 100%; background-color: #fbfaff; padding: 32px; border-radius: 18px;\">\r\n <tr>\r\n <td style=\"padding-bottom: 42px;\"><img src=\"https://platx-dspace-dev.fanuep.com/server/api/core/bitstreams/c1118d01-f887-4612-a1d4-19276ef7fe56/content\" style=\"max-width: 100%;\" alt=\"X\" /></td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 24px; font-weight: bold; color: #000;\">Hi, {{FIRST_NAME}}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 16px; font-weight: 500; color: #333; padding-top: 20px;\">We’re so happy to have you.</td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>\r\n <table style=\"text-align: center; width: 100%;\">\r\n <tr>\r\n <td style=\"font-size: 24px; font-weight: bold; color: #000; padding: 30px 0\">Your team is waiting for you to join them</td>\r\n </tr>\r\n <tr>\r\n <td style=\"padding-bottom: 20px;\"><img src=\"{{PROFILE_IMAGE}}\" alt=\"X\" width=\"50px\" height=\"50px\" /></td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 14px; font-weight: 600; color: #2d2d39;\">{{CREATED_BY}} has invited you to collaborate on</td>\r\n </tr>\r\n <tr>\r\n <td style=\"padding: 10px 0; font-size: 12px; font-weight: bold; color: #5256b7;\">Platform X</td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 12px; font-weight: 400; color: #2d2d39; padding-bottom: 20px;\">Your Role: {{ROLE}}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"padding-bottom: 20px;\">\r\n <a href=\"{{URL}}\" style=\"display: inline-block; padding: 12.4px 40px; border-radius: 4px; background-color: #2d2d39; color: #fff; font-size: 16px; text-decoration: none;\">Join the team</a>\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td style=\"padding: 0 44px;\" class=\"padding29\">\r\n <table style=\"text-align: center; width: 100%; background-color: #fbfaff; padding: 10px\">\r\n <tr>\r\n <td style=\"font-size: 12px; font-weight: 400; color: #2d2d39;\">Your login information</td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 14px; font-weight: 400; color: #5256b7; padding: 10px 0;\">“Email : <span style=\"font-weight: 600;\"> {{USERNAME}}”</span></td>\r\n </tr>\r\n <tr>\r\n <td style=\"font-size: 14px; font-weight: 400; color: #5256b7;\">“Password : <span style=\"font-weight: 600;\">{{PASSWORD}}”</span></td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <tr>\r\n <td>\r\n <table style=\"width: 100%; padding: 30px; text-align: center;\" class=\"padding15\">\r\n <tr>\r\n <td style=\" border-top: 1px solid rgba(0, 0, 0, 0.2); padding: 15px 0; font-size: 24px; font-weight: bold; color: #2d2d39;\">Thank You!</td>\r\n </tr>\r\n <tr>\r\n <td style=\"color: #5c6574; font-size: 12px;\">Copyright © 2023</td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</body>\r\n</html>"
9
8
  }];
9
+ /** HTTP Request related constants */
10
+ exports.HTTP_CONTENT_TYPE_JSON = 'application/json';
11
+ exports.TRACE_ID_HEADER_NAME = 'Platform-X-Trace-Id';
12
+ exports.DEFAULT_APP_PORT = 8080;
13
+ exports.DEFAULT_APP_NAME = 'api-gateway';
14
+ exports.DEFAULT_REALM_NAME = 'platform-x';
15
+ exports.DynamicValues = {
16
+ SENDGRID_API_KEY: 'SENDGRID_API_KEY',
17
+ TWILIO_ACCOUNT_SID: 'TWILIO_ACCOUNT_SID',
18
+ TWILIO_AUTH_TOKEN: 'TWILIO_AUTH_TOKEN',
19
+ TWILIO_SENDER_NUMBER: 'TWILIO_SENDER_NUMBER',
20
+ MONGO_PASS: 'MONGO_PASS',
21
+ };
10
22
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare const style = "<style>\n .username {\n font-size:24px;\n }\n .main_div {\n background-color: #dff3ff;\n box-sizing: border-box;\n\t\t\t\t\t\t\tfont-family: Segoe, \"Segoe UI\", \"DejaVu Sans\", \"Trebuchet MS\", Verdana, \"sans-serif\"\n }\n table {\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n }\n .table_div {\n max-width: 600px;\n width: 100%;\n background-color: #fff;\n padding: 40px;\n border-radius: 5px;\n box-shadow: 8px 8px 16px 0 #b4e3ff;\n box-sizing: border-box;\n }\n .table_2 {\n width: 100%;\n padding-bottom: 30px;\n border-bottom: solid 1px #bfbfbf;\n margin-bottom: 30px;\n }\n .w-400 {\n width: 402px;\n }\n .w_h_30 {\n width: 40px;\n height: auto;\n }\n h1 {\n font-size: 24px;\n color: #000;\n text-transform: capitalize;\n margin: 0 0 20px;\n }\n .main_text {\n font-size: 16px;\n line-height: 1.5;\n color: #000000;\n margin: 0 0 30px;\n }\n a {\n color: #0077b5;\n }\n .mb_20 {\n margin-bottom: 20px;\n }\n .btn {\n display: block;\n width: 100px;\n padding: 15px 30px;\n font-size: 18px;\n font-weight: 600;\n color: #ffffff;\n text-align: center;\n background-color: #2D2D39;\n border-radius: 4px;\n text-decoration: none;\n }\n .border {\n margin-bottom: 30px;\n border-bottom: solid 1px #bfbfbf;\n padding-bottom: 30px;\n }\n .mb_pb_20 {\n margin-bottom: 30px;\n padding-bottom: 30px;\n }\n .sub_text {\n font-size: 14px;\n line-height: 1.5;\n color: #000000;\n margin: 26.5px 16px 15px 1px;\n }\n .link {\n font-size: 14px;\n font-weight: 600;\n color: #0077b5;\n margin-bottom: 20px;\n margin-right: 15px;\n }\n .thanks{\n font-size: 16px;\n line-height: 1.5;\n color: #000000;\n margin-top:40px\n }\n .mt_10{\n margin-top:10px\n }\n </style>\n";
@@ -0,0 +1,5 @@
1
+ import { SolrHttpDataSource } from '../util/solr-data-source/SolrHttpDataSource';
2
+ export declare class EmailDataSource extends SolrHttpDataSource {
3
+ constructor();
4
+ fetchPageModel(tagName: string, documentpath?: string): Promise<any>;
5
+ }
@@ -17,16 +17,25 @@ class EmailDataSource extends SolrHttpDataSource_1.SolrHttpDataSource {
17
17
  constructor() {
18
18
  super();
19
19
  }
20
- fetchPageModel(tagName) {
20
+ fetchPageModel(tagName, documentpath) {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  logger_1.Logger.info('emailModelDataSource: Reached fetchPageModel', 'fetchPageModel');
23
+ console.log('fetchPageModel tagName and documentpath ***********', tagName, documentpath);
23
24
  logger_1.Logger.debug('Before calling createQuery method', 'fetchPageModel', tagName);
24
- let queryRequest = {
25
- query: `hclplatformx_TagName:"email" AND name:"${tagName}"`,
26
- };
25
+ const escapeSolrValue = (value) => value.replace(/([\\"])/g, '\\$1');
26
+ const baseQuery = `hclplatformx_TagName:"email" AND name:"${escapeSolrValue(tagName)}"`;
27
+ const query = documentpath
28
+ ? `${baseQuery} AND documentpath:"${escapeSolrValue(documentpath)}"`
29
+ : baseQuery;
30
+ console.log('Constructed Solr query ***********', query);
31
+ logger_1.Logger.info(`Constructed Solr query: ${query}`, 'fetchPageModel');
32
+ const queryRequest = { query };
33
+ console.log('queryRequest object ***********', queryRequest);
34
+ logger_1.Logger.info(`Calling createQuery with queryRequest: ${JSON.stringify(queryRequest)}`, 'fetchPageModel');
27
35
  this.createQuery(queryRequest);
28
36
  logger_1.Logger.debug('Reached fetchPageModel', 'fetchPageModel', queryRequest);
29
37
  let response = yield this.executeSearch();
38
+ console.log('Solr response ***********', response);
30
39
  logger_1.Logger.debug('Reached fetchPageModel', 'fetchPageModel', response);
31
40
  return response;
32
41
  });
@@ -0,0 +1,8 @@
1
+ import mongoose from 'mongoose';
2
+ declare const _default: {
3
+ database: mongoose.Connection;
4
+ mongoose: typeof mongoose;
5
+ connect: () => Promise<void>;
6
+ disconnect: () => void;
7
+ };
8
+ export default _default;