@cryptexlabs/codex-nodejs-common 0.12.10 → 0.12.11
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/lib/package.json +2 -1
- package/lib/src/middleware/api-headers-validation.middleware.js +8 -1
- package/lib/src/middleware/api-headers-validation.middleware.js.map +1 -1
- package/lib/src/util/date.util.d.ts +3 -1
- package/lib/src/util/date.util.js +15 -0
- package/lib/src/util/date.util.js.map +1 -1
- package/lib/src/util/index.d.ts +1 -0
- package/lib/src/util/index.js +1 -0
- package/lib/src/util/index.js.map +1 -1
- package/package.json +2 -1
- package/src/middleware/api-headers-validation.middleware.ts +9 -1
- package/src/util/date.util.ts +21 -1
- package/src/util/index.ts +1 -0
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptexlabs/codex-nodejs-common",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.11",
|
|
4
4
|
"description": "Common code for Codex framework",
|
|
5
5
|
"main": "lib/src/index.js",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"jsonwebtoken": "8.5.1",
|
|
54
54
|
"jwk-to-pem": "^2.0.6",
|
|
55
55
|
"kafkajs": "^2.2.4",
|
|
56
|
+
"moment": "^2.30.1",
|
|
56
57
|
"randomstring": "1.2.1",
|
|
57
58
|
"reflect-metadata": "0.1.13",
|
|
58
59
|
"uuid": "8.3.2",
|
|
@@ -94,6 +94,8 @@ let ApiHeadersValidationMiddleware = class ApiHeadersValidationMiddleware {
|
|
|
94
94
|
throw new common_1.BadRequestException("X-Client-Variant header is Empty. Variation of the client build. There can be different builds of the same version of a client such as 'dev', 'test' or 'demo'. Typically these variations would be configured to interact with different backends and have different debugging levels");
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
|
+
};
|
|
98
|
+
const optionalHeaders = {
|
|
97
99
|
"x-now": (context, now) => {
|
|
98
100
|
try {
|
|
99
101
|
if (now) {
|
|
@@ -101,7 +103,7 @@ let ApiHeadersValidationMiddleware = class ApiHeadersValidationMiddleware {
|
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
105
|
catch (e) {
|
|
104
|
-
throw new common_1.BadRequestException(
|
|
106
|
+
throw new common_1.BadRequestException(`X-Now header is invalid: '${now}'`);
|
|
105
107
|
}
|
|
106
108
|
},
|
|
107
109
|
};
|
|
@@ -121,6 +123,11 @@ let ApiHeadersValidationMiddleware = class ApiHeadersValidationMiddleware {
|
|
|
121
123
|
const header = req.headers[headerName];
|
|
122
124
|
validator(validationContext, header);
|
|
123
125
|
}
|
|
126
|
+
for (const headerName of Object.keys(optionalHeaders)) {
|
|
127
|
+
const validator = optionalHeaders[headerName];
|
|
128
|
+
const header = req.headers[headerName];
|
|
129
|
+
validator(validationContext, header);
|
|
130
|
+
}
|
|
124
131
|
}
|
|
125
132
|
next();
|
|
126
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-headers-validation.middleware.js","sourceRoot":"","sources":["../../../src/middleware/api-headers-validation.middleware.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-headers-validation.middleware.js","sourceRoot":"","sources":["../../../src/middleware/api-headers-validation.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DateUtil = void 0;
|
|
4
|
+
const moment_1 = require("moment");
|
|
4
5
|
class DateUtil {
|
|
5
6
|
static isValidISO8601Date(dateString) {
|
|
6
7
|
const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
7
8
|
return regex.test(dateString);
|
|
8
9
|
}
|
|
10
|
+
static fromMysqlStringToISOString(date) {
|
|
11
|
+
if (!date) {
|
|
12
|
+
return date;
|
|
13
|
+
}
|
|
14
|
+
return ((0, moment_1.default)(date, "YYYY-MM-DD HH:mm:ss").toISOString(true).slice(0, 23) + "Z");
|
|
15
|
+
}
|
|
16
|
+
static toMysqlString(date) {
|
|
17
|
+
if (!date) {
|
|
18
|
+
return date;
|
|
19
|
+
}
|
|
20
|
+
return (0, moment_1.default)(date, "YYYY-MM-DDThh:mm:ssZ")
|
|
21
|
+
.utcOffset(0)
|
|
22
|
+
.format("YYYY-MM-DD HH:mm:ss");
|
|
23
|
+
}
|
|
9
24
|
}
|
|
10
25
|
exports.DateUtil = DateUtil;
|
|
11
26
|
//# sourceMappingURL=date.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.util.js","sourceRoot":"","sources":["../../../src/util/date.util.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACZ,MAAM,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"date.util.js","sourceRoot":"","sources":["../../../src/util/date.util.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAE5B,MAAa,QAAQ;IACZ,MAAM,CAAC,kBAAkB,CAAC,UAAkB;QACjD,MAAM,KAAK,GAAG,iEAAiE,CAAC;QAChF,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAmB;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,OAAO,CACL,IAAA,gBAAM,EAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAmB;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,OAAO,IAAA,gBAAM,EAAC,IAAI,EAAE,sBAAsB,CAAC;aACxC,SAAS,CAAC,CAAC,CAAC;aACZ,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACnC,CAAC;CACF;AAvBD,4BAuBC"}
|
package/lib/src/util/index.d.ts
CHANGED
package/lib/src/util/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./string.util"), exports);
|
|
|
18
18
|
__exportStar(require("./array.util"), exports);
|
|
19
19
|
__exportStar(require("./locale.util"), exports);
|
|
20
20
|
__exportStar(require("./time.util"), exports);
|
|
21
|
+
__exportStar(require("./date.util"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,8CAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptexlabs/codex-nodejs-common",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.11",
|
|
4
4
|
"description": "Common code for Codex framework",
|
|
5
5
|
"main": "lib/src/index.js",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"jsonwebtoken": "8.5.1",
|
|
54
54
|
"jwk-to-pem": "^2.0.6",
|
|
55
55
|
"kafkajs": "^2.2.4",
|
|
56
|
+
"moment": "^2.30.1",
|
|
56
57
|
"randomstring": "1.2.1",
|
|
57
58
|
"reflect-metadata": "0.1.13",
|
|
58
59
|
"uuid": "8.3.2",
|
|
@@ -166,7 +166,9 @@ export class ApiHeadersValidationMiddleware implements NestMiddleware {
|
|
|
166
166
|
);
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
|
+
};
|
|
169
170
|
|
|
171
|
+
const optionalHeaders = {
|
|
170
172
|
/**
|
|
171
173
|
* Override the servers understanding of what "now" is. Allows you to go forward or backwards in time.
|
|
172
174
|
* Optional
|
|
@@ -177,7 +179,7 @@ export class ApiHeadersValidationMiddleware implements NestMiddleware {
|
|
|
177
179
|
new Date(now);
|
|
178
180
|
}
|
|
179
181
|
} catch (e) {
|
|
180
|
-
throw new BadRequestException(
|
|
182
|
+
throw new BadRequestException(`X-Now header is invalid: '${now}'`);
|
|
181
183
|
}
|
|
182
184
|
},
|
|
183
185
|
};
|
|
@@ -207,6 +209,12 @@ export class ApiHeadersValidationMiddleware implements NestMiddleware {
|
|
|
207
209
|
const header = req.headers[headerName];
|
|
208
210
|
validator(validationContext, header);
|
|
209
211
|
}
|
|
212
|
+
|
|
213
|
+
for (const headerName of Object.keys(optionalHeaders)) {
|
|
214
|
+
const validator = optionalHeaders[headerName];
|
|
215
|
+
const header = req.headers[headerName];
|
|
216
|
+
validator(validationContext, header);
|
|
217
|
+
}
|
|
210
218
|
}
|
|
211
219
|
|
|
212
220
|
next();
|
package/src/util/date.util.ts
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
|
+
import moment from "moment";
|
|
2
|
+
|
|
1
3
|
export class DateUtil {
|
|
2
|
-
public static isValidISO8601Date(dateString) {
|
|
4
|
+
public static isValidISO8601Date(dateString: string) {
|
|
3
5
|
const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
4
6
|
return regex.test(dateString);
|
|
5
7
|
}
|
|
8
|
+
|
|
9
|
+
static fromMysqlStringToISOString(date: string | Date): string {
|
|
10
|
+
if (!date) {
|
|
11
|
+
return date as any;
|
|
12
|
+
}
|
|
13
|
+
return (
|
|
14
|
+
moment(date, "YYYY-MM-DD HH:mm:ss").toISOString(true).slice(0, 23) + "Z"
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static toMysqlString(date: string | Date): string {
|
|
19
|
+
if (!date) {
|
|
20
|
+
return date as any;
|
|
21
|
+
}
|
|
22
|
+
return moment(date, "YYYY-MM-DDThh:mm:ssZ")
|
|
23
|
+
.utcOffset(0)
|
|
24
|
+
.format("YYYY-MM-DD HH:mm:ss");
|
|
25
|
+
}
|
|
6
26
|
}
|
package/src/util/index.ts
CHANGED