@creator.co/wapi 1.2.4 → 1.2.6
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/.github/workflows/npmpublish.yml +1 -1
- package/README.md +216 -5
- package/dist/index.d.ts +15 -0
- package/dist/index.js.map +1 -1
- package/dist/jest.config.js +1 -1
- package/dist/jest.config.js.map +1 -1
- package/dist/package.json +13 -2
- package/dist/src/API/Request.d.ts +45 -82
- package/dist/src/API/Request.js +49 -77
- package/dist/src/API/Request.js.map +1 -1
- package/dist/src/API/Response.d.ts +94 -163
- package/dist/src/API/Response.js +101 -161
- package/dist/src/API/Response.js.map +1 -1
- package/dist/src/API/Utils.d.ts +21 -42
- package/dist/src/API/Utils.js +22 -43
- package/dist/src/API/Utils.js.map +1 -1
- package/dist/src/BaseEvent/EventProcessor.d.ts +32 -55
- package/dist/src/BaseEvent/EventProcessor.js +30 -38
- package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
- package/dist/src/BaseEvent/Process.d.ts +20 -43
- package/dist/src/BaseEvent/Process.js +16 -27
- package/dist/src/BaseEvent/Process.js.map +1 -1
- package/dist/src/BaseEvent/Transaction.d.ts +104 -2
- package/dist/src/BaseEvent/Transaction.js +196 -41
- package/dist/src/BaseEvent/Transaction.js.map +1 -1
- package/dist/src/Config/Configuration.d.ts +48 -66
- package/dist/src/Config/Configuration.js +25 -42
- package/dist/src/Config/Configuration.js.map +1 -1
- package/dist/src/Config/EnvironmentVar.d.ts +30 -57
- package/dist/src/Config/EnvironmentVar.js +28 -41
- package/dist/src/Config/EnvironmentVar.js.map +1 -1
- package/dist/src/Crypto/Crypto.d.ts +17 -35
- package/dist/src/Crypto/Crypto.js +12 -21
- package/dist/src/Crypto/Crypto.js.map +1 -1
- package/dist/src/Crypto/JWT.d.ts +21 -32
- package/dist/src/Crypto/JWT.js +14 -22
- package/dist/src/Crypto/JWT.js.map +1 -1
- package/dist/src/Database/Database.d.ts +18 -0
- package/dist/src/Database/Database.js +18 -0
- package/dist/src/Database/Database.js.map +1 -0
- package/dist/src/Database/DatabaseManager.d.ts +32 -0
- package/dist/src/Database/DatabaseManager.js +50 -0
- package/dist/src/Database/DatabaseManager.js.map +1 -0
- package/dist/src/Database/DatabaseTransaction.d.ts +65 -0
- package/dist/src/Database/DatabaseTransaction.js +183 -0
- package/dist/src/Database/DatabaseTransaction.js.map +1 -0
- package/dist/src/Database/integrations/knex/KnexDatabase.d.ts +22 -0
- package/dist/src/Database/integrations/knex/KnexDatabase.js +108 -0
- package/dist/src/Database/integrations/knex/KnexDatabase.js.map +1 -0
- package/dist/src/Database/integrations/knex/KnexTransaction.d.ts +37 -0
- package/dist/src/Database/integrations/knex/KnexTransaction.js +60 -0
- package/dist/src/Database/integrations/knex/KnexTransaction.js.map +1 -0
- package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +30 -0
- package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +108 -0
- package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +1 -0
- package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +37 -0
- package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +60 -0
- package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +1 -0
- package/dist/src/Globals.d.ts +26 -94
- package/dist/src/Globals.js +26 -95
- package/dist/src/Globals.js.map +1 -1
- package/dist/src/Logger/Logger.d.ts +82 -105
- package/dist/src/Logger/Logger.js +111 -136
- package/dist/src/Logger/Logger.js.map +1 -1
- package/dist/src/Mailer/Mailer.d.ts +39 -75
- package/dist/src/Mailer/Mailer.js +36 -65
- package/dist/src/Mailer/Mailer.js.map +1 -1
- package/dist/src/Publisher/Publisher.d.ts +17 -25
- package/dist/src/Publisher/Publisher.js +21 -32
- package/dist/src/Publisher/Publisher.js.map +1 -1
- package/dist/src/Server/RouteResolver.d.ts +14 -22
- package/dist/src/Server/RouteResolver.js +21 -34
- package/dist/src/Server/RouteResolver.js.map +1 -1
- package/dist/src/Server/Router.d.ts +72 -51
- package/dist/src/Server/Router.js +8 -17
- package/dist/src/Server/Router.js.map +1 -1
- package/dist/src/Server/lib/ContainerServer.d.ts +15 -31
- package/dist/src/Server/lib/ContainerServer.js +13 -28
- package/dist/src/Server/lib/ContainerServer.js.map +1 -1
- package/dist/src/Server/lib/Server.d.ts +17 -32
- package/dist/src/Server/lib/Server.js +18 -28
- package/dist/src/Server/lib/Server.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandler.d.ts +5 -0
- package/dist/src/Server/lib/container/GenericHandler.js +16 -3
- package/dist/src/Server/lib/container/GenericHandler.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +22 -37
- package/dist/src/Server/lib/container/GenericHandlerEvent.js +29 -41
- package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
- package/dist/src/Server/lib/container/HealthHandler.d.ts +6 -0
- package/dist/src/Server/lib/container/HealthHandler.js +6 -0
- package/dist/src/Server/lib/container/HealthHandler.js.map +1 -1
- package/dist/src/Server/lib/container/Proxy.d.ts +24 -52
- package/dist/src/Server/lib/container/Proxy.js +52 -52
- package/dist/src/Server/lib/container/Proxy.js.map +1 -1
- package/dist/src/Server/lib/container/Utils.d.ts +6 -10
- package/dist/src/Server/lib/container/Utils.js +6 -10
- package/dist/src/Server/lib/container/Utils.js.map +1 -1
- package/dist/src/Validation/Validator.d.ts +9 -13
- package/dist/src/Validation/Validator.js +8 -12
- package/dist/src/Validation/Validator.js.map +1 -1
- package/index.ts +15 -0
- package/jest.config.ts +1 -1
- package/package.json +13 -2
- package/src/API/Request.ts +66 -84
- package/src/API/Response.ts +144 -203
- package/src/API/Utils.ts +28 -44
- package/src/BaseEvent/EventProcessor.ts +52 -77
- package/src/BaseEvent/Process.ts +27 -52
- package/src/BaseEvent/Transaction.ts +147 -27
- package/src/Config/Configuration.ts +59 -76
- package/src/Config/EnvironmentVar.ts +39 -62
- package/src/Crypto/Crypto.ts +20 -36
- package/src/Crypto/JWT.ts +31 -35
- package/src/Database/Database.ts +19 -0
- package/src/Database/DatabaseManager.ts +51 -0
- package/src/Database/DatabaseTransaction.ts +118 -0
- package/src/Database/integrations/knex/KnexDatabase.ts +47 -0
- package/src/Database/integrations/knex/KnexTransaction.ts +51 -0
- package/src/Database/integrations/pgsql/PostgresDatabase.ts +49 -0
- package/src/Database/integrations/pgsql/PostgresTransaction.ts +54 -0
- package/src/Database/types.d.ts +49 -0
- package/src/Globals.ts +28 -96
- package/src/Logger/Logger.ts +141 -160
- package/src/Mailer/Mailer.ts +43 -76
- package/src/Publisher/Publisher.ts +31 -40
- package/src/Server/RouteResolver.ts +31 -52
- package/src/Server/Router.ts +75 -54
- package/src/Server/lib/ContainerServer.ts +20 -32
- package/src/Server/lib/Server.ts +19 -34
- package/src/Server/lib/container/GenericHandler.ts +17 -3
- package/src/Server/lib/container/GenericHandlerEvent.ts +44 -54
- package/src/Server/lib/container/HealthHandler.ts +6 -0
- package/src/Server/lib/container/Proxy.ts +39 -58
- package/src/Server/lib/container/Utils.ts +7 -10
- package/src/Validation/Validator.ts +11 -13
- package/tests/API/Response.test.ts +55 -56
- package/tests/BaseEvent/EventProcessor.test.ts +49 -50
- package/tests/BaseEvent/Process.test.ts +2 -2
- package/tests/BaseEvent/Transaction.test.ts +102 -44
- package/tests/Config/Config.test.ts +27 -27
- package/tests/Config/EnvironmentVar.test.ts +54 -18
- package/tests/Database/DatabaseManager.test.ts +55 -0
- package/tests/Database/integrations/knex/KnexDatabase.test.ts +53 -0
- package/tests/Database/integrations/knex/KnexTransaction.test.ts +133 -0
- package/tests/Database/integrations/pg/PostgresDatabase.test.ts +50 -0
- package/tests/Database/integrations/pg/PostgresTransaction.test.ts +51 -0
- package/tests/Publisher/Publisher.test.ts +3 -3
- package/tests/Server/lib/ContainerServer.test.ts +21 -22
- package/tests/Server/lib/container/GenericHandler.test.ts +31 -32
- package/tests/Server/lib/container/GenericHandlerEvent.test.ts +2 -2
- package/tests/Server/lib/container/HealthHandler.test.ts +6 -7
- package/tests/Server/lib/container/Proxy.test.ts +37 -35
- package/tsconfig.json +6 -1
|
@@ -15,14 +15,14 @@ exports.LOG_LEVELS = void 0;
|
|
|
15
15
|
var abind = require("abind");
|
|
16
16
|
var stringify = require("json-stringify-safe");
|
|
17
17
|
var stackTrace = require("stack-trace");
|
|
18
|
-
//
|
|
19
18
|
var Utils_1 = require("../API/Utils");
|
|
20
|
-
//
|
|
21
19
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
* @
|
|
20
|
+
* Enumeration of log levels.
|
|
21
|
+
* @enum {string}
|
|
22
|
+
* @property {string} DEBUG - Debug log level.
|
|
23
|
+
* @property {string} INFO - Info log level.
|
|
24
|
+
* @property {string} WARN - Warning log level.
|
|
25
|
+
* @property {string} ERROR - Error log level.
|
|
26
26
|
*/
|
|
27
27
|
var LOG_LEVELS;
|
|
28
28
|
(function (LOG_LEVELS) {
|
|
@@ -32,22 +32,21 @@ var LOG_LEVELS;
|
|
|
32
32
|
LOG_LEVELS["ERROR"] = "ERROR";
|
|
33
33
|
})(LOG_LEVELS || (exports.LOG_LEVELS = LOG_LEVELS = {}));
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* A constant that represents the console object to be used for logging.
|
|
36
|
+
* If the console object has a property named 'notGlobalLogger', it is assumed
|
|
37
|
+
* to be a custom logger and the 'origin' property is used as the console object.
|
|
38
|
+
* Otherwise, the global console object is used.
|
|
39
|
+
* @type {Console}
|
|
38
40
|
*/
|
|
39
41
|
var PURE_CONSOLE = console['notGlobalLogger'] ? console['origin'] : console;
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @type {*}
|
|
43
|
+
* The default log function that is used for logging messages.
|
|
44
|
+
* @type {Function}
|
|
44
45
|
*/
|
|
45
46
|
var DEFAULT_LOG_FUNCTION = PURE_CONSOLE.log.bind(PURE_CONSOLE);
|
|
46
|
-
//
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* @type {{}\}
|
|
48
|
+
* An array of sensitive strings that should be blacklisted or excluded from certain operations.
|
|
49
|
+
* This array includes strings such as 'password', 'phonenumber', 'resetCode', etc.
|
|
51
50
|
*/
|
|
52
51
|
var blacklist = [
|
|
53
52
|
'password',
|
|
@@ -63,144 +62,134 @@ var blacklist = [
|
|
|
63
62
|
'UserCode',
|
|
64
63
|
'paymentMethodNonce',
|
|
65
64
|
];
|
|
66
|
-
//
|
|
67
65
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* @export
|
|
71
|
-
* @class Logger
|
|
72
|
-
* @typedef {Logger}
|
|
66
|
+
* Logger class for logging messages with different log levels.
|
|
73
67
|
*/
|
|
74
68
|
var Logger = /** @class */ (function () {
|
|
75
69
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* @
|
|
79
|
-
* @
|
|
80
|
-
* @param {string} transactionID
|
|
70
|
+
* Constructs a Logger object with the given configuration and transaction ID.
|
|
71
|
+
* @param {config} config - The configuration object for the logger. Can be undefined.
|
|
72
|
+
* @param {string} transactionID - The ID of the transaction associated with the logger.
|
|
73
|
+
* @returns None
|
|
81
74
|
*/
|
|
82
|
-
function Logger(
|
|
75
|
+
function Logger(config, transactionID) {
|
|
83
76
|
abind(this);
|
|
84
77
|
//
|
|
85
78
|
this.origin = PURE_CONSOLE;
|
|
86
|
-
this._LOG_LEVEL = (
|
|
87
|
-
? LOG_LEVELS[
|
|
79
|
+
this._LOG_LEVEL = (config === null || config === void 0 ? void 0 : config.logLevel)
|
|
80
|
+
? LOG_LEVELS[config === null || config === void 0 ? void 0 : config.logLevel] || LOG_LEVELS.DEBUG
|
|
88
81
|
: LOG_LEVELS.DEBUG;
|
|
89
|
-
this.
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
92
|
-
? Array.isArray(this.
|
|
93
|
-
? this.
|
|
82
|
+
this.config = config || {};
|
|
83
|
+
this.transactionID = transactionID;
|
|
84
|
+
this.filterBlacklist = this.config.sensitiveFilteringKeywords
|
|
85
|
+
? Array.isArray(this.config.sensitiveFilteringKeywords)
|
|
86
|
+
? this.config.sensitiveFilteringKeywords
|
|
94
87
|
: blacklist
|
|
95
88
|
: false;
|
|
96
89
|
//
|
|
97
|
-
this.
|
|
90
|
+
this.setupBindings();
|
|
98
91
|
//
|
|
99
92
|
this.log('Using logger with level: ' + this._LOG_LEVEL.toString());
|
|
100
|
-
this.debug('logger config: ', this.
|
|
93
|
+
this.debug('logger config: ', this.config);
|
|
101
94
|
}
|
|
102
95
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* @public
|
|
106
|
-
* @returns {boolean}
|
|
96
|
+
* Returns a boolean value indicating whether the notGlobalLogger function is executed successfully.
|
|
97
|
+
* @returns {boolean} - true if the function is executed successfully, false otherwise.
|
|
107
98
|
*/
|
|
108
99
|
Logger.prototype.notGlobalLogger = function () {
|
|
109
100
|
return true;
|
|
110
101
|
};
|
|
111
|
-
//Public
|
|
112
102
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* @
|
|
103
|
+
* Logs the given arguments with the debug log level.
|
|
104
|
+
* @param {...any} args - The arguments to be logged.
|
|
105
|
+
* @returns None
|
|
116
106
|
*/
|
|
117
107
|
Logger.prototype.debug = function () {
|
|
118
108
|
var args = [];
|
|
119
109
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
120
110
|
args[_i] = arguments[_i];
|
|
121
111
|
}
|
|
122
|
-
this.
|
|
112
|
+
this.processLog(LOG_LEVELS.DEBUG, args);
|
|
123
113
|
};
|
|
124
114
|
/**
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
* @
|
|
115
|
+
* Logs the given arguments with the INFO log level.
|
|
116
|
+
* @param {...any} args - The arguments to be logged.
|
|
117
|
+
* @returns None
|
|
128
118
|
*/
|
|
129
119
|
Logger.prototype.log = function () {
|
|
130
120
|
var args = [];
|
|
131
121
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
132
122
|
args[_i] = arguments[_i];
|
|
133
123
|
}
|
|
134
|
-
this.
|
|
124
|
+
this.processLog(LOG_LEVELS.INFO, args);
|
|
135
125
|
};
|
|
136
126
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* @
|
|
127
|
+
* Logs an informational message.
|
|
128
|
+
* @param {...any} args - The message(s) to log.
|
|
129
|
+
* @returns None
|
|
140
130
|
*/
|
|
141
131
|
Logger.prototype.info = function () {
|
|
142
132
|
var args = [];
|
|
143
133
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
144
134
|
args[_i] = arguments[_i];
|
|
145
135
|
}
|
|
146
|
-
this.
|
|
136
|
+
this.processLog(LOG_LEVELS.INFO, args);
|
|
147
137
|
};
|
|
148
138
|
/**
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
* @
|
|
139
|
+
* Logs a warning message with the provided arguments.
|
|
140
|
+
* @param {...any} args - The arguments to be logged as a warning message.
|
|
141
|
+
* @returns None
|
|
152
142
|
*/
|
|
153
143
|
Logger.prototype.warning = function () {
|
|
154
144
|
var args = [];
|
|
155
145
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
156
146
|
args[_i] = arguments[_i];
|
|
157
147
|
}
|
|
158
|
-
this.
|
|
148
|
+
this.processLog(LOG_LEVELS.WARN, args);
|
|
159
149
|
};
|
|
160
150
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* @
|
|
151
|
+
* Logs a warning message to the console.
|
|
152
|
+
* @param {...any} args - The arguments to be logged.
|
|
153
|
+
* @returns None
|
|
164
154
|
*/
|
|
165
155
|
Logger.prototype.warn = function () {
|
|
166
156
|
var args = [];
|
|
167
157
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
168
158
|
args[_i] = arguments[_i];
|
|
169
159
|
}
|
|
170
|
-
this.
|
|
160
|
+
this.processLog(LOG_LEVELS.WARN, args);
|
|
171
161
|
};
|
|
172
162
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* @
|
|
163
|
+
* Logs an error message with the given arguments.
|
|
164
|
+
* @param {...any} args - The arguments to log as an error message.
|
|
165
|
+
* @returns None
|
|
176
166
|
*/
|
|
177
167
|
Logger.prototype.error = function () {
|
|
178
168
|
var args = [];
|
|
179
169
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
180
170
|
args[_i] = arguments[_i];
|
|
181
171
|
}
|
|
182
|
-
this.
|
|
172
|
+
this.processLog(LOG_LEVELS.ERROR, args);
|
|
183
173
|
};
|
|
184
174
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* @param {
|
|
188
|
-
* @
|
|
175
|
+
* Logs an exception with optional additional arguments.
|
|
176
|
+
* @param {any} exception - The exception to log.
|
|
177
|
+
* @param {...any} args - Additional arguments to include in the log.
|
|
178
|
+
* @returns None
|
|
189
179
|
*/
|
|
190
180
|
Logger.prototype.exception = function (exception) {
|
|
191
181
|
var args = [];
|
|
192
182
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
193
183
|
args[_i - 1] = arguments[_i];
|
|
194
184
|
}
|
|
195
|
-
this.
|
|
185
|
+
this.iexception(exception, args);
|
|
196
186
|
};
|
|
197
|
-
//initialization
|
|
198
187
|
/**
|
|
199
|
-
*
|
|
200
|
-
*
|
|
188
|
+
* Sets up the console bindings for logging purposes.
|
|
201
189
|
* @private
|
|
190
|
+
* @returns None
|
|
202
191
|
*/
|
|
203
|
-
Logger.prototype.
|
|
192
|
+
Logger.prototype.setupBindings = function () {
|
|
204
193
|
var _this = this;
|
|
205
194
|
global.console = {
|
|
206
195
|
debug: function () {
|
|
@@ -208,35 +197,35 @@ var Logger = /** @class */ (function () {
|
|
|
208
197
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
209
198
|
args[_i] = arguments[_i];
|
|
210
199
|
}
|
|
211
|
-
return _this.
|
|
200
|
+
return _this.processLog(LOG_LEVELS.DEBUG, args);
|
|
212
201
|
},
|
|
213
202
|
log: function () {
|
|
214
203
|
var args = [];
|
|
215
204
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
216
205
|
args[_i] = arguments[_i];
|
|
217
206
|
}
|
|
218
|
-
return _this.
|
|
207
|
+
return _this.processLog(LOG_LEVELS.INFO, args);
|
|
219
208
|
},
|
|
220
209
|
info: function () {
|
|
221
210
|
var args = [];
|
|
222
211
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
223
212
|
args[_i] = arguments[_i];
|
|
224
213
|
}
|
|
225
|
-
return _this.
|
|
214
|
+
return _this.processLog(LOG_LEVELS.INFO, args);
|
|
226
215
|
},
|
|
227
216
|
warn: function () {
|
|
228
217
|
var args = [];
|
|
229
218
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
230
219
|
args[_i] = arguments[_i];
|
|
231
220
|
}
|
|
232
|
-
return _this.
|
|
221
|
+
return _this.processLog(LOG_LEVELS.WARN, args);
|
|
233
222
|
},
|
|
234
223
|
error: function () {
|
|
235
224
|
var args = [];
|
|
236
225
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
237
226
|
args[_i] = arguments[_i];
|
|
238
227
|
}
|
|
239
|
-
return _this.
|
|
228
|
+
return _this.processLog(LOG_LEVELS.ERROR, args);
|
|
240
229
|
},
|
|
241
230
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
242
231
|
// @ts-ignore
|
|
@@ -245,44 +234,39 @@ var Logger = /** @class */ (function () {
|
|
|
245
234
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
246
235
|
args[_i] = arguments[_i];
|
|
247
236
|
}
|
|
248
|
-
return _this.
|
|
237
|
+
return _this.processLog(LOG_LEVELS.WARN, args);
|
|
249
238
|
},
|
|
250
239
|
exception: function (exception) {
|
|
251
240
|
var args = [];
|
|
252
241
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
253
242
|
args[_i - 1] = arguments[_i];
|
|
254
243
|
}
|
|
255
|
-
return _this.
|
|
244
|
+
return _this.iexception(exception, args);
|
|
256
245
|
},
|
|
257
246
|
};
|
|
258
247
|
};
|
|
259
|
-
/* Formatters */
|
|
260
248
|
/**
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
* @
|
|
264
|
-
* @param {
|
|
265
|
-
* @
|
|
266
|
-
* @param {string} caller
|
|
267
|
-
* @returns {string}
|
|
249
|
+
* Formats a log message with the specified log level, message, and caller.
|
|
250
|
+
* @param {LOG_LEVELS} level - The log level of the message.
|
|
251
|
+
* @param {Array<string>} msg - An array of strings representing the message.
|
|
252
|
+
* @param {string} caller - The name of the caller function.
|
|
253
|
+
* @returns {string} - The formatted log message.
|
|
268
254
|
*/
|
|
269
|
-
Logger.prototype.
|
|
270
|
-
if (Utils_1.default.isHybridlessContainer() && this.
|
|
271
|
-
return ("".concat(this.
|
|
272
|
-
" [".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.map(this.
|
|
255
|
+
Logger.prototype.formattedLog = function (level, msg, caller) {
|
|
256
|
+
if (Utils_1.default.isHybridlessContainer() && this.transactionID) {
|
|
257
|
+
return ("".concat(this.transactionID) +
|
|
258
|
+
" [".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.map(this.suppressSensitiveInfo).join(' ')));
|
|
273
259
|
}
|
|
274
260
|
else {
|
|
275
|
-
return "[".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.map(this.
|
|
261
|
+
return "[".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.map(this.suppressSensitiveInfo).join(' '));
|
|
276
262
|
}
|
|
277
263
|
};
|
|
278
264
|
/**
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
* @
|
|
282
|
-
* @param {number} index
|
|
283
|
-
* @returns {string}
|
|
265
|
+
* Returns the name of the caller at the specified index in the call stack.
|
|
266
|
+
* @param {number} index - The index of the caller in the call stack.
|
|
267
|
+
* @returns {string} The name of the caller, including the file name and line number.
|
|
284
268
|
*/
|
|
285
|
-
Logger.prototype.
|
|
269
|
+
Logger.prototype.callerName = function (index) {
|
|
286
270
|
var _a, _b, _c, _d, _e, _f;
|
|
287
271
|
var safeIndex = Math.min(index, stackTrace.get().length);
|
|
288
272
|
if (stackTrace.get()[safeIndex]) {
|
|
@@ -297,15 +281,13 @@ var Logger = /** @class */ (function () {
|
|
|
297
281
|
}
|
|
298
282
|
return '';
|
|
299
283
|
};
|
|
300
|
-
/* Helpers (core functionality) */
|
|
301
284
|
/**
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
* @
|
|
305
|
-
* @
|
|
306
|
-
* @param {*} args
|
|
285
|
+
* Processes a log message based on the specified log level and arguments.
|
|
286
|
+
* @param {LOG_LEVELS} level - The log level of the message.
|
|
287
|
+
* @param {any[]} args - The arguments to be logged.
|
|
288
|
+
* @returns None
|
|
307
289
|
*/
|
|
308
|
-
Logger.prototype.
|
|
290
|
+
Logger.prototype.processLog = function (level, args) {
|
|
309
291
|
var e_1, _a;
|
|
310
292
|
if (level < this._LOG_LEVEL)
|
|
311
293
|
return;
|
|
@@ -327,16 +309,15 @@ var Logger = /** @class */ (function () {
|
|
|
327
309
|
}
|
|
328
310
|
//push into logs stack
|
|
329
311
|
// todo: improve error stack
|
|
330
|
-
this.
|
|
312
|
+
this.pushLog(level, this.formattedLog(level, msg, this.callerName(3)));
|
|
331
313
|
};
|
|
332
314
|
/**
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
* @
|
|
336
|
-
* @
|
|
337
|
-
* @param {...{}\} args
|
|
315
|
+
* Logs an exception along with additional arguments and the stack trace.
|
|
316
|
+
* @param {Error} exception - The exception object to log.
|
|
317
|
+
* @param {...any} args - Additional arguments to include in the log.
|
|
318
|
+
* @returns None
|
|
338
319
|
*/
|
|
339
|
-
Logger.prototype.
|
|
320
|
+
Logger.prototype.iexception = function (exception) {
|
|
340
321
|
var e_2, _a;
|
|
341
322
|
var args = [];
|
|
342
323
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -364,39 +345,33 @@ var Logger = /** @class */ (function () {
|
|
|
364
345
|
if (exception.stack)
|
|
365
346
|
msg.push(exception.stack); //push Exeception stack at the end
|
|
366
347
|
//push into logs stack
|
|
367
|
-
this.
|
|
348
|
+
this.pushLog(LOG_LEVELS.ERROR, this.formattedLog(LOG_LEVELS.ERROR, msg, this.callerName(3)));
|
|
368
349
|
};
|
|
369
350
|
/**
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
* @
|
|
373
|
-
* @
|
|
374
|
-
* @param {string} fMsg
|
|
351
|
+
* Pushes a log message to the console with the specified log level.
|
|
352
|
+
* @param {LOG_LEVELS} level - The log level of the message.
|
|
353
|
+
* @param {string} fMsg - The formatted log message.
|
|
354
|
+
* @returns None
|
|
375
355
|
*/
|
|
376
|
-
Logger.prototype.
|
|
377
|
-
// push into logs stack
|
|
378
|
-
// this._logs.push(fMsg);
|
|
356
|
+
Logger.prototype.pushLog = function (level, fMsg) {
|
|
379
357
|
DEFAULT_LOG_FUNCTION.apply(PURE_CONSOLE, [fMsg]);
|
|
380
358
|
};
|
|
381
|
-
/* Sensitive information handling */
|
|
382
359
|
/**
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
* @
|
|
386
|
-
* @param {*} value
|
|
387
|
-
* @returns {string}
|
|
360
|
+
* Suppresses sensitive information in the given value based on the filter blacklist.
|
|
361
|
+
* @param {any} value - The value to suppress sensitive information from.
|
|
362
|
+
* @returns {string} - The value with sensitive information suppressed.
|
|
388
363
|
*/
|
|
389
|
-
Logger.prototype.
|
|
364
|
+
Logger.prototype.suppressSensitiveInfo = function (value) {
|
|
390
365
|
var _this = this;
|
|
391
366
|
//realy false
|
|
392
|
-
if (!this.
|
|
367
|
+
if (!this.filterBlacklist)
|
|
393
368
|
return value;
|
|
394
369
|
if (typeof value == 'string') {
|
|
395
370
|
//content based replacement
|
|
396
|
-
if (this.
|
|
397
|
-
this.
|
|
398
|
-
var match = _this.
|
|
399
|
-
? _this.
|
|
371
|
+
if (this.filterBlacklist) {
|
|
372
|
+
this.filterBlacklist.forEach(function () {
|
|
373
|
+
var match = _this.filterBlacklist
|
|
374
|
+
? _this.filterBlacklist.find(function (f) { return value.toLowerCase().includes(f.toLowerCase()); })
|
|
400
375
|
: false;
|
|
401
376
|
if (match)
|
|
402
377
|
value = '**SUPPRESSED_SENSITIVE_DATA**';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,+CAAgD;AAChD,wCAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +1,71 @@
|
|
|
1
1
|
import * as Email from 'email-templates';
|
|
2
|
-
/**
|
|
3
|
-
* ${1:Description placeholder}
|
|
4
|
-
*
|
|
5
|
-
* @export
|
|
6
|
-
* @class Mailer
|
|
7
|
-
* @typedef {Mailer}
|
|
8
|
-
*/
|
|
9
2
|
export default class Mailer {
|
|
10
3
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @private
|
|
14
|
-
* @readonly
|
|
4
|
+
* The starting point of a range.
|
|
15
5
|
* @type {string}
|
|
16
6
|
*/
|
|
17
7
|
private readonly from;
|
|
18
8
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @private
|
|
22
|
-
* @readonly
|
|
9
|
+
* The default file template for the application.
|
|
23
10
|
* @type {string}
|
|
24
11
|
*/
|
|
25
12
|
private readonly templateDefaultFile;
|
|
26
13
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @private
|
|
30
|
-
* @readonly
|
|
31
|
-
* @type {ReturnType<
|
|
32
|
-
* typeof nodemailer.createTransport<SESTransport.SentMessageInfo>
|
|
33
|
-
* >}
|
|
14
|
+
* The transporter object used for sending emails using the AWS SES service.
|
|
15
|
+
* @type {ReturnType<typeof nodemailer.createTransport<SESTransport.SentMessageInfo>>}
|
|
34
16
|
*/
|
|
35
17
|
private readonly transporter;
|
|
36
18
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @
|
|
40
|
-
* @
|
|
41
|
-
* @param {string} region
|
|
19
|
+
* Constructs a new instance of the EmailSender class.
|
|
20
|
+
* @param {string} defaultFrom - The default "from" email address.
|
|
21
|
+
* @param {string} region - The AWS region to use for sending emails.
|
|
22
|
+
* @returns None
|
|
42
23
|
*/
|
|
43
24
|
constructor(defaultFrom: string, region: string);
|
|
44
25
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @
|
|
48
|
-
* @
|
|
49
|
-
* @param {
|
|
50
|
-
* @param {string}
|
|
51
|
-
* @param {string}
|
|
52
|
-
* @param {
|
|
53
|
-
* @param {?string} [optionalFrom]
|
|
54
|
-
* @param {?string} [optionalReplyTo]
|
|
55
|
-
* @param {?any[]} [optionalAttachments]
|
|
56
|
-
* @param {?Email.NodeMailerTransportOptions} [optionalTransport]
|
|
57
|
-
* @returns {unknown}
|
|
26
|
+
* Sends a raw email with the specified parameters.
|
|
27
|
+
* @param {string | Array<string>} to - The recipient(s) of the email.
|
|
28
|
+
* @param {string} htmlMessage - The HTML content of the email.
|
|
29
|
+
* @param {string} subject - The subject of the email.
|
|
30
|
+
* @param {string | Array<string>} [optionalCC] - The optional CC recipient(s) of the email.
|
|
31
|
+
* @param {string} [optionalFrom] - The optional sender of the email. If not provided, the default sender will be used.
|
|
32
|
+
* @param {string} [optionalReplyTo] - The optional reply-to address for the email.
|
|
33
|
+
* @param {any[]} [optionalAttachments] - The optional attachments to include
|
|
58
34
|
*/
|
|
59
35
|
sendRawEmail(to: string | Array<string>, htmlMessage: string, subject: string, optionalCC?: string | Array<string>, optionalFrom?: string, optionalReplyTo?: string, optionalAttachments?: any[], optionalTransport?: Email.NodeMailerTransportOptions): Promise<any>;
|
|
60
36
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* @
|
|
64
|
-
* @
|
|
65
|
-
* @param {
|
|
66
|
-
* @param {
|
|
67
|
-
* @param {
|
|
68
|
-
* @param {
|
|
69
|
-
* @param {?string} [optionalFrom]
|
|
70
|
-
* @param {?string} [optionalReplyTo]
|
|
71
|
-
* @param {?any[]} [optionalAttachments]
|
|
72
|
-
* @param {?Email.NodeMailerTransportOptions} [optionalTransport]
|
|
73
|
-
* @returns {unknown}
|
|
37
|
+
* Sends a templated email to the specified recipients.
|
|
38
|
+
* @param {string | Array<string>} to - The email address(es) of the recipient(s).
|
|
39
|
+
* @param {string | Array<string>} templates - The template(s) to use for the email.
|
|
40
|
+
* @param {object} data - The data to be used in the email template.
|
|
41
|
+
* @param {string | Array<string>} [optionalCC] - The email address(es) to CC.
|
|
42
|
+
* @param {string} [optionalFrom] - The email address to send the email from.
|
|
43
|
+
* @param {string} [optionalReplyTo] - The email address to set as the reply-to address.
|
|
44
|
+
* @param {any[]} [optionalAttachments] - An array
|
|
74
45
|
*/
|
|
75
46
|
sendTemplatedEmail(to: string | Array<string>, templates: string | Array<string>, data: object, optionalCC?: string | Array<string>, optionalFrom?: string, optionalReplyTo?: string, optionalAttachments?: any[], optionalTransport?: Email.NodeMailerTransportOptions): Promise<any>;
|
|
76
47
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* @
|
|
80
|
-
* @param {string}
|
|
81
|
-
* @param {
|
|
82
|
-
* @
|
|
83
|
-
* @param {string} password
|
|
84
|
-
* @returns {Email.NodeMailerTransportOptions}
|
|
48
|
+
* Creates a new SMTP transporter for sending emails using NodeMailer.
|
|
49
|
+
* @param {string} host - The SMTP server host.
|
|
50
|
+
* @param {number} portNumber - The port number to connect to the SMTP server.
|
|
51
|
+
* @param {string} user - The username for authentication with the SMTP server.
|
|
52
|
+
* @param {string} password - The password for authentication with the SMTP server.
|
|
53
|
+
* @returns {Email.NodeMailerTransportOptions} - The SMTP transporter object.
|
|
85
54
|
*/
|
|
86
55
|
newSMTPTransporter(host: string, portNumber: number, user: string, password: string): Email.NodeMailerTransportOptions;
|
|
87
56
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* @
|
|
91
|
-
* @
|
|
92
|
-
* @
|
|
93
|
-
* @param {object} data
|
|
94
|
-
* @returns {Promise<string>}
|
|
57
|
+
* Chooses a template from the given array of templates or a single template string based on whether it can be rendered with the provided data.
|
|
58
|
+
* @param {string | Array<string>} templates - The template(s) to choose from.
|
|
59
|
+
* @param {object} data - The data to be used for rendering the template.
|
|
60
|
+
* @returns {Promise<string>} - The chosen template.
|
|
61
|
+
* @throws {Error} - If no template can be rendered with the provided data.
|
|
95
62
|
*/
|
|
96
63
|
private chooseTemplate;
|
|
97
64
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* @
|
|
101
|
-
* @
|
|
102
|
-
* @param {string} template
|
|
103
|
-
* @param {object} data
|
|
104
|
-
* @returns {Promise<boolean>}
|
|
65
|
+
* Checks if a given email template can be rendered with the provided data.
|
|
66
|
+
* @param {string} template - The name of the email template.
|
|
67
|
+
* @param {object} data - The data to be used for rendering the template.
|
|
68
|
+
* @returns {Promise<boolean>} - A promise that resolves to true if the template can be rendered, false otherwise.
|
|
105
69
|
*/
|
|
106
70
|
private canRenderTemplate;
|
|
107
71
|
}
|