@tc-libs/request 0.9.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.
Files changed (131) hide show
  1. package/README.md +11 -0
  2. package/package.json +11 -0
  3. package/src/constants/index.d.ts +2 -0
  4. package/src/constants/index.js +6 -0
  5. package/src/constants/index.js.map +1 -0
  6. package/src/constants/request.constant.d.ts +3 -0
  7. package/src/constants/request.constant.js +7 -0
  8. package/src/constants/request.constant.js.map +1 -0
  9. package/src/constants/request.enum.constant.d.ts +9 -0
  10. package/src/constants/request.enum.constant.js +14 -0
  11. package/src/constants/request.enum.constant.js.map +1 -0
  12. package/src/decorators/index.d.ts +1 -0
  13. package/src/decorators/index.js +5 -0
  14. package/src/decorators/index.js.map +1 -0
  15. package/src/decorators/request.decorator.d.ts +10 -0
  16. package/src/decorators/request.decorator.js +44 -0
  17. package/src/decorators/request.decorator.js.map +1 -0
  18. package/src/guards/index.d.ts +1 -0
  19. package/src/guards/index.js +5 -0
  20. package/src/guards/index.js.map +1 -0
  21. package/src/guards/request.param.guard.d.ts +7 -0
  22. package/src/guards/request.param.guard.js +33 -0
  23. package/src/guards/request.param.guard.js.map +1 -0
  24. package/src/index.d.ts +8 -0
  25. package/src/index.js +12 -0
  26. package/src/index.js.map +1 -0
  27. package/src/interceptors/index.d.ts +4 -0
  28. package/src/interceptors/index.js +8 -0
  29. package/src/interceptors/index.js.map +1 -0
  30. package/src/interceptors/request.cache.interceptor.d.ts +4 -0
  31. package/src/interceptors/request.cache.interceptor.js +17 -0
  32. package/src/interceptors/request.cache.interceptor.js.map +1 -0
  33. package/src/interceptors/request.timeout.interceptor.d.ts +11 -0
  34. package/src/interceptors/request.timeout.interceptor.js +49 -0
  35. package/src/interceptors/request.timeout.interceptor.js.map +1 -0
  36. package/src/interceptors/request.timestamp.interceptor.d.ts +11 -0
  37. package/src/interceptors/request.timestamp.interceptor.js +42 -0
  38. package/src/interceptors/request.timestamp.interceptor.js.map +1 -0
  39. package/src/interceptors/request.user-agent.interceptor.d.ts +11 -0
  40. package/src/interceptors/request.user-agent.interceptor.js +44 -0
  41. package/src/interceptors/request.user-agent.interceptor.js.map +1 -0
  42. package/src/interfaces/index.d.ts +1 -0
  43. package/src/interfaces/index.js +5 -0
  44. package/src/interfaces/index.js.map +1 -0
  45. package/src/interfaces/request.interface.d.ts +23 -0
  46. package/src/interfaces/request.interface.js +3 -0
  47. package/src/interfaces/request.interface.js.map +1 -0
  48. package/src/middleware/body-parser/request.body-parser.middleware.d.ts +27 -0
  49. package/src/middleware/body-parser/request.body-parser.middleware.js +77 -0
  50. package/src/middleware/body-parser/request.body-parser.middleware.js.map +1 -0
  51. package/src/middleware/cors/request.cors.middleware.d.ts +12 -0
  52. package/src/middleware/cors/request.cors.middleware.js +35 -0
  53. package/src/middleware/cors/request.cors.middleware.js.map +1 -0
  54. package/src/middleware/helmet/request.helmet.middleware.d.ts +5 -0
  55. package/src/middleware/helmet/request.helmet.middleware.js +16 -0
  56. package/src/middleware/helmet/request.helmet.middleware.js.map +1 -0
  57. package/src/middleware/id/request.id.middleware.d.ts +6 -0
  58. package/src/middleware/id/request.id.middleware.js +18 -0
  59. package/src/middleware/id/request.id.middleware.js.map +1 -0
  60. package/src/middleware/request.middleware.module.d.ts +4 -0
  61. package/src/middleware/request.middleware.module.js +25 -0
  62. package/src/middleware/request.middleware.module.js.map +1 -0
  63. package/src/middleware/timestamp/request.timestamp.middleware.d.ts +9 -0
  64. package/src/middleware/timestamp/request.timestamp.middleware.js +23 -0
  65. package/src/middleware/timestamp/request.timestamp.middleware.js.map +1 -0
  66. package/src/middleware/timezone/request.timezone.middleware.d.ts +6 -0
  67. package/src/middleware/timezone/request.timezone.middleware.js +16 -0
  68. package/src/middleware/timezone/request.timezone.middleware.js.map +1 -0
  69. package/src/middleware/user-agent/request.user-agent.middleware.d.ts +6 -0
  70. package/src/middleware/user-agent/request.user-agent.middleware.js +19 -0
  71. package/src/middleware/user-agent/request.user-agent.middleware.js.map +1 -0
  72. package/src/middleware/version/request.version.middleware.d.ts +14 -0
  73. package/src/middleware/version/request.version.middleware.js +35 -0
  74. package/src/middleware/version/request.version.middleware.js.map +1 -0
  75. package/src/request.module.d.ts +6 -0
  76. package/src/request.module.js +128 -0
  77. package/src/request.module.js.map +1 -0
  78. package/src/request.module.options.d.ts +63 -0
  79. package/src/request.module.options.js +5 -0
  80. package/src/request.module.options.js.map +1 -0
  81. package/src/serializations/index.d.ts +1 -0
  82. package/src/serializations/index.js +5 -0
  83. package/src/serializations/index.js.map +1 -0
  84. package/src/serializations/request.pagination.serialization.d.ts +15 -0
  85. package/src/serializations/request.pagination.serialization.js +12 -0
  86. package/src/serializations/request.pagination.serialization.js.map +1 -0
  87. package/src/validations/index.d.ts +13 -0
  88. package/src/validations/index.js +17 -0
  89. package/src/validations/index.js.map +1 -0
  90. package/src/validations/request.is-password-medium.validation.d.ts +8 -0
  91. package/src/validations/request.is-password-medium.validation.js +36 -0
  92. package/src/validations/request.is-password-medium.validation.js.map +1 -0
  93. package/src/validations/request.is-password-strong.validation.d.ts +9 -0
  94. package/src/validations/request.is-password-strong.validation.js +41 -0
  95. package/src/validations/request.is-password-strong.validation.js.map +1 -0
  96. package/src/validations/request.is-password-weak.validation.d.ts +8 -0
  97. package/src/validations/request.is-password-weak.validation.js +36 -0
  98. package/src/validations/request.is-password-weak.validation.js.map +1 -0
  99. package/src/validations/request.is-start-with.validation.d.ts +5 -0
  100. package/src/validations/request.is-start-with.validation.js +32 -0
  101. package/src/validations/request.is-start-with.validation.js.map +1 -0
  102. package/src/validations/request.max-binary-file.validation.d.ts +9 -0
  103. package/src/validations/request.max-binary-file.validation.js +55 -0
  104. package/src/validations/request.max-binary-file.validation.js.map +1 -0
  105. package/src/validations/request.max-date-today.validation.d.ts +8 -0
  106. package/src/validations/request.max-date-today.validation.js +37 -0
  107. package/src/validations/request.max-date-today.validation.js.map +1 -0
  108. package/src/validations/request.max-greater-than-equal.validation.d.ts +5 -0
  109. package/src/validations/request.max-greater-than-equal.validation.js +32 -0
  110. package/src/validations/request.max-greater-than-equal.validation.js.map +1 -0
  111. package/src/validations/request.max-greater-than.validation.d.ts +5 -0
  112. package/src/validations/request.max-greater-than.validation.js +32 -0
  113. package/src/validations/request.max-greater-than.validation.js.map +1 -0
  114. package/src/validations/request.min-date-today.validation.d.ts +8 -0
  115. package/src/validations/request.min-date-today.validation.js +37 -0
  116. package/src/validations/request.min-date-today.validation.js.map +1 -0
  117. package/src/validations/request.min-greater-than-equal.validation.d.ts +5 -0
  118. package/src/validations/request.min-greater-than-equal.validation.js +32 -0
  119. package/src/validations/request.min-greater-than-equal.validation.js.map +1 -0
  120. package/src/validations/request.min-greater-than.validation.d.ts +5 -0
  121. package/src/validations/request.min-greater-than.validation.js +32 -0
  122. package/src/validations/request.min-greater-than.validation.js.map +1 -0
  123. package/src/validations/request.only-digits.validation.d.ts +8 -0
  124. package/src/validations/request.only-digits.validation.js +35 -0
  125. package/src/validations/request.only-digits.validation.js.map +1 -0
  126. package/src/validations/request.safe-string.validation.d.ts +8 -0
  127. package/src/validations/request.safe-string.validation.js +34 -0
  128. package/src/validations/request.safe-string.validation.js.map +1 -0
  129. package/src/validations/request.skip.validation.d.ts +5 -0
  130. package/src/validations/request.skip.validation.js +28 -0
  131. package/src/validations/request.skip.validation.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # request
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build request` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test request` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@tc-libs/request",
3
+ "version": "0.9.0",
4
+ "dependencies": {
5
+ "tslib": "^2.3.0"
6
+ },
7
+ "type": "commonjs",
8
+ "main": "./src/index.js",
9
+ "typings": "./src/index.d.ts",
10
+ "types": "./src/index.d.ts"
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './request.enum.constant';
2
+ export * from './request.constant';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./request.enum.constant"), exports);
5
+ tslib_1.__exportStar(require("./request.constant"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/constants/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,6DAAmC"}
@@ -0,0 +1,3 @@
1
+ export declare const REQUEST_PARAM_CLASS_DTOS_META_KEY = "RequestParamClassDtosMetaKey";
2
+ export declare const REQUEST_CUSTOM_TIMEOUT_META_KEY = "RequestCustomTimeoutMetaKey";
3
+ export declare const REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY = "RequestCustomTimeoutValueMetaKey";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY = exports.REQUEST_CUSTOM_TIMEOUT_META_KEY = exports.REQUEST_PARAM_CLASS_DTOS_META_KEY = void 0;
4
+ exports.REQUEST_PARAM_CLASS_DTOS_META_KEY = 'RequestParamClassDtosMetaKey';
5
+ exports.REQUEST_CUSTOM_TIMEOUT_META_KEY = 'RequestCustomTimeoutMetaKey';
6
+ exports.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY = 'RequestCustomTimeoutValueMetaKey';
7
+ //# sourceMappingURL=request.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.constant.js","sourceRoot":"","sources":["../../../../../packages/request/src/constants/request.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAAG,8BAA8B,CAAC;AAEnE,QAAA,+BAA+B,GAAG,6BAA6B,CAAC;AAChE,QAAA,qCAAqC,GAChD,kCAAkC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare enum ENUM_REQUEST_METHOD {
2
+ GET = "GET",
3
+ POST = "POST",
4
+ PUT = "PUT",
5
+ PATCH = "PATCH",
6
+ DELETE = "DELETE",
7
+ OPTIONS = "OPTIONS",
8
+ HEAD = "HEAD"
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENUM_REQUEST_METHOD = void 0;
4
+ var ENUM_REQUEST_METHOD;
5
+ (function (ENUM_REQUEST_METHOD) {
6
+ ENUM_REQUEST_METHOD["GET"] = "GET";
7
+ ENUM_REQUEST_METHOD["POST"] = "POST";
8
+ ENUM_REQUEST_METHOD["PUT"] = "PUT";
9
+ ENUM_REQUEST_METHOD["PATCH"] = "PATCH";
10
+ ENUM_REQUEST_METHOD["DELETE"] = "DELETE";
11
+ ENUM_REQUEST_METHOD["OPTIONS"] = "OPTIONS";
12
+ ENUM_REQUEST_METHOD["HEAD"] = "HEAD";
13
+ })(ENUM_REQUEST_METHOD || (exports.ENUM_REQUEST_METHOD = ENUM_REQUEST_METHOD = {}));
14
+ //# sourceMappingURL=request.enum.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.enum.constant.js","sourceRoot":"","sources":["../../../../../packages/request/src/constants/request.enum.constant.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,kCAAW,CAAA;IACX,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;IACnB,oCAAa,CAAA;AACf,CAAC,EARW,mBAAmB,mCAAnB,mBAAmB,QAQ9B"}
@@ -0,0 +1 @@
1
+ export * from './request.decorator';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./request.decorator"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC"}
@@ -0,0 +1,10 @@
1
+ import { ClassConstructor } from 'class-transformer';
2
+ export declare const RequestUserAgent: () => ParameterDecorator;
3
+ export declare const RequestId: () => ParameterDecorator;
4
+ export declare const RequestXTimestamp: () => ParameterDecorator;
5
+ export declare const RequestTimestamp: () => ParameterDecorator;
6
+ export declare const RequestCustomLang: () => ParameterDecorator;
7
+ export declare function RequestParamGuard(...classValidation: ClassConstructor<any>[]): MethodDecorator;
8
+ export declare function RequestValidateUserAgent(): MethodDecorator;
9
+ export declare function RequestValidateTimestamp(): MethodDecorator;
10
+ export declare function RequestTimeout(seconds: string): MethodDecorator;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestCustomLang = exports.RequestTimestamp = exports.RequestXTimestamp = exports.RequestId = exports.RequestUserAgent = void 0;
4
+ exports.RequestParamGuard = RequestParamGuard;
5
+ exports.RequestValidateUserAgent = RequestValidateUserAgent;
6
+ exports.RequestValidateTimestamp = RequestValidateTimestamp;
7
+ exports.RequestTimeout = RequestTimeout;
8
+ const common_1 = require("@nestjs/common");
9
+ const constants_1 = require("../constants");
10
+ const guards_1 = require("../guards");
11
+ const interceptors_1 = require("../interceptors");
12
+ exports.RequestUserAgent = (0, common_1.createParamDecorator)((data, ctx) => {
13
+ const { __userAgent } = ctx.switchToHttp().getRequest();
14
+ return __userAgent;
15
+ });
16
+ exports.RequestId = (0, common_1.createParamDecorator)((data, ctx) => {
17
+ const { __id } = ctx.switchToHttp().getRequest();
18
+ return __id;
19
+ });
20
+ exports.RequestXTimestamp = (0, common_1.createParamDecorator)((data, ctx) => {
21
+ const { __xTimestamp } = ctx.switchToHttp().getRequest();
22
+ return __xTimestamp;
23
+ });
24
+ exports.RequestTimestamp = (0, common_1.createParamDecorator)((data, ctx) => {
25
+ const { __timestamp } = ctx.switchToHttp().getRequest();
26
+ return __timestamp;
27
+ });
28
+ exports.RequestCustomLang = (0, common_1.createParamDecorator)((data, ctx) => {
29
+ const { __customLang } = ctx.switchToHttp().getRequest();
30
+ return __customLang;
31
+ });
32
+ function RequestParamGuard(...classValidation) {
33
+ return (0, common_1.applyDecorators)((0, common_1.UseGuards)(guards_1.RequestParamRawGuard), (0, common_1.SetMetadata)(constants_1.REQUEST_PARAM_CLASS_DTOS_META_KEY, classValidation));
34
+ }
35
+ function RequestValidateUserAgent() {
36
+ return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)(interceptors_1.RequestUserAgentInterceptor));
37
+ }
38
+ function RequestValidateTimestamp() {
39
+ return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)(interceptors_1.RequestTimestampInterceptor));
40
+ }
41
+ function RequestTimeout(seconds) {
42
+ return (0, common_1.applyDecorators)((0, common_1.SetMetadata)(constants_1.REQUEST_CUSTOM_TIMEOUT_META_KEY, true), (0, common_1.SetMetadata)(constants_1.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY, seconds));
43
+ }
44
+ //# sourceMappingURL=request.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.decorator.js","sourceRoot":"","sources":["../../../../../packages/request/src/decorators/request.decorator.ts"],"names":[],"mappings":";;;AA0DA,8CAOC;AAED,4DAEC;AAED,4DAEC;AAED,wCAKC;AAhFD,2CAOwB;AAKxB,4CAIsB;AACtB,sCAAiD;AACjD,kDAGyB;AAEZ,QAAA,gBAAgB,GAA6B,IAAA,6BAAoB,EAC5E,CAAC,IAAY,EAAE,GAAqB,EAAW,EAAE;IAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IACvE,OAAO,WAAW,CAAC;AACrB,CAAC,CACF,CAAC;AAEW,QAAA,SAAS,GAA6B,IAAA,6BAAoB,EACrE,CAAC,IAAY,EAAE,GAAqB,EAAU,EAAE;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAEW,QAAA,iBAAiB,GAA6B,IAAA,6BAAoB,EAC7E,CAAC,IAAY,EAAE,GAAqB,EAAsB,EAAE;IAC1D,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IACxE,OAAO,YAAY,CAAC;AACtB,CAAC,CACF,CAAC;AAEW,QAAA,gBAAgB,GAA6B,IAAA,6BAAoB,EAC5E,CAAC,IAAY,EAAE,GAAqB,EAAU,EAAE;IAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IACvE,OAAO,WAAW,CAAC;AACrB,CAAC,CACF,CAAC;AAEW,QAAA,iBAAiB,GAA6B,IAAA,6BAAoB,EAC7E,CAAC,IAAY,EAAE,GAAqB,EAAY,EAAE;IAChD,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IACxE,OAAO,YAAY,CAAC;AACtB,CAAC,CACF,CAAC;AAEF,SAAgB,iBAAiB,CAC/B,GAAG,eAAwC;IAE3C,OAAO,IAAA,wBAAe,EACpB,IAAA,kBAAS,EAAC,6BAAoB,CAAC,EAC/B,IAAA,oBAAW,EAAC,6CAAiC,EAAE,eAAe,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,IAAA,wBAAe,EAAC,IAAA,wBAAe,EAAC,0CAA2B,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,IAAA,wBAAe,EAAC,IAAA,wBAAe,EAAC,0CAA2B,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAA,wBAAe,EACpB,IAAA,oBAAW,EAAC,2CAA+B,EAAE,IAAI,CAAC,EAClD,IAAA,oBAAW,EAAC,iDAAqC,EAAE,OAAO,CAAC,CAC5D,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './request.param.guard';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./request.param.guard"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/guards/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC"}
@@ -0,0 +1,7 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ export declare class RequestParamRawGuard implements CanActivate {
4
+ private readonly reflector;
5
+ constructor(reflector: Reflector);
6
+ canActivate(context: ExecutionContext): Promise<boolean>;
7
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestParamRawGuard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@nestjs/core");
7
+ const class_transformer_1 = require("class-transformer");
8
+ const class_validator_1 = require("class-validator");
9
+ const constants_1 = require("../constants");
10
+ const errors_1 = require("@tc-libs/errors");
11
+ let RequestParamRawGuard = class RequestParamRawGuard {
12
+ constructor(reflector) {
13
+ this.reflector = reflector;
14
+ }
15
+ async canActivate(context) {
16
+ const { params } = context.switchToHttp().getRequest();
17
+ const classDtos = this.reflector.get(constants_1.REQUEST_PARAM_CLASS_DTOS_META_KEY, context.getHandler());
18
+ for (const clsDto of classDtos) {
19
+ const request = (0, class_transformer_1.plainToInstance)(clsDto, params);
20
+ const errors = await (0, class_validator_1.validate)(request);
21
+ if (errors.length > 0) {
22
+ throw new errors_1.Api422ValidationError(errors);
23
+ }
24
+ }
25
+ return true;
26
+ }
27
+ };
28
+ exports.RequestParamRawGuard = RequestParamRawGuard;
29
+ exports.RequestParamRawGuard = RequestParamRawGuard = tslib_1.__decorate([
30
+ (0, common_1.Injectable)(),
31
+ tslib_1.__metadata("design:paramtypes", [core_1.Reflector])
32
+ ], RequestParamRawGuard);
33
+ //# sourceMappingURL=request.param.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.param.guard.js","sourceRoot":"","sources":["../../../../../packages/request/src/guards/request.param.guard.ts"],"names":[],"mappings":";;;;AAAA,2CAA2E;AAC3E,uCAAyC;AACzC,yDAAsE;AACtE,qDAA4D;AAC5D,4CAAiE;AACjE,4CAAwD;AAGjD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACvD,MAAM,SAAS,GAA4B,IAAI,CAAC,SAAS,CAAC,GAAG,CAE3D,6CAAiC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAE3D,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAA,mCAAe,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEhD,MAAM,MAAM,GAAsB,MAAM,IAAA,0BAAQ,EAAC,OAAO,CAAC,CAAC;YAE1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,8BAAqB,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AArBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;6CAE6B,gBAAS;GADtC,oBAAoB,CAqBhC"}
package/src/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from './constants';
2
+ export * from './decorators';
3
+ export * from './guards';
4
+ export * from './interceptors';
5
+ export * from './interfaces';
6
+ export * from './serializations';
7
+ export * from './validations';
8
+ export * from './request.module';
package/src/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./constants"), exports);
5
+ tslib_1.__exportStar(require("./decorators"), exports);
6
+ tslib_1.__exportStar(require("./guards"), exports);
7
+ tslib_1.__exportStar(require("./interceptors"), exports);
8
+ tslib_1.__exportStar(require("./interfaces"), exports);
9
+ tslib_1.__exportStar(require("./serializations"), exports);
10
+ tslib_1.__exportStar(require("./validations"), exports);
11
+ tslib_1.__exportStar(require("./request.module"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/request/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B;AAC7B,mDAAyB;AACzB,yDAA+B;AAC/B,uDAA6B;AAC7B,2DAAiC;AACjC,wDAA8B;AAC9B,2DAAiC"}
@@ -0,0 +1,4 @@
1
+ export * from './request.timeout.interceptor';
2
+ export * from './request.timestamp.interceptor';
3
+ export * from './request.user-agent.interceptor';
4
+ export * from './request.cache.interceptor';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./request.timeout.interceptor"), exports);
5
+ tslib_1.__exportStar(require("./request.timestamp.interceptor"), exports);
6
+ tslib_1.__exportStar(require("./request.user-agent.interceptor"), exports);
7
+ tslib_1.__exportStar(require("./request.cache.interceptor"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,0EAAgD;AAChD,2EAAiD;AACjD,sEAA4C"}
@@ -0,0 +1,4 @@
1
+ import { CacheInterceptor } from '@nestjs/cache-manager';
2
+ export declare class AppCacheInterceptor extends CacheInterceptor {
3
+ isRequestCacheable(): boolean;
4
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppCacheInterceptor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const cache_manager_1 = require("@nestjs/cache-manager");
6
+ const common_1 = require("@nestjs/common");
7
+ let AppCacheInterceptor = class AppCacheInterceptor extends cache_manager_1.CacheInterceptor {
8
+ isRequestCacheable( /* context: ExecutionContext */) {
9
+ console.log('is-cacheble');
10
+ return true;
11
+ }
12
+ };
13
+ exports.AppCacheInterceptor = AppCacheInterceptor;
14
+ exports.AppCacheInterceptor = AppCacheInterceptor = tslib_1.__decorate([
15
+ (0, common_1.Injectable)()
16
+ ], AppCacheInterceptor);
17
+ //# sourceMappingURL=request.cache.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.cache.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.cache.interceptor.ts"],"names":[],"mappings":";;;;AAAA,yDAAyD;AACzD,2CAA4C;AAGrC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gCAAgB;IAC9C,kBAAkB,EAAC,+BAA+B;QACzD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AALY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAK/B"}
@@ -0,0 +1,11 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { Observable } from 'rxjs';
4
+ import { RequestModuleOptions } from '../request.module.options';
5
+ export declare class RequestTimeoutInterceptor implements NestInterceptor<Promise<any>> {
6
+ private readonly options;
7
+ private readonly reflector;
8
+ private readonly maxTimeoutInSecond;
9
+ constructor(options: RequestModuleOptions, reflector: Reflector);
10
+ intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<Promise<any> | string>>;
11
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTimeoutInterceptor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@nestjs/core");
7
+ const rxjs_1 = require("rxjs");
8
+ const operators_1 = require("rxjs/operators");
9
+ const ms_1 = tslib_1.__importDefault(require("ms"));
10
+ const constants_1 = require("../constants");
11
+ const errors_1 = require("@tc-libs/errors");
12
+ const request_module_options_1 = require("../request.module.options");
13
+ let RequestTimeoutInterceptor = class RequestTimeoutInterceptor {
14
+ constructor(options, reflector) {
15
+ this.options = options;
16
+ this.reflector = reflector;
17
+ this.maxTimeoutInSecond = this.options.timeout;
18
+ }
19
+ async intercept(context, next) {
20
+ if (context.getType() === 'http') {
21
+ const customTimeout = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_META_KEY, context.getHandler());
22
+ if (customTimeout) {
23
+ const seconds = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY, context.getHandler());
24
+ return next.handle().pipe((0, operators_1.timeout)((0, ms_1.default)(seconds)), (0, operators_1.catchError)((err) => {
25
+ if (err instanceof rxjs_1.TimeoutError) {
26
+ throw new errors_1.Api408RequestTimeoutError();
27
+ }
28
+ return (0, rxjs_1.throwError)(() => err);
29
+ }));
30
+ }
31
+ else {
32
+ return next.handle().pipe((0, operators_1.timeout)(this.maxTimeoutInSecond), (0, operators_1.catchError)((err) => {
33
+ if (err instanceof rxjs_1.TimeoutError) {
34
+ throw new errors_1.Api408RequestTimeoutError();
35
+ }
36
+ return (0, rxjs_1.throwError)(() => err);
37
+ }));
38
+ }
39
+ }
40
+ return next.handle();
41
+ }
42
+ };
43
+ exports.RequestTimeoutInterceptor = RequestTimeoutInterceptor;
44
+ exports.RequestTimeoutInterceptor = RequestTimeoutInterceptor = tslib_1.__decorate([
45
+ (0, common_1.Injectable)(),
46
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
47
+ tslib_1.__metadata("design:paramtypes", [Object, core_1.Reflector])
48
+ ], RequestTimeoutInterceptor);
49
+ //# sourceMappingURL=request.timeout.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.timeout.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.timeout.interceptor.ts"],"names":[],"mappings":";;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,+BAA4D;AAC5D,8CAAqD;AACrD,oDAAoB;AACpB,4CAGsB;AACtB,4CAA4D;AAC5D,sEAGmC;AAG5B,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAKpC,YAEmB,OAA6B,EAC7B,SAAoB;QADpB,YAAO,GAAP,OAAO,CAAsB;QAC7B,cAAS,GAAT,SAAS,CAAW;QAErC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;QAEjB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,2CAA+B,EAC/B,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,iDAAqC,EACrC,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;gBAEF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,mBAAO,EAAC,IAAA,YAAE,EAAC,OAAO,CAAC,CAAC,EACpB,IAAA,sBAAU,EAAC,CAAC,GAAG,EAAE,EAAE;oBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;wBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;oBACxC,CAAC;oBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,mBAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAChC,IAAA,sBAAU,EAAC,CAAC,GAAG,EAAE,EAAE;oBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;wBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;oBACxC,CAAC;oBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AArDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;qDAEH,gBAAS;GAR5B,yBAAyB,CAqDrC"}
@@ -0,0 +1,11 @@
1
+ import { DateService } from '@tc-libs/helper';
2
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
3
+ import { Observable } from 'rxjs';
4
+ import { RequestModuleOptions } from '../request.module.options';
5
+ export declare class RequestTimestampInterceptor implements NestInterceptor<Promise<any>> {
6
+ private readonly options;
7
+ private readonly _date;
8
+ private readonly maxRequestTimestampInMs;
9
+ constructor(options: RequestModuleOptions, _date: DateService);
10
+ intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<Promise<any> | string>>;
11
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTimestampInterceptor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const errors_1 = require("@tc-libs/errors");
6
+ const helper_1 = require("@tc-libs/helper");
7
+ const common_1 = require("@nestjs/common");
8
+ const request_module_options_1 = require("../request.module.options");
9
+ let RequestTimestampInterceptor = class RequestTimestampInterceptor {
10
+ constructor(options, _date) {
11
+ this.options = options;
12
+ this._date = _date;
13
+ this.maxRequestTimestampInMs = this.options.timestamp.toleranceTimeInMs;
14
+ }
15
+ async intercept(context, next) {
16
+ if (context.getType() === 'http') {
17
+ const request = context.switchToHttp().getRequest();
18
+ const timestamp = request.__timestamp;
19
+ if (!timestamp) {
20
+ throw new errors_1.Api403TimestampInvalidError();
21
+ }
22
+ const checkTimestamp = this._date.checkTimestamp(timestamp);
23
+ if (!timestamp || !checkTimestamp) {
24
+ throw new errors_1.Api403TimestampInvalidError();
25
+ }
26
+ const timestampDate = this._date.create(timestamp);
27
+ const toleranceMin = this._date.backwardInMilliseconds(this.maxRequestTimestampInMs);
28
+ const toleranceMax = this._date.forwardInMilliseconds(this.maxRequestTimestampInMs);
29
+ if (timestampDate < toleranceMin || timestampDate > toleranceMax) {
30
+ throw new errors_1.Api403TimestampInvalidError();
31
+ }
32
+ }
33
+ return next.handle();
34
+ }
35
+ };
36
+ exports.RequestTimestampInterceptor = RequestTimestampInterceptor;
37
+ exports.RequestTimestampInterceptor = RequestTimestampInterceptor = tslib_1.__decorate([
38
+ (0, common_1.Injectable)(),
39
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
40
+ tslib_1.__metadata("design:paramtypes", [Object, helper_1.DateService])
41
+ ], RequestTimestampInterceptor);
42
+ //# sourceMappingURL=request.timestamp.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.timestamp.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.timestamp.interceptor.ts"],"names":[],"mappings":";;;;AAAA,4CAA8D;AAC9D,4CAA8C;AAC9C,2CAMwB;AAGxB,sEAGmC;AAG5B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAKtC,YAEmB,OAA6B,EAC7B,KAAkB;QADlB,YAAO,GAAP,OAAO,CAAsB;QAC7B,UAAK,GAAL,KAAK,CAAa;QAEnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;QAEjB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,SAAS,GAAW,OAAO,CAAC,WAAW,CAAC;YAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,oCAA2B,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,oCAA2B,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CACpD,IAAI,CAAC,uBAAuB,CAC7B,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CACnD,IAAI,CAAC,uBAAuB,CAC7B,CAAC;YAEF,IAAI,aAAa,GAAG,YAAY,IAAI,aAAa,GAAG,YAAY,EAAE,CAAC;gBACjE,MAAM,IAAI,oCAA2B,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AA/CY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;qDAEP,oBAAW;GAR1B,2BAA2B,CA+CvC"}
@@ -0,0 +1,11 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ import { RequestModuleOptions } from '../request.module.options';
4
+ export declare class RequestUserAgentInterceptor implements NestInterceptor<Promise<any>> {
5
+ private readonly options;
6
+ private readonly userAgentCheckEnabled;
7
+ private readonly userAgentOs;
8
+ private readonly userAgentBrowser;
9
+ constructor(options: RequestModuleOptions);
10
+ intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<Promise<any> | string>>;
11
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestUserAgentInterceptor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const errors_1 = require("@tc-libs/errors");
7
+ const request_module_options_1 = require("../request.module.options");
8
+ let RequestUserAgentInterceptor = class RequestUserAgentInterceptor {
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.userAgentCheckEnabled = false;
12
+ this.userAgentBrowser = this.options.userAgent.browser;
13
+ this.userAgentOs = this.options.userAgent.os;
14
+ this.userAgentCheckEnabled = this.options.userAgent.enabled;
15
+ }
16
+ async intercept(context, next) {
17
+ if (context.getType() === 'http') {
18
+ const request = context
19
+ .switchToHttp()
20
+ .getRequest();
21
+ const userAgent = request.__userAgent;
22
+ if (this.userAgentCheckEnabled &&
23
+ !this.userAgentOs.some((val) => val.match(new RegExp(userAgent.os.name ?? 'unknown-os')))) {
24
+ throw new errors_1.Api403RequestUserAgentOSInvalidError({
25
+ userAgentOS: userAgent.os.name ?? 'unknown-os',
26
+ });
27
+ }
28
+ if (this.userAgentCheckEnabled &&
29
+ !this.userAgentBrowser.some((val) => val.match(new RegExp(userAgent.browser.name ?? 'unknown-browser')))) {
30
+ throw new errors_1.Api403RequestUserAgentBrowserInvalidError({
31
+ userAgentBrowser: userAgent.browser.name ?? 'unknown-browser',
32
+ });
33
+ }
34
+ }
35
+ return next.handle();
36
+ }
37
+ };
38
+ exports.RequestUserAgentInterceptor = RequestUserAgentInterceptor;
39
+ exports.RequestUserAgentInterceptor = RequestUserAgentInterceptor = tslib_1.__decorate([
40
+ (0, common_1.Injectable)(),
41
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
42
+ tslib_1.__metadata("design:paramtypes", [Object])
43
+ ], RequestUserAgentInterceptor);
44
+ //# sourceMappingURL=request.user-agent.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.user-agent.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.user-agent.interceptor.ts"],"names":[],"mappings":";;;;AAAA,2CAMwB;AAIxB,4CAGyB;AACzB,sEAGmC;AAG5B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAOtC,YAEE,OAA8C;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAN/B,0BAAqB,GAAY,KAAK,CAAC;QAQtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;QAEjB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAgB,OAAO;iBACjC,YAAY,EAAE;iBACd,UAAU,EAAe,CAAC;YAE7B,MAAM,SAAS,GAAY,OAAO,CAAC,WAAW,CAAC;YAE/C,IACE,IAAI,CAAC,qBAAqB;gBAC1B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CACzD,EACD,CAAC;gBACD,MAAM,IAAI,6CAAoC,CAAC;oBAC7C,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,YAAY;iBAC/C,CAAC,CAAC;YACL,CAAC;YAED,IACE,IAAI,CAAC,qBAAqB;gBAC1B,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAClC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,iBAAiB,CAAC,CAAC,CACnE,EACD,CAAC;gBACD,MAAM,IAAI,kDAAyC,CAAC;oBAClD,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,iBAAiB;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AApDY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;IASR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GARtB,2BAA2B,CAoDvC"}
@@ -0,0 +1 @@
1
+ export * from './request.interface';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./request.interface"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC"}
@@ -0,0 +1,23 @@
1
+ import { Request } from 'express';
2
+ import { IResult } from 'ua-parser-js';
3
+ import { RequestPaginationSerialization } from '../serializations/request.pagination.serialization';
4
+ export interface IRequestApp extends Request {
5
+ apiKey?: {
6
+ _id: string;
7
+ key: string;
8
+ name: string;
9
+ };
10
+ user?: Record<string, any>;
11
+ __id: string;
12
+ __xTimestamp?: number;
13
+ __timestamp: number;
14
+ __timezone: string;
15
+ __customLang: string[];
16
+ __version: string;
17
+ __repoVersion: string;
18
+ __userAgent: IResult;
19
+ __class?: string;
20
+ __function?: string;
21
+ __filters?: Record<string, string | number | boolean | Array<string | number | boolean>>;
22
+ __pagination?: RequestPaginationSerialization;
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.interface.js","sourceRoot":"","sources":["../../../../../packages/request/src/interfaces/request.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Request, Response, NextFunction } from 'express';
3
+ import { RequestModuleOptions } from '../../request.module.options';
4
+ export declare class RequestUrlencodedBodyParserMiddleware implements NestMiddleware {
5
+ private readonly options;
6
+ private readonly maxFile;
7
+ constructor(options: RequestModuleOptions);
8
+ use(req: Request, res: Response, next: NextFunction): void;
9
+ }
10
+ export declare class RequestJsonBodyParserMiddleware implements NestMiddleware {
11
+ private readonly options;
12
+ private readonly maxFile;
13
+ constructor(options: RequestModuleOptions);
14
+ use(req: Request, res: Response, next: NextFunction): void;
15
+ }
16
+ export declare class RequestRawBodyParserMiddleware implements NestMiddleware {
17
+ private readonly options;
18
+ private readonly maxFile;
19
+ constructor(options: RequestModuleOptions);
20
+ use(req: Request, res: Response, next: NextFunction): void;
21
+ }
22
+ export declare class RequestTextBodyParserMiddleware implements NestMiddleware {
23
+ private readonly options;
24
+ private readonly maxFile;
25
+ constructor(options: RequestModuleOptions);
26
+ use(req: Request, res: Response, next: NextFunction): void;
27
+ }