@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
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTextBodyParserMiddleware = exports.RequestRawBodyParserMiddleware = exports.RequestJsonBodyParserMiddleware = exports.RequestUrlencodedBodyParserMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const body_parser_1 = tslib_1.__importDefault(require("body-parser"));
7
+ const request_module_options_1 = require("../../request.module.options");
8
+ let RequestUrlencodedBodyParserMiddleware = class RequestUrlencodedBodyParserMiddleware {
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.maxFile = this.options.body.urlencoded.maxFileSize;
12
+ }
13
+ use(req, res, next) {
14
+ body_parser_1.default.urlencoded({
15
+ extended: false,
16
+ limit: this.maxFile,
17
+ })(req, res, next);
18
+ }
19
+ };
20
+ exports.RequestUrlencodedBodyParserMiddleware = RequestUrlencodedBodyParserMiddleware;
21
+ exports.RequestUrlencodedBodyParserMiddleware = RequestUrlencodedBodyParserMiddleware = tslib_1.__decorate([
22
+ (0, common_1.Injectable)(),
23
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
24
+ tslib_1.__metadata("design:paramtypes", [Object])
25
+ ], RequestUrlencodedBodyParserMiddleware);
26
+ let RequestJsonBodyParserMiddleware = class RequestJsonBodyParserMiddleware {
27
+ constructor(options) {
28
+ this.options = options;
29
+ this.maxFile = this.options.body.json.maxFileSize;
30
+ }
31
+ use(req, res, next) {
32
+ body_parser_1.default.json({
33
+ limit: this.maxFile,
34
+ })(req, res, next);
35
+ }
36
+ };
37
+ exports.RequestJsonBodyParserMiddleware = RequestJsonBodyParserMiddleware;
38
+ exports.RequestJsonBodyParserMiddleware = RequestJsonBodyParserMiddleware = tslib_1.__decorate([
39
+ (0, common_1.Injectable)(),
40
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
41
+ tslib_1.__metadata("design:paramtypes", [Object])
42
+ ], RequestJsonBodyParserMiddleware);
43
+ let RequestRawBodyParserMiddleware = class RequestRawBodyParserMiddleware {
44
+ constructor(options) {
45
+ this.options = options;
46
+ this.maxFile = this.options.body.raw.maxFileSize;
47
+ }
48
+ use(req, res, next) {
49
+ body_parser_1.default.raw({
50
+ limit: this.maxFile,
51
+ })(req, res, next);
52
+ }
53
+ };
54
+ exports.RequestRawBodyParserMiddleware = RequestRawBodyParserMiddleware;
55
+ exports.RequestRawBodyParserMiddleware = RequestRawBodyParserMiddleware = tslib_1.__decorate([
56
+ (0, common_1.Injectable)(),
57
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
58
+ tslib_1.__metadata("design:paramtypes", [Object])
59
+ ], RequestRawBodyParserMiddleware);
60
+ let RequestTextBodyParserMiddleware = class RequestTextBodyParserMiddleware {
61
+ constructor(options) {
62
+ this.options = options;
63
+ this.maxFile = this.options.body.text.maxFileSize;
64
+ }
65
+ use(req, res, next) {
66
+ body_parser_1.default.text({
67
+ limit: this.maxFile,
68
+ })(req, res, next);
69
+ }
70
+ };
71
+ exports.RequestTextBodyParserMiddleware = RequestTextBodyParserMiddleware;
72
+ exports.RequestTextBodyParserMiddleware = RequestTextBodyParserMiddleware = tslib_1.__decorate([
73
+ (0, common_1.Injectable)(),
74
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
75
+ tslib_1.__metadata("design:paramtypes", [Object])
76
+ ], RequestTextBodyParserMiddleware);
77
+ //# sourceMappingURL=request.body-parser.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.body-parser.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/body-parser/request.body-parser.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAoE;AAEpE,sEAAqC;AACrC,yEAGsC;AAG/B,IAAM,qCAAqC,GAA3C,MAAM,qCAAqC;IAGhD,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,UAAU,CAAC;YACpB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAhBY,sFAAqC;gDAArC,qCAAqC;IADjD,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,qCAAqC,CAgBjD;AAGM,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAG1C,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,+BAA+B,CAe3C;AAGM,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGzC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,8BAA8B,CAe1C;AAGM,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAG1C,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,+BAA+B,CAe3C"}
@@ -0,0 +1,12 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Request, Response, NextFunction } from 'express';
3
+ import { RequestModuleOptions } from '../../request.module.options';
4
+ export declare class RequestCorsMiddleware implements NestMiddleware {
5
+ private readonly options;
6
+ private readonly allowOrigin;
7
+ private readonly allowMethod;
8
+ private readonly allowHeader;
9
+ private readonly production;
10
+ constructor(options: RequestModuleOptions);
11
+ use(req: Request, res: Response, next: NextFunction): void;
12
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestCorsMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const cors_1 = tslib_1.__importDefault(require("cors"));
7
+ const request_module_options_1 = require("../../request.module.options");
8
+ let RequestCorsMiddleware = class RequestCorsMiddleware {
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.production = this.options.production;
12
+ this.allowOrigin = this.options.cors.allowOrigin;
13
+ this.allowMethod = this.options.cors.allowMethod;
14
+ this.allowHeader = this.options.cors.allowHeader;
15
+ }
16
+ use(req, res, next) {
17
+ const allowOrigin = this.production ? this.allowOrigin : '*';
18
+ const corsOptions = {
19
+ origin: allowOrigin,
20
+ methods: this.allowMethod,
21
+ allowedHeaders: this.allowHeader,
22
+ preflightContinue: false,
23
+ credentials: true,
24
+ optionsSuccessStatus: common_1.HttpStatus.NO_CONTENT,
25
+ };
26
+ (0, cors_1.default)(corsOptions)(req, res, next);
27
+ }
28
+ };
29
+ exports.RequestCorsMiddleware = RequestCorsMiddleware;
30
+ exports.RequestCorsMiddleware = RequestCorsMiddleware = tslib_1.__decorate([
31
+ (0, common_1.Injectable)(),
32
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
33
+ tslib_1.__metadata("design:paramtypes", [Object])
34
+ ], RequestCorsMiddleware);
35
+ //# sourceMappingURL=request.cors.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.cors.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/cors/request.cors.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAgF;AAEhF,wDAAwB;AAExB,yEAGsC;AAG/B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMhC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;QAE7D,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,mBAAU,CAAC,UAAU;SAC5C,CAAC;QAEF,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AA9BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAQR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAPtB,qBAAqB,CA8BjC"}
@@ -0,0 +1,5 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Request, Response, NextFunction } from 'express';
3
+ export declare class RequestHelmetMiddleware implements NestMiddleware {
4
+ use(req: Request, res: Response, next: NextFunction): void;
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestHelmetMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const helmet_1 = tslib_1.__importDefault(require("helmet"));
7
+ let RequestHelmetMiddleware = class RequestHelmetMiddleware {
8
+ use(req, res, next) {
9
+ (0, helmet_1.default)()(req, res, next);
10
+ }
11
+ };
12
+ exports.RequestHelmetMiddleware = RequestHelmetMiddleware;
13
+ exports.RequestHelmetMiddleware = RequestHelmetMiddleware = tslib_1.__decorate([
14
+ (0, common_1.Injectable)()
15
+ ], RequestHelmetMiddleware);
16
+ //# sourceMappingURL=request.helmet.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.helmet.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/helmet/request.helmet.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,4DAA4B;AAGrB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,IAAA,gBAAM,GAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAJY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CAInC"}
@@ -0,0 +1,6 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Response, NextFunction } from 'express';
3
+ import { IRequestApp } from '../../interfaces';
4
+ export declare class RequestIdMiddleware implements NestMiddleware {
5
+ use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
6
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestIdMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const uuid_1 = require("uuid");
7
+ let RequestIdMiddleware = class RequestIdMiddleware {
8
+ async use(req, res, next) {
9
+ const uuid = (0, uuid_1.v4)();
10
+ req.__id = uuid;
11
+ next();
12
+ }
13
+ };
14
+ exports.RequestIdMiddleware = RequestIdMiddleware;
15
+ exports.RequestIdMiddleware = RequestIdMiddleware = tslib_1.__decorate([
16
+ (0, common_1.Injectable)()
17
+ ], RequestIdMiddleware);
18
+ //# sourceMappingURL=request.id.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.id.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/id/request.id.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,+BAAoC;AAI7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,IAAI,GAAW,IAAA,SAAM,GAAE,CAAC;QAE9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAXY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAW/B"}
@@ -0,0 +1,4 @@
1
+ import { NestModule, MiddlewareConsumer } from '@nestjs/common';
2
+ export declare class RequestMiddlewareModule implements NestModule {
3
+ configure(consumer: MiddlewareConsumer): void;
4
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestMiddlewareModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const request_body_parser_middleware_1 = require("./body-parser/request.body-parser.middleware");
7
+ const request_cors_middleware_1 = require("./cors/request.cors.middleware");
8
+ const request_helmet_middleware_1 = require("./helmet/request.helmet.middleware");
9
+ const request_id_middleware_1 = require("./id/request.id.middleware");
10
+ const request_timestamp_middleware_1 = require("./timestamp/request.timestamp.middleware");
11
+ const request_timezone_middleware_1 = require("./timezone/request.timezone.middleware");
12
+ const request_user_agent_middleware_1 = require("./user-agent/request.user-agent.middleware");
13
+ const request_version_middleware_1 = require("./version/request.version.middleware");
14
+ let RequestMiddlewareModule = class RequestMiddlewareModule {
15
+ configure(consumer) {
16
+ consumer
17
+ .apply(request_helmet_middleware_1.RequestHelmetMiddleware, request_id_middleware_1.RequestIdMiddleware, request_body_parser_middleware_1.RequestJsonBodyParserMiddleware, request_body_parser_middleware_1.RequestTextBodyParserMiddleware, request_body_parser_middleware_1.RequestRawBodyParserMiddleware, request_body_parser_middleware_1.RequestUrlencodedBodyParserMiddleware, request_cors_middleware_1.RequestCorsMiddleware, request_version_middleware_1.RequestVersionMiddleware, request_user_agent_middleware_1.RequestUserAgentMiddleware, request_timestamp_middleware_1.RequestTimestampMiddleware, request_timezone_middleware_1.RequestTimezoneMiddleware)
18
+ .forRoutes('*');
19
+ }
20
+ };
21
+ exports.RequestMiddlewareModule = RequestMiddlewareModule;
22
+ exports.RequestMiddlewareModule = RequestMiddlewareModule = tslib_1.__decorate([
23
+ (0, common_1.Module)({ imports: [] })
24
+ ], RequestMiddlewareModule);
25
+ //# sourceMappingURL=request.middleware.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.middleware.module.js","sourceRoot":"","sources":["../../../../../packages/request/src/middleware/request.middleware.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwE;AACxE,iGAKsD;AACtD,4EAAuE;AACvE,kFAA6E;AAC7E,sEAAiE;AACjE,2FAAsF;AACtF,wFAAmF;AACnF,8FAAwF;AACxF,qFAAgF;AAGzE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,SAAS,CAAC,QAA4B;QACpC,QAAQ;aACL,KAAK,CACJ,mDAAuB,EACvB,2CAAmB,EACnB,gEAA+B,EAC/B,gEAA+B,EAC/B,+DAA8B,EAC9B,sEAAqC,EACrC,+CAAqB,EACrB,qDAAwB,EACxB,0DAA0B,EAC1B,yDAA0B,EAC1B,uDAAyB,CAC1B;aACA,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF,CAAA;AAlBY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;GACX,uBAAuB,CAkBnC"}
@@ -0,0 +1,9 @@
1
+ import { DateService } from '@tc-libs/helper';
2
+ import { NestMiddleware } from '@nestjs/common';
3
+ import { Response, NextFunction } from 'express';
4
+ import { IRequestApp } from '../../interfaces';
5
+ export declare class RequestTimestampMiddleware implements NestMiddleware {
6
+ private readonly helperDateService;
7
+ constructor(helperDateService: DateService);
8
+ use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTimestampMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const helper_1 = require("@tc-libs/helper");
6
+ const common_1 = require("@nestjs/common");
7
+ let RequestTimestampMiddleware = class RequestTimestampMiddleware {
8
+ constructor(helperDateService) {
9
+ this.helperDateService = helperDateService;
10
+ }
11
+ async use(req, res, next) {
12
+ const xTimestamp = req['x-timestamp'];
13
+ req.__xTimestamp = xTimestamp ? Number(xTimestamp) : undefined;
14
+ req.__timestamp = this.helperDateService.timestamp();
15
+ next();
16
+ }
17
+ };
18
+ exports.RequestTimestampMiddleware = RequestTimestampMiddleware;
19
+ exports.RequestTimestampMiddleware = RequestTimestampMiddleware = tslib_1.__decorate([
20
+ (0, common_1.Injectable)(),
21
+ tslib_1.__metadata("design:paramtypes", [helper_1.DateService])
22
+ ], RequestTimestampMiddleware);
23
+ //# sourceMappingURL=request.timestamp.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.timestamp.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/timestamp/request.timestamp.middleware.ts"],"names":[],"mappings":";;;;AAAA,4CAA8C;AAC9C,2CAA4D;AAKrD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,YAA6B,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;IAAG,CAAC;IAE/D,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,UAAU,GAAI,GAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAbY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;6CAEqC,oBAAW;GADhD,0BAA0B,CAatC"}
@@ -0,0 +1,6 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Response, NextFunction } from 'express';
3
+ import { IRequestApp } from '../../interfaces';
4
+ export declare class RequestTimezoneMiddleware implements NestMiddleware {
5
+ use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
6
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestTimezoneMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ let RequestTimezoneMiddleware = class RequestTimezoneMiddleware {
7
+ async use(req, res, next) {
8
+ req.__timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
9
+ next();
10
+ }
11
+ };
12
+ exports.RequestTimezoneMiddleware = RequestTimezoneMiddleware;
13
+ exports.RequestTimezoneMiddleware = RequestTimezoneMiddleware = tslib_1.__decorate([
14
+ (0, common_1.Injectable)()
15
+ ], RequestTimezoneMiddleware);
16
+ //# sourceMappingURL=request.timezone.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.timezone.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/timezone/request.timezone.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAKrD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAClE,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AATY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CASrC"}
@@ -0,0 +1,6 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Response, NextFunction } from 'express';
3
+ import { IRequestApp } from '../../interfaces';
4
+ export declare class RequestUserAgentMiddleware implements NestMiddleware {
5
+ use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
6
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestUserAgentMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const ua_parser_js_1 = require("ua-parser-js");
7
+ let RequestUserAgentMiddleware = class RequestUserAgentMiddleware {
8
+ async use(req, res, next) {
9
+ const parserUserAgent = new ua_parser_js_1.UAParser(req['User-Agent']);
10
+ const userAgent = parserUserAgent.getResult();
11
+ req.__userAgent = userAgent;
12
+ next();
13
+ }
14
+ };
15
+ exports.RequestUserAgentMiddleware = RequestUserAgentMiddleware;
16
+ exports.RequestUserAgentMiddleware = RequestUserAgentMiddleware = tslib_1.__decorate([
17
+ (0, common_1.Injectable)()
18
+ ], RequestUserAgentMiddleware);
19
+ //# sourceMappingURL=request.user-agent.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.user-agent.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/user-agent/request.user-agent.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,+CAAiD;AAI1C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,eAAe,GAAG,IAAI,uBAAQ,CAAE,GAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAY,eAAe,CAAC,SAAS,EAAE,CAAC;QAEvD,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAZY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;GACA,0BAA0B,CAYtC"}
@@ -0,0 +1,14 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Response, NextFunction } from 'express';
3
+ import { IRequestApp } from '../../interfaces';
4
+ import { RequestModuleOptions } from '../../request.module.options';
5
+ export declare class RequestVersionMiddleware implements NestMiddleware {
6
+ private readonly options;
7
+ private readonly versioningEnable;
8
+ private readonly versioningGlobalPrefix;
9
+ private readonly versioningPrefix;
10
+ private readonly versioningVersion;
11
+ private readonly repoVersion;
12
+ constructor(options: RequestModuleOptions);
13
+ use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
14
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestVersionMiddleware = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const request_module_options_1 = require("../../request.module.options");
7
+ let RequestVersionMiddleware = class RequestVersionMiddleware {
8
+ constructor(options) {
9
+ this.options = options;
10
+ this.versioningGlobalPrefix = this.options.app.globalPrefix;
11
+ this.versioningEnable = this.options.app.versioning.enable;
12
+ this.versioningPrefix = this.options.app.versioning.prefix;
13
+ this.versioningVersion = this.options.app.versioning.version;
14
+ this.repoVersion = this.options.app.repoVersion;
15
+ }
16
+ async use(req, res, next) {
17
+ const originalUrl = req.originalUrl;
18
+ let version = this.versioningVersion;
19
+ if (this.versioningEnable &&
20
+ originalUrl.startsWith(`${this.versioningGlobalPrefix}/${this.versioningPrefix}`)) {
21
+ const url = originalUrl.split('/');
22
+ version = url[2].replace(this.versioningPrefix, '');
23
+ }
24
+ req.__version = version;
25
+ req.__repoVersion = this.repoVersion;
26
+ next();
27
+ }
28
+ };
29
+ exports.RequestVersionMiddleware = RequestVersionMiddleware;
30
+ exports.RequestVersionMiddleware = RequestVersionMiddleware = tslib_1.__decorate([
31
+ (0, common_1.Injectable)(),
32
+ tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
33
+ tslib_1.__metadata("design:paramtypes", [Object])
34
+ ], RequestVersionMiddleware);
35
+ //# sourceMappingURL=request.version.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.version.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/version/request.version.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAoE;AAGpE,yEAGsC;AAG/B,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IASnC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,WAAW,GAAW,GAAG,CAAC,WAAW,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACrC,IACE,IAAI,CAAC,gBAAgB;YACrB,WAAW,CAAC,UAAU,CACpB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAC1D,EACD,CAAC;YACD,MAAM,GAAG,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AA1CY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAWR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAVtB,wBAAwB,CA0CpC"}
@@ -0,0 +1,6 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import RequestModuleAsyncOptions, { RequestModuleOptions } from './request.module.options';
3
+ export declare class RequestModule {
4
+ static register(options: RequestModuleOptions, isGlobal?: boolean): DynamicModule;
5
+ static registerAsync(options: RequestModuleAsyncOptions, isGlobal?: boolean): DynamicModule;
6
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestModule = void 0;
4
+ const errors_1 = require("@tc-libs/errors");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@nestjs/core");
7
+ const throttler_1 = require("@nestjs/throttler");
8
+ const interceptors_1 = require("./interceptors");
9
+ const request_middleware_module_1 = require("./middleware/request.middleware.module");
10
+ const validations_1 = require("./validations");
11
+ const request_is_password_medium_validation_1 = require("./validations/request.is-password-medium.validation");
12
+ const request_is_password_strong_validation_1 = require("./validations/request.is-password-strong.validation");
13
+ const request_is_password_weak_validation_1 = require("./validations/request.is-password-weak.validation");
14
+ const request_is_start_with_validation_1 = require("./validations/request.is-start-with.validation");
15
+ const request_max_greater_than_equal_validation_1 = require("./validations/request.max-greater-than-equal.validation");
16
+ const request_max_greater_than_validation_1 = require("./validations/request.max-greater-than.validation");
17
+ const request_min_greater_than_equal_validation_1 = require("./validations/request.min-greater-than-equal.validation");
18
+ const request_min_greater_than_validation_1 = require("./validations/request.min-greater-than.validation");
19
+ const request_only_digits_validation_1 = require("./validations/request.only-digits.validation");
20
+ const request_safe_string_validation_1 = require("./validations/request.safe-string.validation");
21
+ const request_skip_validation_1 = require("./validations/request.skip.validation");
22
+ const request_module_options_1 = require("./request.module.options");
23
+ const providers = [
24
+ request_is_password_strong_validation_1.IsPasswordStrongConstraint,
25
+ request_is_password_medium_validation_1.IsPasswordMediumConstraint,
26
+ request_is_password_weak_validation_1.IsPasswordWeakConstraint,
27
+ request_is_start_with_validation_1.IsStartWithConstraint,
28
+ request_max_greater_than_equal_validation_1.MaxGreaterThanEqualConstraint,
29
+ request_max_greater_than_validation_1.MaxGreaterThanConstraint,
30
+ request_min_greater_than_equal_validation_1.MinGreaterThanEqualConstraint,
31
+ request_min_greater_than_validation_1.MinGreaterThanConstraint,
32
+ request_skip_validation_1.SkipConstraint,
33
+ request_safe_string_validation_1.SafeStringConstraint,
34
+ request_only_digits_validation_1.IsOnlyDigitsConstraint,
35
+ validations_1.MinDateTodayConstraint,
36
+ validations_1.MaxDateTodayConstraint,
37
+ validations_1.MaxBinaryFileConstraint,
38
+ ];
39
+ class RequestModule {
40
+ static register(options, isGlobal) {
41
+ return {
42
+ module: RequestModule,
43
+ providers: [
44
+ { provide: request_module_options_1.REQUEST_MODULE_OPTIONS, useValue: options },
45
+ {
46
+ provide: core_1.APP_INTERCEPTOR,
47
+ useClass: interceptors_1.RequestTimeoutInterceptor,
48
+ },
49
+ {
50
+ provide: core_1.APP_PIPE,
51
+ useFactory: () => new common_1.ValidationPipe({
52
+ transform: true,
53
+ skipNullProperties: false,
54
+ skipUndefinedProperties: false,
55
+ skipMissingProperties: false,
56
+ forbidUnknownValues: false,
57
+ errorHttpStatusCode: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
58
+ exceptionFactory: async (errors) => new errors_1.Api422ValidationError(errors),
59
+ }),
60
+ },
61
+ {
62
+ provide: core_1.APP_GUARD,
63
+ useClass: throttler_1.ThrottlerGuard,
64
+ },
65
+ ...providers,
66
+ ],
67
+ imports: [
68
+ request_middleware_module_1.RequestMiddlewareModule,
69
+ throttler_1.ThrottlerModule.forRoot([
70
+ {
71
+ ttl: options.throttle.ttl,
72
+ limit: options.throttle.limit,
73
+ },
74
+ ]),
75
+ ],
76
+ global: isGlobal,
77
+ };
78
+ }
79
+ static registerAsync(options, isGlobal) {
80
+ return {
81
+ module: RequestModule,
82
+ imports: [
83
+ ...(options.imports || []),
84
+ request_middleware_module_1.RequestMiddlewareModule,
85
+ throttler_1.ThrottlerModule.forRootAsync({
86
+ imports: options.imports,
87
+ useFactory: async (...args) => {
88
+ const requestOptions = await options.useFactory(...args);
89
+ return [
90
+ {
91
+ ttl: requestOptions.throttle.ttl,
92
+ limit: requestOptions.throttle.limit,
93
+ },
94
+ ];
95
+ },
96
+ inject: options.inject,
97
+ }),
98
+ ],
99
+ providers: [
100
+ { provide: request_module_options_1.REQUEST_MODULE_OPTIONS, useValue: options },
101
+ {
102
+ provide: core_1.APP_INTERCEPTOR,
103
+ useClass: interceptors_1.RequestTimeoutInterceptor,
104
+ },
105
+ {
106
+ provide: core_1.APP_PIPE,
107
+ useFactory: () => new common_1.ValidationPipe({
108
+ transform: true,
109
+ skipNullProperties: false,
110
+ skipUndefinedProperties: false,
111
+ skipMissingProperties: false,
112
+ forbidUnknownValues: false,
113
+ errorHttpStatusCode: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
114
+ exceptionFactory: async (errors) => new errors_1.Api422ValidationError(errors),
115
+ }),
116
+ },
117
+ {
118
+ provide: core_1.APP_GUARD,
119
+ useClass: throttler_1.ThrottlerGuard,
120
+ },
121
+ ...providers,
122
+ ],
123
+ global: isGlobal,
124
+ };
125
+ }
126
+ }
127
+ exports.RequestModule = RequestModule;
128
+ //# sourceMappingURL=request.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.module.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ import { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface';
3
+ export declare const REQUEST_MODULE_OPTIONS = "REQUEST_MODULE_OPTIONS";
4
+ export interface RequestModuleOptions {
5
+ production: boolean;
6
+ timeout: number;
7
+ timestamp: {
8
+ toleranceTimeInMs: number;
9
+ };
10
+ userAgent: {
11
+ enabled: boolean;
12
+ browser: string[];
13
+ os: string[];
14
+ };
15
+ throttle: {
16
+ ttl: number;
17
+ limit: number;
18
+ };
19
+ body: {
20
+ urlencoded: {
21
+ maxFileSize: number;
22
+ };
23
+ json: {
24
+ maxFileSize: number;
25
+ };
26
+ raw: {
27
+ maxFileSize: number;
28
+ };
29
+ text: {
30
+ maxFileSize: number;
31
+ };
32
+ };
33
+ cors: {
34
+ allowOrigin: string | boolean | string[];
35
+ allowMethod: string[];
36
+ allowHeader: string[];
37
+ };
38
+ app: {
39
+ globalPrefix: string;
40
+ repoVersion: string;
41
+ versioning: {
42
+ enable: boolean;
43
+ prefix: string;
44
+ version: string;
45
+ };
46
+ };
47
+ file: {
48
+ audio: {
49
+ maxFileSize: number;
50
+ };
51
+ excel: {
52
+ maxFileSize: number;
53
+ };
54
+ image: {
55
+ maxFileSize: number;
56
+ };
57
+ video: {
58
+ maxFileSize: number;
59
+ };
60
+ };
61
+ }
62
+ type RequestModuleAsyncOptions = Pick<ModuleMetadata, 'imports'> & Pick<FactoryProvider<RequestModuleOptions>, 'useFactory' | 'inject'>;
63
+ export default RequestModuleAsyncOptions;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REQUEST_MODULE_OPTIONS = void 0;
4
+ exports.REQUEST_MODULE_OPTIONS = 'REQUEST_MODULE_OPTIONS';
5
+ //# sourceMappingURL=request.module.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.module.options.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.options.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './request.pagination.serialization';
@@ -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.pagination.serialization"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/serializations/index.ts"],"names":[],"mappings":";;;AAAA,6EAAmD"}