@cryptexlabs/codex-nodejs-common 0.6.11 → 0.7.1

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 (45) hide show
  1. package/lib/package.json +4 -2
  2. package/lib/src/decorator/api-meta-headers.js +1 -1
  3. package/lib/src/index.d.ts +1 -0
  4. package/lib/src/index.js +1 -0
  5. package/lib/src/index.js.map +1 -1
  6. package/lib/src/logger/custom.logger.js +6 -0
  7. package/lib/src/logger/custom.logger.js.map +1 -1
  8. package/lib/src/middleware/api-headers-validation.middleware.d.ts +9 -0
  9. package/lib/src/middleware/api-headers-validation.middleware.js +124 -0
  10. package/lib/src/middleware/api-headers-validation.middleware.js.map +1 -0
  11. package/lib/src/middleware/index.d.ts +1 -0
  12. package/lib/src/middleware/index.js +14 -0
  13. package/lib/src/middleware/index.js.map +1 -0
  14. package/lib/src/response/rest.paginated.response.d.ts +4 -4
  15. package/lib/src/response/rest.response.d.ts +4 -4
  16. package/lib/src/response/rest.response.js.map +1 -1
  17. package/lib/src/service/elasticsearch/elasticsearch.pinger.js +1 -1
  18. package/lib/src/service/elasticsearch/elasticsearch.pinger.js.map +1 -1
  19. package/lib/src/service/kafka/kafka.service.js +3 -1
  20. package/lib/src/service/kafka/kafka.service.js.map +1 -1
  21. package/lib/src/service/socket/websocket.gateway.js +1 -1
  22. package/lib/src/service/socket/websocket.gateway.js.map +1 -1
  23. package/lib/src/util/date.util.d.ts +3 -0
  24. package/lib/src/util/date.util.js +11 -0
  25. package/lib/src/util/date.util.js.map +1 -0
  26. package/lib/src/util/locale.util.d.ts +1 -1
  27. package/lib/src/util/locale.util.js +5 -3
  28. package/lib/src/util/locale.util.js.map +1 -1
  29. package/lib/src/util/string.util.d.ts +1 -0
  30. package/lib/src/util/string.util.js +4 -0
  31. package/lib/src/util/string.util.js.map +1 -1
  32. package/package.json +4 -2
  33. package/src/decorator/api-meta-headers.ts +1 -1
  34. package/src/index.ts +1 -0
  35. package/src/logger/custom.logger.ts +6 -0
  36. package/src/middleware/api-headers-validation.middleware.ts +197 -0
  37. package/src/middleware/index.ts +1 -0
  38. package/src/response/rest.paginated.response.ts +4 -4
  39. package/src/response/rest.response.ts +4 -4
  40. package/src/service/elasticsearch/elasticsearch.pinger.ts +4 -1
  41. package/src/service/kafka/kafka.service.ts +3 -1
  42. package/src/service/socket/websocket.gateway.ts +1 -1
  43. package/src/util/date.util.ts +6 -0
  44. package/src/util/locale.util.ts +11 -6
  45. package/src/util/string.util.ts +5 -0
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.6.11",
3
+ "version": "0.7.1",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -12,7 +12,7 @@
12
12
  "Josh Woodcock <josh.woodcock@cryptexlabs.com>"
13
13
  ],
14
14
  "peerDependencies": {
15
- "@cryptexlabs/codex-data-model": "0.1.4"
15
+ "@cryptexlabs/codex-data-model": "0.1.5"
16
16
  },
