@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.
- package/dist/src/common/service/requestService.d.ts +26 -0
- package/dist/src/common/service/requestService.js +1 -79
- package/dist/src/common/service/secretKeyManager.services.d.ts +0 -0
- package/{src/common/service/secretKeyManager.services.ts → dist/src/common/service/secretKeyManager.services.js} +2 -1
- package/dist/src/common/service/twilioService.d.ts +19 -0
- package/dist/src/common/service/twilioService.js +11 -3
- package/dist/src/common/util/commonUtil.d.ts +22 -0
- package/dist/src/common/util/commonUtil.js +1 -119
- package/dist/src/common/util/errorHandler.d.ts +44 -0
- package/dist/src/common/util/errorHandler.js +6 -4
- package/dist/src/common/util/logger.d.ts +68 -0
- package/dist/src/common/util/logger.js +1 -1
- package/dist/src/common/util/requestTracer.d.ts +2 -0
- package/dist/src/common/util/requestTracer.js +1 -18
- package/dist/src/common/util/solrConnector.d.ts +47 -0
- package/dist/src/common/util/solrConnector.js +226 -85
- package/dist/src/config/index.d.ts +30 -0
- package/dist/src/config/index.js +4 -49
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +22 -0
- package/dist/src/platform-x/constants/index.d.ts +18 -0
- package/dist/src/platform-x/constants/index.js +14 -2
- package/dist/src/platform-x/constants/style.d.ts +1 -0
- package/dist/src/platform-x/dataSource/emailDataSource.d.ts +5 -0
- package/dist/src/platform-x/dataSource/emailDataSource.js +13 -4
- package/dist/src/platform-x/database/connection.d.ts +8 -0
- package/dist/src/platform-x/database/connection.js +6 -3
- package/dist/src/platform-x/database/dao/formBuilder.dao.d.ts +9 -0
- package/dist/src/platform-x/database/dao/formBuilder.dao.js +1 -1
- package/dist/src/platform-x/database/index.d.ts +7 -0
- package/dist/src/platform-x/database/models/formBuilder.model.d.ts +34 -0
- package/dist/src/platform-x/util/emailHandler.d.ts +62 -0
- package/dist/src/platform-x/util/emailHandler.js +148 -56
- package/dist/src/platform-x/util/emailTemplate.d.ts +4 -0
- package/dist/src/platform-x/util/emailTemplate.js +1 -4
- package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.d.ts +29 -0
- package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js +45 -31
- package/package.json +1 -1
- package/dist/jest-setup.js +0 -28
- package/dist/jest-setup.js.map +0 -1
- package/dist/src/common/controllers/common_controller.js +0 -72
- package/dist/src/common/controllers/common_controller.js.map +0 -1
- package/dist/src/common/controllers/index.js +0 -29
- package/dist/src/common/controllers/index.js.map +0 -1
- package/dist/src/common/middleware/commonMiddleware.js +0 -141
- package/dist/src/common/middleware/commonMiddleware.js.map +0 -1
- package/dist/src/common/service/requestService.js.map +0 -1
- package/dist/src/common/service/twilioService.js.map +0 -1
- package/dist/src/common/util/commonUtil.js.map +0 -1
- package/dist/src/common/util/constants.js +0 -18
- package/dist/src/common/util/constants.js.map +0 -1
- package/dist/src/common/util/errorHandler.js.map +0 -1
- package/dist/src/common/util/httpCodes.js +0 -26
- package/dist/src/common/util/httpCodes.js.map +0 -1
- package/dist/src/common/util/logger.js.map +0 -1
- package/dist/src/common/util/requestTracer.js.map +0 -1
- package/dist/src/common/util/solrConnector.js.map +0 -1
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/platform-x/app.js +0 -35
- package/dist/src/platform-x/app.js.map +0 -1
- package/dist/src/platform-x/constants/index.js.map +0 -1
- package/dist/src/platform-x/constants/style.js.map +0 -1
- package/dist/src/platform-x/controllers/cronController.js +0 -399
- package/dist/src/platform-x/controllers/cronController.js.map +0 -1
- package/dist/src/platform-x/controllers/fileUploadController.js +0 -76
- package/dist/src/platform-x/controllers/fileUploadController.js.map +0 -1
- package/dist/src/platform-x/controllers/graphRESTControllers.js +0 -183
- package/dist/src/platform-x/controllers/graphRESTControllers.js.map +0 -1
- package/dist/src/platform-x/controllers/index.js +0 -30
- package/dist/src/platform-x/controllers/index.js.map +0 -1
- package/dist/src/platform-x/controllers/siteDomainController.js +0 -74
- package/dist/src/platform-x/controllers/siteDomainController.js.map +0 -1
- package/dist/src/platform-x/dataSource/emailDataSource.js.map +0 -1
- package/dist/src/platform-x/database/connection.js.map +0 -1
- package/dist/src/platform-x/database/dao/formBuilder.dao.js.map +0 -1
- package/dist/src/platform-x/database/dao/siteDomain.dao.js +0 -73
- package/dist/src/platform-x/database/dao/siteDomain.dao.js.map +0 -1
- package/dist/src/platform-x/database/index.js.map +0 -1
- package/dist/src/platform-x/database/interfaces/site_domain.interface.js +0 -3
- package/dist/src/platform-x/database/interfaces/site_domain.interface.js.map +0 -1
- package/dist/src/platform-x/database/models/formBuilder.model.js.map +0 -1
- package/dist/src/platform-x/database/models/site_domains.model.js +0 -51
- package/dist/src/platform-x/database/models/site_domains.model.js.map +0 -1
- package/dist/src/platform-x/routes/index.js +0 -19
- package/dist/src/platform-x/routes/index.js.map +0 -1
- package/dist/src/platform-x/services/cron.services.js +0 -117
- package/dist/src/platform-x/services/cron.services.js.map +0 -1
- package/dist/src/platform-x/util/emailHandler.js.map +0 -1
- package/dist/src/platform-x/util/emailTemplate.js.map +0 -1
- package/dist/src/platform-x/util/solr-data-source/SolrHttpDataSource.js.map +0 -1
- package/dist/src/server.js +0 -38
- package/dist/src/server.js.map +0 -1
- package/dist/swagger.json +0 -247
- package/dist/test/controllers/common_controller.spec.js +0 -79
- package/dist/test/controllers/common_controller.spec.js.map +0 -1
- package/dist/test/middleware/commonMiddleware.spec.js +0 -88
- package/dist/test/middleware/commonMiddleware.spec.js.map +0 -1
- package/dist/test/platform-x/controllers/graphRESTControllers.spec.js +0 -195
- package/dist/test/platform-x/controllers/graphRESTControllers.spec.js.map +0 -1
- package/dist/test/platform-x/datasource/emailDataSource.spec.js +0 -81
- package/dist/test/platform-x/datasource/emailDataSource.spec.js.map +0 -1
- package/dist/test/platform-x/util/emailHandler.spec.js +0 -474
- package/dist/test/platform-x/util/emailHandler.spec.js.map +0 -1
- package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js +0 -80
- package/dist/test/platform-x/util/solr-data-source/SolrHttpDataSource.spec.js.map +0 -1
- package/dist/test/services/requestService.spec.js +0 -108
- package/dist/test/services/requestService.spec.js.map +0 -1
- package/dist/test/services/requestServiceGet.spec.js +0 -43
- package/dist/test/services/requestServiceGet.spec.js.map +0 -1
- package/dist/test/src/common/service/twilioService.spec.js +0 -65
- package/dist/test/src/common/service/twilioService.spec.js.map +0 -1
- package/dist/test/util/commonUtil.spec.js +0 -110
- package/dist/test/util/commonUtil.spec.js.map +0 -1
- package/dist/test/util/logger.spec.js +0 -51
- package/dist/test/util/logger.spec.js.map +0 -1
- package/dist/test/util/requestTracer.spec.js +0 -64
- package/dist/test/util/requestTracer.spec.js.map +0 -1
- package/dist/test/util/solrconnector.spec.js +0 -145
- package/dist/test/util/solrconnector.spec.js.map +0 -1
- package/src/common/service/requestService.ts +0 -87
- package/src/common/service/twilioService.ts +0 -58
- package/src/common/util/commonUtil.ts +0 -39
- package/src/common/util/errorHandler.ts +0 -120
- package/src/common/util/logger.ts +0 -215
- package/src/common/util/requestTracer.ts +0 -10
- package/src/common/util/solrConnector.ts +0 -319
- package/src/config/index.ts +0 -35
- package/src/index.ts +0 -34
- package/src/platform-x/constants/index.ts +0 -20
- package/src/platform-x/constants/style.ts +0 -99
- package/src/platform-x/dataSource/emailDataSource.ts +0 -38
- package/src/platform-x/database/connection.ts +0 -47
- package/src/platform-x/database/dao/formBuilder.dao.ts +0 -33
- package/src/platform-x/database/index.ts +0 -7
- package/src/platform-x/database/models/formBuilder.model.ts +0 -23
- package/src/platform-x/util/emailHandler.ts +0 -585
- package/src/platform-x/util/emailTemplate.ts +0 -66
- package/src/platform-x/util/solr-data-source/SolrHttpDataSource.ts +0 -97
- package/src/templates/orderPlaced.ejs +0 -173
- package/src/templates/orderPlaced.html +0 -190
- package/tsconfig.json +0 -73
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface RequestHandlerPostOptions {
|
|
2
|
+
url: string;
|
|
3
|
+
body: any;
|
|
4
|
+
options?: any;
|
|
5
|
+
}
|
|
6
|
+
interface RequestHandlerGetOptions {
|
|
7
|
+
url: string;
|
|
8
|
+
options?: any;
|
|
9
|
+
}
|
|
10
|
+
export declare class HttpRequestHandler {
|
|
11
|
+
private requestTimeout;
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* post - handler to do post api calls
|
|
15
|
+
* @param requestConfig
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
post(requestConfig: RequestHandlerPostOptions): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* get - handler to do get api calls
|
|
21
|
+
* @param requestConfig
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
get(requestConfig: RequestHandlerGetOptions): Promise<any>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -15,10 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.HttpRequestHandler = void 0;
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
17
|
const logger_1 = require("../util/logger");
|
|
18
|
-
const requestTracer_1 = require("../util/requestTracer");
|
|
19
18
|
const https_1 = __importDefault(require("https"));
|
|
20
|
-
const constants_1 = require("../util/constants");
|
|
21
19
|
const errorHandler_1 = require("../util/errorHandler");
|
|
20
|
+
const constants_1 = require("../../platform-x/constants");
|
|
22
21
|
class HttpRequestHandler {
|
|
23
22
|
// NOSONAR-NEXT-LINE
|
|
24
23
|
constructor() {
|
|
@@ -45,7 +44,6 @@ class HttpRequestHandler {
|
|
|
45
44
|
if (!options.headers) {
|
|
46
45
|
options.headers = {};
|
|
47
46
|
}
|
|
48
|
-
options.headers['Platform-X-Trace-Id'] = (0, requestTracer_1.getTraceId)() || '';
|
|
49
47
|
options.timeout = this.requestTimeout;
|
|
50
48
|
return axios_1.default
|
|
51
49
|
.post(url, body, options)
|
|
@@ -78,7 +76,6 @@ class HttpRequestHandler {
|
|
|
78
76
|
if (!options.headers) {
|
|
79
77
|
options.headers = {};
|
|
80
78
|
}
|
|
81
|
-
options.headers['Platform-X-Trace-Id'] = (0, requestTracer_1.getTraceId)() || '';
|
|
82
79
|
options.timeout = this.requestTimeout;
|
|
83
80
|
return axios_1.default
|
|
84
81
|
.get(url, options)
|
|
@@ -94,81 +91,6 @@ class HttpRequestHandler {
|
|
|
94
91
|
});
|
|
95
92
|
});
|
|
96
93
|
}
|
|
97
|
-
/**
|
|
98
|
-
* getStream- handler to ftech data as stream
|
|
99
|
-
* @param axiosConfig
|
|
100
|
-
* @returns
|
|
101
|
-
*/
|
|
102
|
-
getStream(axiosConfig) {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
logger_1.Logger.info('HttpRequestHandler: Reached getStream method', 'getStream');
|
|
105
|
-
let { url } = axiosConfig;
|
|
106
|
-
return new Promise((resolve, reject) => {
|
|
107
|
-
(0, axios_1.default)({
|
|
108
|
-
method: 'get',
|
|
109
|
-
url,
|
|
110
|
-
responseType: 'stream',
|
|
111
|
-
timeout: this.requestTimeout,
|
|
112
|
-
headers: {
|
|
113
|
-
'Platform-X-Trace-Id': (0, requestTracer_1.getTraceId)() || '',
|
|
114
|
-
},
|
|
115
|
-
})
|
|
116
|
-
.then((response) => {
|
|
117
|
-
logger_1.Logger.info('HttpRequestHandler: Successfull Response', 'getStream');
|
|
118
|
-
let { data, headers } = response;
|
|
119
|
-
let finalResponse = {
|
|
120
|
-
data,
|
|
121
|
-
headers,
|
|
122
|
-
};
|
|
123
|
-
resolve(finalResponse);
|
|
124
|
-
})
|
|
125
|
-
.catch((err) => {
|
|
126
|
-
var _a;
|
|
127
|
-
let apiError = new errorHandler_1.ApiError(err.message, (_a = err.response) === null || _a === void 0 ? void 0 : _a.status);
|
|
128
|
-
logger_1.Logger.error('HttpRequestHandler: Error in getStream', 'getStream', err);
|
|
129
|
-
reject(apiError);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* delete - handler to do delete api calls
|
|
136
|
-
* @param requestConfig
|
|
137
|
-
* @returns
|
|
138
|
-
*/
|
|
139
|
-
delete(requestConfig) {
|
|
140
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
logger_1.Logger.info('HttpRequestHandler: Reached delete method', 'delete');
|
|
142
|
-
const { url, body } = requestConfig;
|
|
143
|
-
const defaultOptions = {
|
|
144
|
-
headers: {
|
|
145
|
-
'Content-Type': constants_1.HTTP_CONTENT_TYPE_JSON,
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
|
-
let options = requestConfig.options || defaultOptions;
|
|
149
|
-
options.httpsAgent = new https_1.default.Agent({
|
|
150
|
-
rejectUnauthorized: true,
|
|
151
|
-
});
|
|
152
|
-
if (!options.headers) {
|
|
153
|
-
options.headers = {};
|
|
154
|
-
}
|
|
155
|
-
options.headers['Platform-X-Trace-Id'] = (0, requestTracer_1.getTraceId)() || '';
|
|
156
|
-
options.timeout = this.requestTimeout;
|
|
157
|
-
options.data = body;
|
|
158
|
-
return axios_1.default
|
|
159
|
-
.delete(url, options)
|
|
160
|
-
.then((res) => {
|
|
161
|
-
logger_1.Logger.info('HttpRequestHandler: Successfull Response', 'delete');
|
|
162
|
-
return res.data;
|
|
163
|
-
})
|
|
164
|
-
.catch((err) => {
|
|
165
|
-
var _a;
|
|
166
|
-
let apiError = new errorHandler_1.ApiError(err.message, (_a = err.response) === null || _a === void 0 ? void 0 : _a.status);
|
|
167
|
-
logger_1.Logger.error('HttpRequestHandler: Error in delete', 'delete', err);
|
|
168
|
-
throw apiError;
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
94
|
}
|
|
173
95
|
exports.HttpRequestHandler = HttpRequestHandler;
|
|
174
96
|
//# sourceMappingURL=requestService.js.map
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// import { secretManager } from 'hep-secret-access';
|
|
2
3
|
// import config from '../../config';
|
|
3
4
|
// import { DynamicValues } from '../../platform-x/constants';
|
|
4
|
-
|
|
5
5
|
// export class SecretKeyServices {
|
|
6
6
|
// private ruleCache = new Map<string, any | null>();
|
|
7
7
|
// /**
|
|
@@ -35,3 +35,4 @@
|
|
|
35
35
|
// }
|
|
36
36
|
// }
|
|
37
37
|
// }
|
|
38
|
+
//# sourceMappingURL=secretKeyManager.services.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class TwilioService {
|
|
2
|
+
private client;
|
|
3
|
+
private senderNumber;
|
|
4
|
+
/**
|
|
5
|
+
* Constructor to initialize Twilio client and sender number
|
|
6
|
+
* @param accountSid - Twilio Account SID
|
|
7
|
+
* @param authToken - Twilio Auth Token
|
|
8
|
+
* @param senderNumber - Twilio Sender Phone Number
|
|
9
|
+
*/
|
|
10
|
+
private constructor();
|
|
11
|
+
static TwilioClassObject(): Promise<TwilioService>;
|
|
12
|
+
/**
|
|
13
|
+
* Send an SMS using Twilio
|
|
14
|
+
* @param to - Recipient's phone number
|
|
15
|
+
* @param message - Message content
|
|
16
|
+
* @returns Promise resolving with the Twilio response
|
|
17
|
+
*/
|
|
18
|
+
sendSMS(to: string, message: string): Promise<import("twilio/lib/rest/api/v2010/account/message").MessageInstance>;
|
|
19
|
+
}
|
|
@@ -15,6 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.TwilioService = void 0;
|
|
16
16
|
const twilio_1 = __importDefault(require("twilio"));
|
|
17
17
|
const logger_1 = require("../util/logger");
|
|
18
|
+
const constants_1 = require("../../platform-x/constants");
|
|
19
|
+
const __1 = require("../..");
|
|
18
20
|
class TwilioService {
|
|
19
21
|
/**
|
|
20
22
|
* Constructor to initialize Twilio client and sender number
|
|
@@ -22,9 +24,15 @@ class TwilioService {
|
|
|
22
24
|
* @param authToken - Twilio Auth Token
|
|
23
25
|
* @param senderNumber - Twilio Sender Phone Number
|
|
24
26
|
*/
|
|
25
|
-
constructor(
|
|
26
|
-
this.client = (0, twilio_1.default)(
|
|
27
|
-
this.senderNumber =
|
|
27
|
+
constructor(twilioConfig) {
|
|
28
|
+
this.client = (0, twilio_1.default)(twilioConfig === null || twilioConfig === void 0 ? void 0 : twilioConfig[constants_1.DynamicValues === null || constants_1.DynamicValues === void 0 ? void 0 : constants_1.DynamicValues.TWILIO_ACCOUNT_SID], twilioConfig === null || twilioConfig === void 0 ? void 0 : twilioConfig[constants_1.DynamicValues === null || constants_1.DynamicValues === void 0 ? void 0 : constants_1.DynamicValues.TWILIO_AUTH_TOKEN]);
|
|
29
|
+
this.senderNumber = twilioConfig === null || twilioConfig === void 0 ? void 0 : twilioConfig[constants_1.DynamicValues === null || constants_1.DynamicValues === void 0 ? void 0 : constants_1.DynamicValues.TWILIO_SENDER_NUMBER];
|
|
30
|
+
}
|
|
31
|
+
static TwilioClassObject() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const secrets = yield (0, __1.getIAMSecrets)();
|
|
34
|
+
return new TwilioService(secrets);
|
|
35
|
+
});
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* Send an SMS using Twilio
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate a phone number for format and length
|
|
3
|
+
* @param phoneNumber
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export declare const validatePhoneNumber: (phoneNumber: string) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Validate a message for length and content
|
|
9
|
+
* @param message
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const validateMessage: (message: string) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Validate both phone number and message
|
|
15
|
+
* @param phoneNumber
|
|
16
|
+
* @param message
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare const validate: (phoneNumber: string, message: string) => {
|
|
20
|
+
valid: boolean;
|
|
21
|
+
errors: any;
|
|
22
|
+
};
|
|
@@ -1,112 +1,7 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
3
|
+
exports.validate = exports.validateMessage = exports.validatePhoneNumber = void 0;
|
|
16
4
|
const errorHandler_1 = require("./errorHandler");
|
|
17
|
-
const logger_1 = require("./logger");
|
|
18
|
-
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
19
|
-
const solrConnector_1 = require("./solrConnector");
|
|
20
|
-
/**
|
|
21
|
-
* handleErrorResponse - error handler
|
|
22
|
-
* @param {object} err- error object
|
|
23
|
-
*/
|
|
24
|
-
const handleErrorResponse = (err) => {
|
|
25
|
-
if (!err) {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return (0, errorHandler_1.errorMapper)(err).toJSON();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* handleResponse - response handler to create standard response
|
|
34
|
-
* @param {object} res- express Response
|
|
35
|
-
* @param {object} data- data param
|
|
36
|
-
* @param {object} err- err object
|
|
37
|
-
* @param {number} status- http status
|
|
38
|
-
*/
|
|
39
|
-
const handleResponse = (res, data, err, status) => {
|
|
40
|
-
logger_1.Logger.info('commonUtil: Reached handleResponse', 'handleResponse');
|
|
41
|
-
let code;
|
|
42
|
-
if (!err) {
|
|
43
|
-
code = status || 200 /* HTTP_STATUS_CODE.OK */;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
code =
|
|
47
|
-
status || err.code || 500 /* HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR */;
|
|
48
|
-
}
|
|
49
|
-
const response = {
|
|
50
|
-
code,
|
|
51
|
-
status: !err ? 'success' : 'error',
|
|
52
|
-
// NOSONAR-NEXT-LINE
|
|
53
|
-
data: !err ? (data ? data : null) : null,
|
|
54
|
-
error: handleErrorResponse(err),
|
|
55
|
-
};
|
|
56
|
-
logger_1.Logger.debug('Before sending response', 'handleResponse', response);
|
|
57
|
-
res.status(code).send(response);
|
|
58
|
-
};
|
|
59
|
-
exports.handleResponse = handleResponse;
|
|
60
|
-
/**
|
|
61
|
-
* stringToBase64 - to convert string into base64
|
|
62
|
-
* @param {string} toEncode- string request
|
|
63
|
-
*/
|
|
64
|
-
const stringToBase64 = (toEncode) => {
|
|
65
|
-
return Buffer.from(toEncode, 'ascii').toString('base64');
|
|
66
|
-
};
|
|
67
|
-
exports.stringToBase64 = stringToBase64;
|
|
68
|
-
/**
|
|
69
|
-
* base64ToString - to convert base64 into string
|
|
70
|
-
* @param {string} toDecode- string base64 request
|
|
71
|
-
*/
|
|
72
|
-
const base64ToString = (toDecode) => {
|
|
73
|
-
return Buffer.from(toDecode, 'base64').toString('ascii');
|
|
74
|
-
};
|
|
75
|
-
exports.base64ToString = base64ToString;
|
|
76
|
-
const decodeVerifiedAccessToken = (token) => {
|
|
77
|
-
logger_1.Logger.info('Authenticate: Reached decodeVerifiedAccessToken', 'decodeVerifiedAccessToken');
|
|
78
|
-
try {
|
|
79
|
-
return jsonwebtoken_1.default.decode(token);
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
logger_1.Logger.error('Error in decodeVerifiedAccessToken', 'decodeVerifiedAccessToken', err);
|
|
83
|
-
throw err;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
exports.decodeVerifiedAccessToken = decodeVerifiedAccessToken;
|
|
87
|
-
const getUrlEncoded = (sURL) => {
|
|
88
|
-
if (decodeURI(sURL) === sURL) {
|
|
89
|
-
return encodeURI(sURL);
|
|
90
|
-
}
|
|
91
|
-
return sURL;
|
|
92
|
-
};
|
|
93
|
-
exports.getUrlEncoded = getUrlEncoded;
|
|
94
|
-
const fetchDataSolr = (args, fields, filterType, sortData, filterQuery, solrCore) => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
-
try {
|
|
96
|
-
logger_1.Logger.info('solrResolver: Reached fetchDataSolr', 'fetchDataSolr');
|
|
97
|
-
const solr_core = solrCore || 'platform-x';
|
|
98
|
-
const solrClient = new solrConnector_1.SolrClient(solr_core);
|
|
99
|
-
logger_1.Logger.debug('solrResolver: Reached fetchDataSolr', 'fetchDataSolr', solrClient);
|
|
100
|
-
let response = yield solrClient.solrSearch(args, fields, filterType, sortData, filterQuery);
|
|
101
|
-
logger_1.Logger.debug('solrResolver: Reached fetchDataSolr', 'fetchDataSolr', response);
|
|
102
|
-
return response;
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
logger_1.Logger.error('fetchDataSolr: Error while fetching data', 'fetchDataSolr', err);
|
|
106
|
-
(0, errorHandler_1.throwError)(err);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
exports.fetchDataSolr = fetchDataSolr;
|
|
110
5
|
/**
|
|
111
6
|
* Validate a phone number for format and length
|
|
112
7
|
* @param phoneNumber
|
|
@@ -146,17 +41,4 @@ const validate = (phoneNumber, message) => {
|
|
|
146
41
|
return { valid: true, errors: '' };
|
|
147
42
|
};
|
|
148
43
|
exports.validate = validate;
|
|
149
|
-
/**
|
|
150
|
-
* get two days before deadline date
|
|
151
|
-
* @returns
|
|
152
|
-
*/
|
|
153
|
-
const getTwoDaysBeforeDeadlineWindow = () => {
|
|
154
|
-
const today = new Date();
|
|
155
|
-
today.setUTCHours(0, 0, 0, 0); // Start of the day
|
|
156
|
-
const deadlineLimit = new Date(today);
|
|
157
|
-
deadlineLimit.setUTCDate(today.getUTCDate() + 2);
|
|
158
|
-
deadlineLimit.setUTCHours(23, 59, 59, 999); // End of deadline day
|
|
159
|
-
return { deadlineLimit, today };
|
|
160
|
-
};
|
|
161
|
-
exports.getTwoDaysBeforeDeadlineWindow = getTwoDaysBeforeDeadlineWindow;
|
|
162
44
|
//# sourceMappingURL=commonUtil.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare const enum HTTP_STATUS_CODE {
|
|
2
|
+
INTERNAL_SERVER_ERROR = 500
|
|
3
|
+
}
|
|
4
|
+
export declare const HTTP_STATUS_MAP: Map<number, string>;
|
|
5
|
+
export declare const enum HTTP_STATUS_TYPE {
|
|
6
|
+
INTERNAL_SERVER_ERROR = "Internal Server Error"
|
|
7
|
+
}
|
|
8
|
+
export declare class CommonErrorTemplate extends Error {
|
|
9
|
+
code: number;
|
|
10
|
+
type: string;
|
|
11
|
+
constructor(msg: string, code?: number);
|
|
12
|
+
toJSON(): {
|
|
13
|
+
code: number;
|
|
14
|
+
type: string;
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare class ApiError extends CommonErrorTemplate {
|
|
19
|
+
constructor(msg: string, code?: number);
|
|
20
|
+
}
|
|
21
|
+
export declare class SolrError extends CommonErrorTemplate {
|
|
22
|
+
constructor(msg: string, code?: number);
|
|
23
|
+
}
|
|
24
|
+
export declare class CustomError {
|
|
25
|
+
code: number | undefined;
|
|
26
|
+
type: string | undefined;
|
|
27
|
+
message: string | undefined;
|
|
28
|
+
stack: string | undefined;
|
|
29
|
+
errorObj: Error | undefined | null;
|
|
30
|
+
constructor(errObj?: any, code?: number, type?: string, message?: string, stack?: string);
|
|
31
|
+
toJSON(): {
|
|
32
|
+
code: number | undefined;
|
|
33
|
+
type: string | undefined;
|
|
34
|
+
message: string | undefined;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* errorMapper - to map error object to custom error
|
|
39
|
+
*/
|
|
40
|
+
export declare const errorMapper: (err: any, statusCode?: number, type?: string) => any;
|
|
41
|
+
/**
|
|
42
|
+
* throwError - to throw custome error
|
|
43
|
+
*/
|
|
44
|
+
export declare const throwError: (err: any, statusCode?: number, type?: string) => never;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.throwError = exports.errorMapper = exports.CustomError = exports.SolrError = exports.ApiError = exports.CommonErrorTemplate = void 0;
|
|
4
|
-
|
|
3
|
+
exports.throwError = exports.errorMapper = exports.CustomError = exports.SolrError = exports.ApiError = exports.CommonErrorTemplate = exports.HTTP_STATUS_MAP = void 0;
|
|
4
|
+
exports.HTTP_STATUS_MAP = new Map([
|
|
5
|
+
[500, 'Internal Server Error']
|
|
6
|
+
]);
|
|
5
7
|
class CommonErrorTemplate extends Error {
|
|
6
8
|
constructor(msg, code) {
|
|
7
9
|
super(msg);
|
|
8
10
|
this.code = code || 500 /* HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR */;
|
|
9
11
|
this.type =
|
|
10
|
-
|
|
12
|
+
exports.HTTP_STATUS_MAP.get(this.code) || "Internal Server Error" /* HTTP_STATUS_TYPE.INTERNAL_SERVER_ERROR */;
|
|
11
13
|
}
|
|
12
14
|
toJSON() {
|
|
13
15
|
return {
|
|
@@ -59,7 +61,7 @@ const errorMapper = (err, statusCode, type) => {
|
|
|
59
61
|
let error;
|
|
60
62
|
let customError;
|
|
61
63
|
let code = statusCode || 500 /* HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR */;
|
|
62
|
-
let errorType = type ||
|
|
64
|
+
let errorType = type || exports.HTTP_STATUS_MAP.get(code) || "Internal Server Error" /* HTTP_STATUS_TYPE.INTERNAL_SERVER_ERROR */;
|
|
63
65
|
if (typeof err === 'string') {
|
|
64
66
|
error = new Error(err);
|
|
65
67
|
customError = new CustomError(null, code, errorType, error.message, error.stack);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export interface payLoadInterface {
|
|
2
|
+
statusCode?: number;
|
|
3
|
+
data?: any;
|
|
4
|
+
}
|
|
5
|
+
export interface LoggerInterface {
|
|
6
|
+
info(message: string, method: string): void;
|
|
7
|
+
warn(message: string, method: string, payload?: object): void;
|
|
8
|
+
error(message: string, method: string, payload?: object): void;
|
|
9
|
+
debug(message: string, method: string, payload?: object): void;
|
|
10
|
+
}
|
|
11
|
+
export declare class LoggerClass implements LoggerInterface {
|
|
12
|
+
private logger;
|
|
13
|
+
private infoLevel;
|
|
14
|
+
private debugLevel;
|
|
15
|
+
private errorLevel;
|
|
16
|
+
private warnLevel;
|
|
17
|
+
private blockedKeywords;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* It's written to handle JSON.circular error
|
|
21
|
+
* @param obj
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
customstringify(obj: any): string;
|
|
25
|
+
/**
|
|
26
|
+
* for info log
|
|
27
|
+
* @param message
|
|
28
|
+
* @param payload
|
|
29
|
+
* @param method
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
info(message: string, method: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* for warn log
|
|
35
|
+
* @param message
|
|
36
|
+
* @param payload
|
|
37
|
+
* @param method
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
warn(message: string, method: string, payload?: any): void;
|
|
41
|
+
/**
|
|
42
|
+
* for error log
|
|
43
|
+
* @param message
|
|
44
|
+
* @param payload
|
|
45
|
+
* @param method
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
error(message: string, method: string, payload?: any): void;
|
|
49
|
+
/**
|
|
50
|
+
* for debug log
|
|
51
|
+
* @param message
|
|
52
|
+
* @param payload
|
|
53
|
+
* @param method
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
debug(message: string, method: string, payload?: any): void;
|
|
57
|
+
/**
|
|
58
|
+
* to map log levels and handle from config
|
|
59
|
+
*/
|
|
60
|
+
private mapLogLevels;
|
|
61
|
+
/**
|
|
62
|
+
* to sanitize logs from unwanted fields to be shown
|
|
63
|
+
* @param request
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
private sanitizeLog;
|
|
67
|
+
}
|
|
68
|
+
export declare const Logger: LoggerClass;
|
|
@@ -18,7 +18,7 @@ class LoggerClass {
|
|
|
18
18
|
this.mapLogLevels();
|
|
19
19
|
this.logger = bunyan_1.default.createLogger({
|
|
20
20
|
name: index_1.default.APP_NAME,
|
|
21
|
-
level: 'trace',
|
|
21
|
+
level: 'trace', // by default enabling all levels, controlled through env separately
|
|
22
22
|
stream: (0, bunyan_format_1.default)({
|
|
23
23
|
outputMode: index_1.default.NODE_ENV === 'development' ? 'short' : 'bunyan',
|
|
24
24
|
levelInString: true,
|
|
@@ -3,30 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getSpanId = exports.getTraceId =
|
|
7
|
-
const constants_1 = require("./constants");
|
|
6
|
+
exports.getSpanId = exports.getTraceId = void 0;
|
|
8
7
|
const cls_hooked_1 = __importDefault(require("cls-hooked"));
|
|
9
8
|
const uuid_1 = require("uuid");
|
|
10
9
|
const nsid = `rtracer:${(0, uuid_1.v4)()}`;
|
|
11
10
|
const ns = cls_hooked_1.default.createNamespace(nsid);
|
|
12
11
|
const traceIdKey = 'traceId';
|
|
13
12
|
const spanIdKey = 'spanId';
|
|
14
|
-
/**
|
|
15
|
-
* setTracers - to set the request tracers on the request
|
|
16
|
-
*/
|
|
17
|
-
const setTracers = (req, res, next) => {
|
|
18
|
-
const headerName = constants_1.TRACE_ID_HEADER_NAME.toLocaleLowerCase();
|
|
19
|
-
ns.bindEmitter(req);
|
|
20
|
-
ns.bindEmitter(res);
|
|
21
|
-
const traceId = req.headers[headerName] || (0, uuid_1.v4)(); // to be passed in headers
|
|
22
|
-
const spanId = (0, uuid_1.v4)(); // will be unique for services
|
|
23
|
-
ns.run(() => {
|
|
24
|
-
ns.set(traceIdKey, traceId);
|
|
25
|
-
ns.set(spanIdKey, spanId);
|
|
26
|
-
next();
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
exports.setTracers = setTracers;
|
|
30
13
|
const getTraceId = () => ns.get(traceIdKey);
|
|
31
14
|
exports.getTraceId = getTraceId;
|
|
32
15
|
const getSpanId = () => ns.get(spanIdKey);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
interface SolrQuery {
|
|
2
|
+
query(query: string | object | null | undefined): any;
|
|
3
|
+
paginate(start?: number, rows?: number): any;
|
|
4
|
+
filterList(fields: object | string[] | null | undefined): any;
|
|
5
|
+
sort(fields: object | string[] | null | undefined): any;
|
|
6
|
+
filterQuery(fields: object | string[] | null | undefined): any;
|
|
7
|
+
facet(fields: object | string | null | undefined): any;
|
|
8
|
+
}
|
|
9
|
+
export declare class SolrClient {
|
|
10
|
+
private host;
|
|
11
|
+
private port;
|
|
12
|
+
private core;
|
|
13
|
+
private path;
|
|
14
|
+
private httpClient;
|
|
15
|
+
private queryParams;
|
|
16
|
+
private secure;
|
|
17
|
+
constructor(core?: string);
|
|
18
|
+
getQuery(): any;
|
|
19
|
+
createQuery(): SolrQuery;
|
|
20
|
+
executeSearch(): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* solrSearch - fn to call solr search via Solr 9 HTTP API
|
|
23
|
+
* @param queryParams
|
|
24
|
+
* @param fields
|
|
25
|
+
* @param fieldType
|
|
26
|
+
* @param sortData
|
|
27
|
+
* @param filterQuery
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
solrSearch(queryParams: any, fields?: any, fieldType?: any, sortData?: any, filterQuery?: any): Promise<any>;
|
|
31
|
+
/**
|
|
32
|
+
* Function to delete document from solr via Solr 9 HTTP API
|
|
33
|
+
* @param query
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
deleteByQuery(query: string | object): Promise<boolean>;
|
|
37
|
+
private _executeHttpRequest;
|
|
38
|
+
private _handleSearchError;
|
|
39
|
+
private _checkSolrResponse;
|
|
40
|
+
private query;
|
|
41
|
+
private paginate;
|
|
42
|
+
private filterList;
|
|
43
|
+
private sort;
|
|
44
|
+
private facet;
|
|
45
|
+
private filterQuery;
|
|
46
|
+
}
|
|
47
|
+
export {};
|