@cryptexlabs/codex-nodejs-common 0.15.4 → 0.16.0

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.15.4",
3
+ "version": "0.16.0",
4
4
  "description": "Common code for Codex framework",
5
5
  "main": "lib/src/index.js",
6
6
  "type": "commonjs",
@@ -55,7 +55,20 @@ let AuthfGuard = class AuthfGuard {
55
55
  }
56
56
  catch (err) {
57
57
  if (err.name === "TokenExpiredError") {
58
- throw new common_1.ImATeapotException("Token has expired. Bro! Seriously stop sending expired tokens. Do you even code? What kind of developer are you?");
58
+ if (!process.env.DISABLE_TEAPOT) {
59
+ const jokes = [
60
+ "Token Expired: Your token brewed too long—now it's just Java!",
61
+ "Token Expired: Token ran out of coffee beans. Please refill and try again.",
62
+ "Token Expired: Your JWT took a coffee break and never came back.",
63
+ "Token Expired: Token is as expired as that TODO list on your refrigerator",
64
+ "Token Expired: Your auth is steeped, not valid. Time for a fresh brew.",
65
+ ];
66
+ const msg = jokes[Math.floor(Math.random() * jokes.length)];
67
+ throw new common_1.ImATeapotException(msg);
68
+ }
69
+ else {
70
+ throw new common_1.UnauthorizedException("Token Expired");
71
+ }
59
72
  }
60
73
  else if (err.name === "JsonWebTokenError") {
61
74
  throw new common_1.UnauthorizedException(`Invalid token: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"authf.guard.js","sourceRoot":"","sources":["../../../src/auth/authf.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authf.guard.js","sourceRoot":"","sources":["../../../src/auth/authf.guard.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,14 @@ function ApiMetaHeaders() {
8
8
  return (0, common_1.applyDecorators)(...[
9
9
  (0, swagger_1.ApiHeader)({
10
10
  name: "X-Correlation-Id",
11
- required: true,
11
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
12
12
  schema: {
13
13
  example: (0, uuid_1.v4)(),
14
14
  },
15
15
  }),
16
16
  (0, swagger_1.ApiHeader)({
17
17
  name: "Accept-Language",
18
- required: true,
18
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
19
19
  schema: {
20
20
  example: "en-US",
21
21
  },
@@ -23,7 +23,7 @@ function ApiMetaHeaders() {
23
23
  (0, swagger_1.ApiHeader)({
24
24
  name: "X-Started",
25
25
  description: "The time that the very first user initiated or time initiated event that eventually lead to this api being called was created",
26
- required: true,
26
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
27
27
  schema: {
28
28
  example: new Date().toISOString(),
29
29
  },
@@ -31,7 +31,7 @@ function ApiMetaHeaders() {
31
31
  (0, swagger_1.ApiHeader)({
32
32
  name: "X-Context-Category",
33
33
  description: "A category for the context of the request. For example 'test' or 'performance test'",
34
- required: true,
34
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
35
35
  schema: {
36
36
  example: "default",
37
37
  },
@@ -39,7 +39,7 @@ function ApiMetaHeaders() {
39
39
  (0, swagger_1.ApiHeader)({
40
40
  name: "X-Context-Id",
41
41
  description: "A unique context identifier used for correlating logs and metrics usually for performance or experimental testing",
42
- required: true,
42
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
43
43
  schema: {
44
44
  example: "none",
45
45
  },
@@ -47,7 +47,7 @@ function ApiMetaHeaders() {
47
47
  (0, swagger_1.ApiHeader)({
48
48
  name: "X-Client-Id",
49
49
  description: "A unique identifier for the client to help identify exactly which application or third party is making the requests",
50
- required: true,
50
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
51
51
  schema: {},
52
52
  examples: {
53
53
  UUIDV4: {
@@ -61,7 +61,7 @@ function ApiMetaHeaders() {
61
61
  (0, swagger_1.ApiHeader)({
62
62
  name: "X-Client-Name",
63
63
  description: "The name of the client",
64
- required: true,
64
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
65
65
  schema: {
66
66
  example: "swagger",
67
67
  },
@@ -70,7 +70,7 @@ function ApiMetaHeaders() {
70
70
  name: "X-Client-Version",
71
71
  description: "The version of the client. If the client is making bad requests this helps " +
72
72
  "identify which version of the client is making the bad requests",
73
- required: true,
73
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
74
74
  schema: {
75
75
  example: "0.3.6",
76
76
  },
@@ -78,7 +78,7 @@ function ApiMetaHeaders() {
78
78
  (0, swagger_1.ApiHeader)({
79
79
  name: "X-Client-Variant",
80
80
  description: "Usually an environment or build type such as dev, test, or prod",
81
- required: true,
81
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
82
82
  schema: {
83
83
  example: "dev",
84
84
  },
@@ -86,7 +86,7 @@ function ApiMetaHeaders() {
86
86
  (0, swagger_1.ApiHeader)({
87
87
  name: "X-Created",
88
88
  description: "The time the client initiated the http request",
89
- required: true,
89
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
90
90
  schema: {
91
91
  example: new Date().toISOString(),
92
92
  },
@@ -1 +1 @@
1
- {"version":3,"file":"api-meta-headers.js","sourceRoot":"","sources":["../../../src/decorator/api-meta-headers.ts"],"names":[],"mappings":";;AAIA,wCAiHC;AArHD,6CAA4C;AAC5C,2CAAiD;AACjD,+BAAoC;AAEpC,SAAgB,cAAc;IAC5B,OAAO,IAAA,wBAAe,EACpB,GAAG;QACD,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,IAAA,SAAM,GAAE;aAClB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,+HAA+H;YACjI,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,qFAAqF;YACvF,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,mHAAmH;YACrH,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,qHAAqH;YACvH,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE;gBACR,MAAM,EAAE;oBACN,KAAK,EAAE,sCAAsC;iBAC9C;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC;iBACT;aACF;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,6EAA6E;gBAC7E,iEAAiE;YACnE,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,iEAAiE;YACnE,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;aACf;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC;SACF,CAAC;QACF,IAAA,mBAAS,EAAC;YACR,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,yEAAyE;YAC3E,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,iBAAiB;aAC3B;SACF,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"api-meta-headers.js","sourceRoot":"","sources":["../../../src/decorator/api-meta-headers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";
2
+ import { Observable } from "rxjs";
3
+ export declare class StripMetaResponseInterceptor implements NestInterceptor {
4
+ intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
5
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StripMetaResponseInterceptor = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ class StripMetaResponseInterceptor {
6
+ intercept(context, next) {
7
+ var _a;
8
+ if (context.getType() !== "http") {
9
+ return next.handle();
10
+ }
11
+ const request = context.switchToHttp().getRequest();
12
+ const headerValue = (_a = request === null || request === void 0 ? void 0 : request.headers) === null || _a === void 0 ? void 0 : _a["x-include-meta"];
13
+ const headerString = Array.isArray(headerValue)
14
+ ? headerValue[0]
15
+ : headerValue;
16
+ const headerWantsMeta = (headerString !== null && headerString !== void 0 ? headerString : "").toString().toLowerCase() === "true";
17
+ const envSaysStripByDefault = process.env.X_INCLUDE_META_DEFAULT === "false";
18
+ const headerIsUnset = headerString === undefined || headerString === "false";
19
+ const shouldStrip = !headerWantsMeta && envSaysStripByDefault && headerIsUnset;
20
+ if (!shouldStrip) {
21
+ return next.handle();
22
+ }
23
+ return next.handle().pipe((0, rxjs_1.map)((value) => {
24
+ if (value &&
25
+ typeof value === "object" &&
26
+ "data" in value) {
27
+ return value.data;
28
+ }
29
+ return value;
30
+ }));
31
+ }
32
+ }
33
+ exports.StripMetaResponseInterceptor = StripMetaResponseInterceptor;
34
+ //# sourceMappingURL=strip-meta.response.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-meta.response.interceptor.js","sourceRoot":"","sources":["../../../src/response/strip-meta.response.interceptor.ts"],"names":[],"mappings":";;;AACA,+BAAuC;AAEvC,MAAa,4BAA4B;IACvC,SAAS,CAAC,OAAyB,EAAE,IAAiB;;QAEpD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAG,gBAAgB,CAG1C,CAAC;QAGd,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,WAAW,CAAC;QAGhB,MAAM,eAAe,GACnB,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAG3D,MAAM,qBAAqB,GACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,OAAO,CAAC;QACjD,MAAM,aAAa,GACjB,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,OAAO,CAAC;QAEzD,MAAM,WAAW,GACf,CAAC,eAAe,IAAI,qBAAqB,IAAI,aAAa,CAAC;QAE7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAGD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,CAAC,KAAc,EAAE,EAAE;YACrB,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAK,KAAiC,EAC5C,CAAC;gBACD,OAAQ,KAA2B,CAAC,IAAI,CAAC;YAC3C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAjDD,oEAiDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.15.4",
3
+ "version": "0.16.0",
4
4
  "description": "Common code for Codex framework",
5
5
  "main": "lib/src/index.js",
6
6
  "type": "commonjs",
@@ -67,9 +67,19 @@ export class AuthfGuard implements CanActivate {
67
67
  decodedToken = (jwt.decode(token) as unknown) as any;
68
68
  } catch (err) {
69
69
  if (err.name === "TokenExpiredError") {
70
- throw new ImATeapotException(
71
- "Token has expired. Bro! Seriously stop sending expired tokens. Do you even code? What kind of developer are you?"
72
- );
70
+ if (!process.env.DISABLE_TEAPOT) {
71
+ const jokes = [
72
+ "Token Expired: Your token brewed too long—now it's just Java!",
73
+ "Token Expired: Token ran out of coffee beans. Please refill and try again.",
74
+ "Token Expired: Your JWT took a coffee break and never came back.",
75
+ "Token Expired: Token is as expired as that TODO list on your refrigerator",
76
+ "Token Expired: Your auth is steeped, not valid. Time for a fresh brew.",
77
+ ];
78
+ const msg = jokes[Math.floor(Math.random() * jokes.length)];
79
+ throw new ImATeapotException(msg);
80
+ } else {
81
+ throw new UnauthorizedException("Token Expired");
82
+ }
73
83
  } else if (err.name === "JsonWebTokenError") {
74
84
  throw new UnauthorizedException(`Invalid token: ${err.message}`);
75
85
  } else if (err instanceof UnauthorizedException) {
@@ -7,14 +7,14 @@ export function ApiMetaHeaders() {
7
7
  ...[
8
8
  ApiHeader({
9
9
  name: "X-Correlation-Id",
10
- required: true,
10
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
11
11
  schema: {
12
12
  example: uuidV4(),
13
13
  },
14
14
  }),
15
15
  ApiHeader({
16
16
  name: "Accept-Language",
17
- required: true,
17
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
18
18
  schema: {
19
19
  example: "en-US",
20
20
  },
@@ -23,7 +23,7 @@ export function ApiMetaHeaders() {
23
23
  name: "X-Started",
24
24
  description:
25
25
  "The time that the very first user initiated or time initiated event that eventually lead to this api being called was created",
26
- required: true,
26
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
27
27
  schema: {
28
28
  example: new Date().toISOString(),
29
29
  },
@@ -32,7 +32,7 @@ export function ApiMetaHeaders() {
32
32
  name: "X-Context-Category",
33
33
  description:
34
34
  "A category for the context of the request. For example 'test' or 'performance test'",
35
- required: true,
35
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
36
36
  schema: {
37
37
  example: "default",
38
38
  },
@@ -41,7 +41,7 @@ export function ApiMetaHeaders() {
41
41
  name: "X-Context-Id",
42
42
  description:
43
43
  "A unique context identifier used for correlating logs and metrics usually for performance or experimental testing",
44
- required: true,
44
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
45
45
  schema: {
46
46
  example: "none",
47
47
  },
@@ -50,7 +50,7 @@ export function ApiMetaHeaders() {
50
50
  name: "X-Client-Id",
51
51
  description:
52
52
  "A unique identifier for the client to help identify exactly which application or third party is making the requests",
53
- required: true,
53
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
54
54
  schema: {},
55
55
  examples: {
56
56
  UUIDV4: {
@@ -64,7 +64,7 @@ export function ApiMetaHeaders() {
64
64
  ApiHeader({
65
65
  name: "X-Client-Name",
66
66
  description: "The name of the client",
67
- required: true,
67
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
68
68
  schema: {
69
69
  example: "swagger",
70
70
  },
@@ -74,7 +74,7 @@ export function ApiMetaHeaders() {
74
74
  description:
75
75
  "The version of the client. If the client is making bad requests this helps " +
76
76
  "identify which version of the client is making the bad requests",
77
- required: true,
77
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
78
78
  schema: {
79
79
  example: "0.3.6",
80
80
  },
@@ -83,7 +83,7 @@ export function ApiMetaHeaders() {
83
83
  name: "X-Client-Variant",
84
84
  description:
85
85
  "Usually an environment or build type such as dev, test, or prod",
86
- required: true,
86
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
87
87
  schema: {
88
88
  example: "dev",
89
89
  },
@@ -91,7 +91,7 @@ export function ApiMetaHeaders() {
91
91
  ApiHeader({
92
92
  name: "X-Created",
93
93
  description: "The time the client initiated the http request",
94
- required: true,
94
+ required: process.env.X_META_HEADERS_REQUIRED !== "false",
95
95
  schema: {
96
96
  example: new Date().toISOString(),
97
97
  },
@@ -0,0 +1,53 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";
2
+ import { map, Observable } from "rxjs";
3
+
4
+ export class StripMetaResponseInterceptor implements NestInterceptor {
5
+ intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
6
+ // Only applicable to HTTP requests (headers)
7
+ if (context.getType() !== "http") {
8
+ return next.handle();
9
+ }
10
+
11
+ const request = context.switchToHttp().getRequest();
12
+ const headerValue = request?.headers?.["x-include-meta"] as
13
+ | string
14
+ | string[]
15
+ | undefined;
16
+
17
+ // Normalize header to a single string (or undefined)
18
+ const headerString = Array.isArray(headerValue)
19
+ ? headerValue[0]
20
+ : headerValue;
21
+
22
+ // If header explicitly says "true", always include meta
23
+ const headerWantsMeta =
24
+ (headerString ?? "").toString().toLowerCase() === "true";
25
+
26
+ // Only strip when env is explicitly false AND header is not set at all
27
+ const envSaysStripByDefault =
28
+ process.env.X_INCLUDE_META_DEFAULT === "false";
29
+ const headerIsUnset =
30
+ headerString === undefined || headerString === "false";
31
+
32
+ const shouldStrip =
33
+ !headerWantsMeta && envSaysStripByDefault && headerIsUnset;
34
+
35
+ if (!shouldStrip) {
36
+ return next.handle();
37
+ }
38
+
39
+ // Strip to value.data when present; otherwise leave as-is
40
+ return next.handle().pipe(
41
+ map((value: unknown) => {
42
+ if (
43
+ value &&
44
+ typeof value === "object" &&
45
+ "data" in (value as Record<string, unknown>)
46
+ ) {
47
+ return (value as { data: unknown }).data;
48
+ }
49
+ return value;
50
+ })
51
+ );
52
+ }
53
+ }