17
17
  "dependencies": {
18
18
  "@elastic/elasticsearch": "8.2.1",
@@ -29,6 +29,8 @@
29
29
  "@types/joi": "14.3.4",
30
30
  "@types/jsonwebtoken": "8.5.5",
31
31
  "@types/node": "16.11.7",
32
+ "class-transformer": "^0.5.1",
33
+ "class-validator": "^0.14.1",
32
34
  "dotenv": "8.2.0",
33
35
  "express": "4.17.1",
34
36
  "fastq": "1.13.0",
@@ -7,7 +7,7 @@ const uuid_1 = require("uuid");
7
7
  function ApiMetaHeaders() {
8
8
  return common_1.applyDecorators(...[
9
9
  swagger_1.ApiHeader({
10
- name: "x-correlation-id",
10
+ name: "X-Correlation-Id",
11
11
  required: true,
12
12
  schema: {
13
13
  example: uuid_1.v4(),
@@ -14,3 +14,4 @@ export * from "./exception";
14
14
  export * from "./locales";
15
15
  export * from "./service";
16
16
  export * from "./util";
17
+ export * from "./middleware";
package/lib/src/index.js CHANGED
@@ -26,4 +26,5 @@ __exportStar(require("./exception"), exports);
26
26
  __exportStar(require("./locales"), exports);
27
27
  __exportStar(require("./service"), exports);
28
28
  __exportStar(require("./util"), exports);
29
+ __exportStar(require("./middleware"), exports);
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,+CAA6B"}
@@ -48,6 +48,12 @@ let CustomLogger = class CustomLogger {
48
48
  message = error;
49
49
  useTrace = trace;
50
50
  }
51
+ if (!message && error.message) {
52
+ message = error.message;
53
+ }
54
+ if (!useTrace && error.stack) {
55
+ useTrace = error.stack;
56
+ }
51
57
  if (this.filterContext.length > 0) {
52
58
  if (this.filterContext.includes(context)) {
53
59
  this.logger.error(message, useTrace, context);
@@ -1 +1 @@
1
- {"version":3,"file":"custom.logger.js","sourceRoot":"","sources":["../../../src/logger/custom.logger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AAGnE,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YACU,iBAAyB,MAAM,EACvC,gBAA0B,EAAE,EAC5B,kBAA4B,EAC5B,MAAsB;QAHd,mBAAc,GAAd,cAAc,CAAiB;QAKvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,cAAc,EAAE;gBACvC,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE;QAC9C,IAAI,OAAO,KAAK,EAAE,EAAE;YAClB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACnC;IACH,CAAC;IAEM,KAAK,CACV,KAAqB,EACrB,KAAa,EACb,UAAkB,OAAO;QAEzB,IAAI,OAAO,CAAC;QACZ,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACxB,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;SACxB;aAAM;YACL,OAAO,GAAG,KAAK,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC;SAClB;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/C;IACH,CAAC;IAEM,KAAK,CAAC,OAAY,EAAE,UAAkB,OAAO;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,OAAO,CAAC,OAAY,EAAE,UAAkB,SAAS;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,IAAI,CAAC,OAAY,EAAE,UAAkB,MAAM;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,IAAI,CAAC,OAAY,EAAE,UAAkB,MAAM;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAzEY,YAAY;IADxB,mBAAU,EAAE;;GACA,YAAY,CAyExB;AAzEY,oCAAY"}
1
+ {"version":3,"file":"custom.logger.js","sourceRoot":"","sources":["../../../src/logger/custom.logger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AAGnE,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YACU,iBAAyB,MAAM,EACvC,gBAA0B,EAAE,EAC5B,kBAA4B,EAC5B,MAAsB;QAHd,mBAAc,GAAd,cAAc,CAAiB;QAKvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,cAAc,EAAE;gBACvC,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE;QAC9C,IAAI,OAAO,KAAK,EAAE,EAAE;YAClB,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACnC;IACH,CAAC;IAEM,KAAK,CACV,KAAqB,EACrB,KAAa,EACb,UAAkB,OAAO;QAEzB,IAAI,OAAO,CAAC;QACZ,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACxB,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;SACxB;aAAM;YACL,OAAO,GAAG,KAAK,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,IAAM,KAAa,CAAC,OAAe,EAAE;YAC/C,OAAO,GAAI,KAAa,CAAC,OAAO,CAAC;SAClC;QACD,IAAI,CAAC,QAAQ,IAAM,KAAa,CAAC,KAAa,EAAE;YAC9C,QAAQ,GAAI,KAAa,CAAC,KAAK,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/C;IACH,CAAC;IAEM,KAAK,CAAC,OAAY,EAAE,UAAkB,OAAO;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,OAAO,CAAC,OAAY,EAAE,UAAkB,SAAS;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,IAAI,CAAC,OAAY,EAAE,UAAkB,MAAM;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,IAAI,CAAC,OAAY,EAAE,UAAkB,MAAM;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AA/EY,YAAY;IADxB,mBAAU,EAAE;;GACA,YAAY,CA+ExB;AA/EY,oCAAY"}
@@ -0,0 +1,9 @@
1
+ import { NestMiddleware } from "@nestjs/common";
2
+ import { DefaultConfig } from "../config";
3
+ import { ContextBuilder } from "../context";
4
+ export declare class ApiHeadersValidationMiddleware implements NestMiddleware {
5
+ private readonly config;
6
+ private readonly contextBuilder;
7
+ constructor(config: DefaultConfig, contextBuilder: ContextBuilder);
8
+ use(req: any, res: any, next: () => void): any;
9
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ApiHeadersValidationMiddleware = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const config_1 = require("../config");
18
+ const util_1 = require("../util");
19
+ const context_1 = require("../context");
20
+ const date_util_1 = require("../util/date.util");
21
+ let ApiHeadersValidationMiddleware = class ApiHeadersValidationMiddleware {
22
+ constructor(config, contextBuilder) {
23
+ this.config = config;
24
+ this.contextBuilder = contextBuilder;
25
+ }
26
+ use(req, res, next) {
27
+ const requiredHeaders = {
28
+ "x-correlation-id": (context, correlationId) => {
29
+ if (correlationId.trim() === "") {
30
+ throw new common_1.BadRequestException(`X-Correlation-Id header is empty. Correlation Id is Unique identifier generated when a person takes an action or a system time based event is triggered. This correlation id should be passed between systems and should be only created if none exists. Stops being re-used when an action is required from a person. Format is UUID V4`);
31
+ }
32
+ if (!util_1.StringUtil.isValidUUIDv4(correlationId)) {
33
+ throw new common_1.BadRequestException(`Invalid X-Correlation-Id header. Must be UUID V4. For example: '57d7f725-420d-45b5-9f92-101c6c0cffc3'`);
34
+ }
35
+ },
36
+ "accept-language": (context, acceptLanguage) => {
37
+ if (acceptLanguage.trim() === "") {
38
+ throw new common_1.BadRequestException(`Accept-Language header is empty. For example 'en-US'`);
39
+ }
40
+ const parsedLanguage = util_1.LocaleUtil.getLocaleFromAcceptLanguageHeader(context, acceptLanguage);
41
+ if (!parsedLanguage) {
42
+ throw new common_1.BadRequestException(`Invalid Accept-Language header. Must be ISO 639 alpha-1 language code. Or standard language supported by a web browser. For example: 'en-US' or 'en-US,en;q=0.9'`);
43
+ }
44
+ },
45
+ "x-started": (context, started) => {
46
+ if (started.trim() === "") {
47
+ throw new common_1.BadRequestException(`X-Started header is empty`);
48
+ }
49
+ if (!date_util_1.DateUtil.isValidISO8601Date(started)) {
50
+ throw new common_1.BadRequestException(`Invalid date format for X-Started header. Must be ISO 8601 format. For example '2024-02-29T19:47:57.366Z'`);
51
+ }
52
+ },
53
+ "x-created": (context, created) => {
54
+ if (created.trim() === "") {
55
+ throw new common_1.BadRequestException(`X-Created header is empty`);
56
+ }
57
+ if (!date_util_1.DateUtil.isValidISO8601Date(created)) {
58
+ throw new common_1.BadRequestException(`Invalid date format for X-Created header. Must be ISO 8601 format. For example '2024-02-29T19:47:57.366Z'`);
59
+ }
60
+ },
61
+ "x-context-category": (context, contextCategory) => {
62
+ if (contextCategory.trim() === "") {
63
+ throw new common_1.BadRequestException(`X-Context-Category header is empty. A category for the context of the request. For example 'test', 'performance test' or 'debug'`);
64
+ }
65
+ },
66
+ "x-context-id": (context, contextId) => {
67
+ if (contextId.trim() === "") {
68
+ throw new common_1.BadRequestException(`X-Context-Id header is empty`);
69
+ }
70
+ if (!util_1.StringUtil.isValidUUIDv4(contextId) && contextId !== "none") {
71
+ throw new common_1.BadRequestException(`Invalid X-Context-Id header. Must be UUID V4 or 'none'. A unique context identifier used for correlating logs and metrics usually for performance or experimental testing`);
72
+ }
73
+ },
74
+ "x-client-id": (context, clientId) => {
75
+ if (clientId.trim() === "") {
76
+ throw new common_1.BadRequestException(`X-Client-Id header is empty. A unique identifier for the client to help identify exactly which application or third party is making the requests. Should be identical for every client. Used to uniquely identify projects. You can hard code this string in your project. Its not a secret. Should NOT be different for every request.`);
77
+ }
78
+ if (!util_1.StringUtil.isValidUUIDv4(clientId)) {
79
+ throw new common_1.BadRequestException(`Invalid X-Client-Id header. Must be UUID V4 format`);
80
+ }
81
+ },
82
+ "x-client-name": (context, clientName) => {
83
+ if (clientName.trim() === "") {
84
+ throw new common_1.BadRequestException(`X-Client-Name header is empty. Canonical name of the client that is making the API call. Such as "BlueBerry Picker App"`);
85
+ }
86
+ },
87
+ "x-client-version": (context, clientVersion) => {
88
+ if (clientVersion.trim() === "") {
89
+ throw new common_1.BadRequestException(`X-Client-Version header is empty. Version of the client that is making the API call. Such as '1.3.8'`);
90
+ }
91
+ },
92
+ "x-client-variant": (context, clientVariant) => {
93
+ if (clientVariant.trim() === "") {
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
+ }
96
+ },
97
+ };
98
+ if (req.path.startsWith(`/${this.config.appPrefix}`)) {
99
+ const missingHeaders = Object.keys(requiredHeaders).filter((header) => !req.headers[header.toLowerCase()]);
100
+ if (missingHeaders.length > 0) {
101
+ throw new common_1.BadRequestException(`Missing required headers: ${missingHeaders.join(", ")}`);
102
+ }
103
+ const validationContext = this.contextBuilder
104
+ .build()
105
+ .setMetaFromHeaders(req.headers)
106
+ .getResult();
107
+ for (const headerName of Object.keys(requiredHeaders)) {
108
+ const validator = requiredHeaders[headerName];
109
+ const header = req[headerName];
110
+ validator(validationContext, header);
111
+ }
112
+ }
113
+ next();
114
+ }
115
+ };
116
+ ApiHeadersValidationMiddleware = __decorate([
117
+ common_1.Injectable(),
118
+ __param(0, common_1.Inject("CONFIG")),
119
+ __param(1, common_1.Inject("CONTEXT_BUILDER")),
120
+ __metadata("design:paramtypes", [config_1.DefaultConfig,
121
+ context_1.ContextBuilder])
122
+ ], ApiHeadersValidationMiddleware);
123
+ exports.ApiHeadersValidationMiddleware = ApiHeadersValidationMiddleware;
124
+ //# sourceMappingURL=api-headers-validation.middleware.js.map
@@ -0,0 +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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"}
@@ -0,0 +1 @@
1
+ export * from "./api-headers-validation.middleware";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./api-headers-validation.middleware"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAAoD"}
@@ -2,9 +2,9 @@ import { HttpStatus } from "@nestjs/common";
2
2
  import { MessageInterface, MessageMetaInterface } from "@cryptexlabs/codex-data-model";
3
3
  import { JsonSerializableInterface } from "../message";
4
4
  import { Context } from "../context";
5
- export declare class RestPaginatedResponse implements JsonSerializableInterface<MessageInterface<string>> {
6
- readonly data: any;
5
+ export declare class RestPaginatedResponse<L> implements JsonSerializableInterface<MessageInterface<L[]>> {
6
+ readonly data: L[];
7
7
  readonly meta: MessageMetaInterface;
8
- constructor(context: Context, status: HttpStatus, totalRecords: number, type: string, data: any);
9
- toJSON(): MessageInterface<any>;
8
+ constructor(context: Context, status: HttpStatus, totalRecords: number, type: string, data: L[]);
9
+ toJSON(): MessageInterface<L[]>;
10
10
  }
@@ -2,9 +2,9 @@ import { HttpStatus } from "@nestjs/common";
2
2
  import { MessageInterface, MessageMetaInterface } from "@cryptexlabs/codex-data-model";
3
3
  import { JsonSerializableInterface } from "../message";
4
4
  import { Context } from "../context";
5
- export declare class RestResponse implements JsonSerializableInterface<MessageInterface<string>> {
6
- readonly data: any;
5
+ export declare class RestResponse<T> implements JsonSerializableInterface<MessageInterface<T>> {
6
+ readonly data: T;
7
7
  readonly meta: MessageMetaInterface;
8
- constructor(context: Context, status: HttpStatus, type: string, data: any);
9
- toJSON(): MessageInterface<any>;
8
+ constructor(context: Context, status: HttpStatus, type: string, data: T);
9
+ toJSON(): MessageInterface<T>;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rest.response.js","sourceRoot":"","sources":["../../../src/response/rest.response.ts"],"names":[],"mappings":";;;AAOA,6DAAwD;AAExD,MAAa,YAAY;IAIvB,YACE,OAAgB,EAChB,MAAkB,EAClB,IAAY,EACI,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;QAEzB,IAAI,CAAC,IAAI,GAAG,IAAI,qCAAgB,CAC9B,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,OAAO,CACQ,CAAC;IAC5B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AA1BD,oCA0BC"}
1
+ {"version":3,"file":"rest.response.js","sourceRoot":"","sources":["../../../src/response/rest.response.ts"],"names":[],"mappings":";;;AAOA,6DAAwD;AAExD,MAAa,YAAY;IAIvB,YACE,OAAgB,EAChB,MAAkB,EAClB,IAAY,EACI,IAAO;QAAP,SAAI,GAAJ,IAAI,CAAG;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,qCAAgB,CAC9B,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,OAAO,CACQ,CAAC;IAC5B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;CACF;AA1BD,oCA0BC"}
@@ -61,7 +61,7 @@ let ElasticsearchPinger = class ElasticsearchPinger {
61
61
  resolve(result);
62
62
  }
63
63
  catch (e) {
64
- this.logger.error(e.message, e.trace);
64
+ this.logger.error(e.message || "Elasticsearch cannot be reached", e.trace || "");
65
65
  resolve(false);
66
66
  }
67
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"elasticsearch.pinger.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.pinger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yCAA4C;AAG5C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAO9B,YACoD,oBAAoB,EACnC,MAAoB;QADL,yBAAoB,GAApB,oBAAoB,CAAA;QACnC,WAAM,GAAN,MAAM,CAAc;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;aAC3D;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO,CAAC,MAAM,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3DY,mBAAmB;IAD/B,mBAAU,EAAE;IASR,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;6CAA0B,qBAAY;GAT9C,mBAAmB,CA2D/B;AA3DY,kDAAmB"}
1
+ {"version":3,"file":"elasticsearch.pinger.js","sourceRoot":"","sources":["../../../../src/service/elasticsearch/elasticsearch.pinger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yCAA4C;AAG5C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAO9B,YACoD,oBAAoB,EACnC,MAAoB;QADL,yBAAoB,GAApB,oBAAoB,CAAA;QACnC,WAAM,GAAN,MAAM,CAAc;QAEvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;aAC3D;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACnC,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO,CAAC,MAAM,CAAC,CAAC;aACjB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,CAAC,CAAC,OAAO,IAAI,iCAAiC,EAC9C,CAAC,CAAC,KAAK,IAAI,EAAE,CACd,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA9DY,mBAAmB;IAD/B,mBAAU,EAAE;IASR,WAAA,eAAM,CAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,eAAM,CAAC,QAAQ,CAAC,CAAA;6CAA0B,qBAAY;GAT9C,mBAAmB,CA8D/B;AA9DY,kDAAmB"}
@@ -92,7 +92,9 @@ let KafkaService = class KafkaService {
92
92
  var _a;
93
93
  const error = (_a = event === null || event === void 0 ? void 0 : event.payload) === null || _a === void 0 ? void 0 : _a.error;
94
94
  this.logger.log("Consumer is crashing!");
95
- this.logger.error(JSON.stringify(error));
95
+ if (error) {
96
+ this.logger.error(JSON.stringify(error));
97
+ }
96
98
  await err("Consumer crashed");
97
99
  });
98
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ let WebsocketGateway = class WebsocketGateway {
96
96
  phrase: "unknown-error",
97
97
  locale: locale.i18n,
98
98
  });
99
- const developerErrorMessage = e.message;
99
+ const developerErrorMessage = e.message || "Unknown Websocket Error";
100
100
  this.logger.error(developerErrorMessage, e.trace);
101
101
  const errorMessage = new response_1.ErrorHttpResponse(common_1.HttpStatus.BAD_REQUEST, locale, { user: userMessage, developer: developerErrorMessage }, new Error().stack, this.config, message.meta.correlationId, now);
102
102
  client.send(JSON.stringify(errorMessage));
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/service/socket/websocket.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/service/socket/websocket.gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class DateUtil {
2
+ static isValidISO8601Date(dateString: any): boolean;
3
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateUtil = void 0;
4
+ class DateUtil {
5
+ static isValidISO8601Date(dateString) {
6
+ const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})$/;
7
+ return regex.test(dateString);
8
+ }
9
+ }
10
+ exports.DateUtil = DateUtil;
11
+ //# sourceMappingURL=date.util.js.map
@@ -0,0 +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,UAAU;QACzC,MAAM,KAAK,GAAG,iEAAiE,CAAC;QAChF,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF;AALD,4BAKC"}
@@ -1,6 +1,6 @@
1
1
  import { Locale } from "@cryptexlabs/codex-data-model";
2
2
  import { Context } from "../context";
3
3
  export declare class LocaleUtil {
4
- private constructor();
4
+ static getLocaleFromAcceptLanguageHeader(context: Context, langCode: string): Locale;
5
5
  static getLocaleFromHeaders(headers: Record<string, string>, context: Context): Locale;
6
6
  }
@@ -6,9 +6,7 @@ const common_1 = require("@nestjs/common");
6
6
  const exception_1 = require("../exception");
7
7
  const locales_1 = require("../locales/locales");
8
8
  class LocaleUtil {
9
- constructor() { }
10
- static getLocaleFromHeaders(headers, context) {
11
- const langCode = headers["accept-language"] || headers["Accept-Language"];
9
+ static getLocaleFromAcceptLanguageHeader(context, langCode) {
12
10
  if (!langCode) {
13
11
  throw new exception_1.FriendlyHttpException(`Accept language header is not set`, context, locales_1.i18nData.__({ phrase: "an-error-occurred", locale: "en-US" }), common_1.HttpStatus.BAD_REQUEST);
14
12
  }
@@ -48,6 +46,10 @@ class LocaleUtil {
48
46
  }
49
47
  return new codex_data_model_1.Locale(language, country);
50
48
  }
49
+ static getLocaleFromHeaders(headers, context) {
50
+ const langCode = headers["accept-language"] || headers["Accept-Language"];
51
+ return this.getLocaleFromAcceptLanguageHeader(context, langCode);
52
+ }
51
53
  }
52
54
  exports.LocaleUtil = LocaleUtil;
53
55
  //# sourceMappingURL=locale.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.util.js","sourceRoot":"","sources":["../../../src/util/locale.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.util.js","sourceRoot":"","sources":["../../../src/util/locale.util.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,5 @@ export declare class StringUtil {
7
7
  static sha256(str: string): string;
8
8
  static sha512(str: string): string;
9
9
  static byteArray(str: string): number[];
10
+ static isValidUUIDv4(uuid: any): boolean;
10
11
  }
@@ -35,6 +35,10 @@ class StringUtil {
35
35
  static byteArray(str) {
36
36
  return [...Buffer.from(str)];
37
37
  }
38
+ static isValidUUIDv4(uuid) {
39
+ const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
40
+ return regex.test(uuid);
41
+ }
38
42
  }
39
43
  exports.StringUtil = StringUtil;
40
44
  //# sourceMappingURL=string.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../../src/util/string.util.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,MAAa,UAAU;IACrB,gBAAuB,CAAC;IACjB,MAAM,CAAC,aAAa,CAAC,GAAW;QACrC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,GAAW;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACnC,IACE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5D,UAAU,CACX,EACD;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,GAAW;QACpC,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,GAAW;QACjC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;CACF;AA3CD,gCA2CC"}
1
+ {"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../../src/util/string.util.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,MAAa,UAAU;IACrB,gBAAuB,CAAC;IACjB,MAAM,CAAC,aAAa,CAAC,GAAW;QACrC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,GAAW;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;YACnC,IACE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5D,UAAU,CACX,EACD;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,GAAW;QACpC,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,GAAW;QACjC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,IAAI;QAC9B,MAAM,KAAK,GAAG,wEAAwE,CAAC;QACvF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAhDD,gCAgDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.6.11",
3
+ "version": "0.7.1",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -12,7 +12,7 @@
12
12
  "Josh Woodcock <josh.woodcock@cryptexlabs.com>"
13
13
  ],
14
14
  "peerDependencies": {
15
- "@cryptexlabs/codex-data-model": "0.1.4"
15
+ "@cryptexlabs/codex-data-model": "0.1.5"
16
16
  },
17
17
  "dependencies": {
18
18
  "@elastic/elasticsearch": "8.2.1",
@@ -29,6 +29,8 @@
29
29
  "@types/joi": "14.3.4",
30
30
  "@types/jsonwebtoken": "8.5.5",
31
31
  "@types/node": "16.11.7",
32
+ "class-transformer": "^0.5.1",
33
+ "class-validator": "^0.14.1",
32
34
  "dotenv": "8.2.0",
33
35
  "express": "4.17.1",
34
36
  "fastq": "1.13.0",
@@ -6,7 +6,7 @@ export function ApiMetaHeaders() {
6
6
  return applyDecorators(
7
7
  ...[
8
8
  ApiHeader({
9
- name: "x-correlation-id",
9
+ name: "X-Correlation-Id",
10
10
  required: true,
11
11
  schema: {
12
12
  example: uuidV4(),
package/src/index.ts CHANGED
@@ -14,3 +14,4 @@ export * from "./exception";
14
14
  export * from "./locales";
15
15
  export * from "./service";
16
16
  export * from "./util";
17
+ export * from "./middleware";
@@ -49,6 +49,12 @@ export class CustomLogger implements LoggerService {
49
49
  message = error;
50
50
  useTrace = trace;
51
51
  }
52
+ if (!message && ((error as any).message as any)) {
53
+ message = (error as any).message;
54
+ }
55
+ if (!useTrace && ((error as any).stack as any)) {
56
+ useTrace = (error as any).stack;
57
+ }
52
58
 
53
59
  if (this.filterContext.length > 0) {
54
60
  if (this.filterContext.includes(context)) {
@@ -0,0 +1,197 @@
1
+ import {
2
+ BadRequestException,
3
+ Inject,
4
+ Injectable,
5
+ NestMiddleware,
6
+ } from "@nestjs/common";
7
+ import { DefaultConfig } from "../config";
8
+ import { ValidLanguageCodes } from "@cryptexlabs/codex-data-model";
9
+ import { LocaleUtil, StringUtil } from "../util";
10
+ import { Context, ContextBuilder } from "../context";
11
+ import { DateUtil } from "../util/date.util";
12
+
13
+ @Injectable()
14
+ export class ApiHeadersValidationMiddleware implements NestMiddleware {
15
+ constructor(
16
+ @Inject("CONFIG") private readonly config: DefaultConfig,
17
+ @Inject("CONTEXT_BUILDER") private readonly contextBuilder: ContextBuilder
18
+ ) {}
19
+
20
+ use(req: any, res: any, next: () => void): any {
21
+ const requiredHeaders = {
22
+ /**
23
+ * Unique identifier generated when a person takes an action or a system time based event is triggered
24
+ * This correlation id should be passed between systems and should be only created if none exists
25
+ * Stops being re-used when an action is required from a person
26
+ * Format is UUID V4
27
+ */
28
+ "x-correlation-id": (context: Context, correlationId: string): void => {
29
+ if (correlationId.trim() === "") {
30
+ throw new BadRequestException(
31
+ `X-Correlation-Id header is empty. Correlation Id is Unique identifier generated when a person takes an action or a system time based event is triggered. This correlation id should be passed between systems and should be only created if none exists. Stops being re-used when an action is required from a person. Format is UUID V4`
32
+ );
33
+ }
34
+ if (!StringUtil.isValidUUIDv4(correlationId)) {
35
+ throw new BadRequestException(
36
+ `Invalid X-Correlation-Id header. Must be UUID V4. For example: '57d7f725-420d-45b5-9f92-101c6c0cffc3'`
37
+ );
38
+ }
39
+ },
40
+
41
+ /**
42
+ * ISO 639 alpha-1 language code
43
+ * Every endpoint must be able to receive and pass along this property
44
+ */
45
+ "accept-language": (context: Context, acceptLanguage: string): void => {
46
+ if (acceptLanguage.trim() === "") {
47
+ throw new BadRequestException(
48
+ `Accept-Language header is empty. For example 'en-US'`
49
+ );
50
+ }
51
+ const parsedLanguage = LocaleUtil.getLocaleFromAcceptLanguageHeader(
52
+ context,
53
+ acceptLanguage
54
+ );
55
+ if (!parsedLanguage) {
56
+ throw new BadRequestException(
57
+ `Invalid Accept-Language header. Must be ISO 639 alpha-1 language code. Or standard language supported by a web browser. For example: 'en-US' or 'en-US,en;q=0.9'`
58
+ );
59
+ }
60
+ },
61
+
62
+ /**
63
+ * UTC timestamp in ISO 8601 format for when the correlation id was created
64
+ * This timestamp should be passed between systems and should be only created if none exists
65
+ */
66
+ "x-started": (context: Context, started: string): void => {
67
+ if (started.trim() === "") {
68
+ throw new BadRequestException(`X-Started header is empty`);
69
+ }
70
+ if (!DateUtil.isValidISO8601Date(started)) {
71
+ throw new BadRequestException(
72
+ `Invalid date format for X-Started header. Must be ISO 8601 format. For example '2024-02-29T19:47:57.366Z'`
73
+ );
74
+ }
75
+ },
76
+
77
+ /**
78
+ * UTC timestamp in ISO 8601 format for when this particular message was created
79
+ */
80
+ "x-created": (context: Context, created: string): void => {
81
+ if (created.trim() === "") {
82
+ throw new BadRequestException(`X-Created header is empty`);
83
+ }
84
+ if (!DateUtil.isValidISO8601Date(created)) {
85
+ throw new BadRequestException(
86
+ `Invalid date format for X-Created header. Must be ISO 8601 format. For example '2024-02-29T19:47:57.366Z'`
87
+ );
88
+ }
89
+ },
90
+
91
+ /**
92
+ * A category for the context of the request. For example 'test', 'performance test' or 'debug'
93
+ */
94
+ "x-context-category": (
95
+ context: Context,
96
+ contextCategory: string
97
+ ): void => {
98
+ if (contextCategory.trim() === "") {
99
+ throw new BadRequestException(
100
+ `X-Context-Category header is empty. A category for the context of the request. For example 'test', 'performance test' or 'debug'`
101
+ );
102
+ }
103
+ },
104
+
105
+ /**
106
+ * A unique context identifier used for correlating logs and metrics usually for performance or experimental testing
107
+ * UUID v4 format
108
+ */
109
+ "x-context-id": (context: Context, contextId: string): void => {
110
+ if (contextId.trim() === "") {
111
+ throw new BadRequestException(`X-Context-Id header is empty`);
112
+ }
113
+ if (!StringUtil.isValidUUIDv4(contextId) && contextId !== "none") {
114
+ throw new BadRequestException(
115
+ `Invalid X-Context-Id header. Must be UUID V4 or 'none'. A unique context identifier used for correlating logs and metrics usually for performance or experimental testing`
116
+ );
117
+ }
118
+ },
119
+
120
+ /**
121
+ * A unique identifier for the client to help identify exactly which application or third party is making the requests
122
+ * Must be UUID V4 format
123
+ */
124
+ "x-client-id": (context: Context, clientId: string): void => {
125
+ if (clientId.trim() === "") {
126
+ throw new BadRequestException(
127
+ `X-Client-Id header is empty. A unique identifier for the client to help identify exactly which application or third party is making the requests. Should be identical for every client. Used to uniquely identify projects. You can hard code this string in your project. Its not a secret. Should NOT be different for every request.`
128
+ );
129
+ }
130
+ if (!StringUtil.isValidUUIDv4(clientId)) {
131
+ throw new BadRequestException(
132
+ `Invalid X-Client-Id header. Must be UUID V4 format`
133
+ );
134
+ }
135
+ },
136
+
137
+ /**
138
+ * Canonical name of the client that is making the API call. Such as "BlueBerry Picker App"
139
+ */
140
+ "x-client-name": (context: Context, clientName: string): void => {
141
+ if (clientName.trim() === "") {
142
+ throw new BadRequestException(
143
+ `X-Client-Name header is empty. Canonical name of the client that is making the API call. Such as "BlueBerry Picker App"`
144
+ );
145
+ }
146
+ },
147
+
148
+ /**
149
+ * Version of the client that is making the API call. Such as '1.3.8'
150
+ */
151
+ "x-client-version": (context: Context, clientVersion: string): void => {
152
+ if (clientVersion.trim() === "") {
153
+ throw new BadRequestException(
154
+ `X-Client-Version header is empty. Version of the client that is making the API call. Such as '1.3.8'`
155
+ );
156
+ }
157
+ },
158
+
159
+ /**
160
+ * Variation of the client build. There can be different builds of the same version of a client such as 'dev', 'test' or 'demo'
161
+ * Typically these variations would be configured to interact with different backends and have different debugging levels
162
+ */
163
+ "x-client-variant": (context: Context, clientVariant: string): void => {
164
+ if (clientVariant.trim() === "") {
165
+ throw new BadRequestException(
166
+ "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"
167
+ );
168
+ }
169
+ },
170
+ };
171
+
172
+ if (req.path.startsWith(`/${this.config.appPrefix}`)) {
173
+ const missingHeaders = Object.keys(requiredHeaders).filter(
174
+ (header) => !req.headers[header.toLowerCase()]
175
+ );
176
+
177
+ if (missingHeaders.length > 0) {
178
+ throw new BadRequestException(
179
+ `Missing required headers: ${missingHeaders.join(", ")}`
180
+ );
181
+ }
182
+
183
+ const validationContext = this.contextBuilder
184
+ .build()
185
+ .setMetaFromHeaders(req.headers)
186
+ .getResult();
187
+
188
+ for (const headerName of Object.keys(requiredHeaders)) {
189
+ const validator = requiredHeaders[headerName];
190
+ const header = req[headerName];
191
+ validator(validationContext, header);
192
+ }
193
+ }
194
+
195
+ next();
196
+ }
197
+ }
@@ -0,0 +1 @@
1
+ export * from "./api-headers-validation.middleware";
@@ -7,8 +7,8 @@ import { JsonSerializableInterface } from "../message";
7
7
  import { Context } from "../context";
8
8
  import { HttpPaginatedResponseMeta } from "./http-paginated-response-meta";
9
9
 
10
- export class RestPaginatedResponse
11
- implements JsonSerializableInterface<MessageInterface<string>> {
10
+ export class RestPaginatedResponse<L>
11
+ implements JsonSerializableInterface<MessageInterface<L[]>> {
12
12
  public readonly meta: MessageMetaInterface;
13
13
 
14
14
  constructor(
@@ -16,7 +16,7 @@ export class RestPaginatedResponse
16
16
  status: HttpStatus,
17
17
  totalRecords: number,
18
18
  type: string,
19
- public readonly data: any
19
+ public readonly data: L[]
20
20
  ) {
21
21
  this.meta = new HttpPaginatedResponseMeta(
22
22
  status,
@@ -29,7 +29,7 @@ export class RestPaginatedResponse
29
29
  ) as MessageMetaInterface;
30
30
  }
31
31
 
32
- public toJSON(): MessageInterface<any> {
32
+ public toJSON(): MessageInterface<L[]> {
33
33
  return {
34
34
  meta: this.meta,
35
35
  data: this.data,
@@ -7,15 +7,15 @@ import { JsonSerializableInterface } from "../message";
7
7
  import { Context } from "../context";
8
8
  import { HttpResponseMeta } from "./http-response-meta";
9
9
 
10
- export class RestResponse
11
- implements JsonSerializableInterface<MessageInterface<string>> {
10
+ export class RestResponse<T>
11
+ implements JsonSerializableInterface<MessageInterface<T>> {
12
12
  public readonly meta: MessageMetaInterface;
13
13
 
14
14
  constructor(
15
15
  context: Context,
16
16
  status: HttpStatus,
17
17
  type: string,
18
- public readonly data: any
18
+ public readonly data: T
19
19
  ) {
20
20
  this.meta = new HttpResponseMeta(
21
21
  status,
@@ -27,7 +27,7 @@ export class RestResponse
27
27
  ) as MessageMetaInterface;
28
28
  }
29
29
 
30
- public toJSON(): MessageInterface<any> {
30
+ public toJSON(): MessageInterface<T> {
31
31
  return {
32
32
  meta: this.meta,
33
33
  data: this.data,
@@ -56,7 +56,10 @@ export class ElasticsearchPinger {
56
56
  const result = await this.elasticsearchService.ping();
57
57
  resolve(result);
58
58
  } catch (e) {
59
- this.logger.error(e.message, e.trace);
59
+ this.logger.error(
60
+ e.message || "Elasticsearch cannot be reached",
61
+ e.trace || ""
62
+ );
60
63
  resolve(false);
61
64
  }
62
65
  });
@@ -126,7 +126,9 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
126
126
  this._kafkaConsumer.on(this._kafkaConsumer.events.CRASH, async (event) => {
127
127
  const error = event?.payload?.error;
128
128
  this.logger.log("Consumer is crashing!");
129
- this.logger.error(JSON.stringify(error));
129
+ if (error) {
130
+ this.logger.error(JSON.stringify(error));
131
+ }
130
132
  await err("Consumer crashed");
131
133
  });
132
134
  }
@@ -158,7 +158,7 @@ export class WebsocketGateway
158
158
  phrase: "unknown-error",
159
159
  locale: locale.i18n,
160
160
  });
161
- const developerErrorMessage = e.message;
161
+ const developerErrorMessage = e.message || "Unknown Websocket Error";
162
162
 
163
163
  this.logger.error(developerErrorMessage, e.trace);
164
164
 
@@ -0,0 +1,6 @@
1
+ export class DateUtil {
2
+ public static isValidISO8601Date(dateString) {
3
+ const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})$/;
4
+ return regex.test(dateString);
5
+ }
6
+ }
@@ -11,13 +11,10 @@ import { Context } from "../context";
11
11
  import { i18nData } from "../locales/locales";
12
12
 
13
13
  export class LocaleUtil {
14
- private constructor() {}
15
-
16
- public static getLocaleFromHeaders(
17
- headers: Record<string, string>,
18
- context: Context
14
+ public static getLocaleFromAcceptLanguageHeader(
15
+ context: Context,
16
+ langCode: string
19
17
  ) {
20
- const langCode = headers["accept-language"] || headers["Accept-Language"];
21
18
  if (!langCode) {
22
19
  throw new FriendlyHttpException(
23
20
  `Accept language header is not set`,
@@ -81,4 +78,12 @@ export class LocaleUtil {
81
78
 
82
79
  return new Locale(language as LanguageCode, country as CountryCode);
83
80
  }
81
+
82
+ public static getLocaleFromHeaders(
83
+ headers: Record<string, string>,
84
+ context: Context
85
+ ) {
86
+ const langCode = headers["accept-language"] || headers["Accept-Language"];
87
+ return this.getLocaleFromAcceptLanguageHeader(context, langCode);
88
+ }
84
89
  }
@@ -43,4 +43,9 @@ export class StringUtil {
43
43
  public static byteArray(str: string): number[] {
44
44
  return [...Buffer.from(str)];
45
45
  }
46
+
47
+ public static isValidUUIDv4(uuid) {
48
+ const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
49
+ return regex.test(uuid);
50
+ }
46
51
  }