@edirect/rate-limit-module 2.0.9 → 11.0.40

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 (158) hide show
  1. package/README.md +88 -172
  2. package/dist/README.md +583 -0
  3. package/dist/package.json +41 -0
  4. package/dist/src/decorators/rate-limiting-rule.decorator.d.ts +1 -0
  5. package/dist/src/decorators/rate-limiting-rule.decorator.d.ts.map +1 -0
  6. package/dist/src/decorators/rate-limiting-rule.decorator.js +0 -1
  7. package/dist/src/guards/rate-limiting.guard.d.ts +1 -0
  8. package/dist/src/guards/rate-limiting.guard.d.ts.map +1 -0
  9. package/dist/src/guards/rate-limiting.guard.js +43 -36
  10. package/dist/src/index.d.ts +1 -0
  11. package/dist/src/index.d.ts.map +1 -0
  12. package/dist/src/index.js +9 -23
  13. package/dist/src/main.d.ts +1 -0
  14. package/dist/src/main.d.ts.map +1 -0
  15. package/dist/src/main.js +0 -1
  16. package/dist/src/object.utils.d.ts +1 -0
  17. package/dist/src/object.utils.d.ts.map +1 -0
  18. package/dist/src/object.utils.js +0 -1
  19. package/dist/src/rate-limiting.module.d.ts +1 -0
  20. package/dist/src/rate-limiting.module.d.ts.map +1 -0
  21. package/dist/src/rate-limiting.module.js +2 -8
  22. package/dist/src/rules/dto/pagination.dto.d.ts +1 -0
  23. package/dist/src/rules/dto/pagination.dto.d.ts.map +1 -0
  24. package/dist/src/rules/dto/pagination.dto.js +7 -16
  25. package/dist/src/rules/dto/rule.dto.d.ts +3 -2
  26. package/dist/src/rules/dto/rule.dto.d.ts.map +1 -0
  27. package/dist/src/rules/dto/rule.dto.js +35 -44
  28. package/dist/src/rules/interface/pagination.interface.d.ts +1 -0
  29. package/dist/src/rules/interface/pagination.interface.d.ts.map +1 -0
  30. package/dist/src/rules/interface/pagination.interface.js +0 -1
  31. package/dist/src/rules/interface/rule.interface.d.ts +1 -0
  32. package/dist/src/rules/interface/rule.interface.d.ts.map +1 -0
  33. package/dist/src/rules/interface/rule.interface.js +0 -1
  34. package/dist/src/rules/rule.controller.d.ts +1 -0
  35. package/dist/src/rules/rule.controller.d.ts.map +1 -0
  36. package/dist/src/rules/rule.controller.js +29 -41
  37. package/dist/src/rules/rule.module.d.ts +1 -0
  38. package/dist/src/rules/rule.module.d.ts.map +1 -0
  39. package/dist/src/rules/rule.module.js +2 -8
  40. package/dist/src/rules/rule.repository.d.ts +1 -0
  41. package/dist/src/rules/rule.repository.d.ts.map +1 -0
  42. package/dist/src/rules/rule.repository.js +4 -16
  43. package/dist/src/rules/rule.schema.d.ts +150 -3
  44. package/dist/src/rules/rule.schema.d.ts.map +1 -0
  45. package/dist/src/rules/rule.schema.js +49 -56
  46. package/dist/src/rules/rule.service.d.ts +3 -1
  47. package/dist/src/rules/rule.service.d.ts.map +1 -0
  48. package/dist/src/rules/rule.service.js +16 -22
  49. package/dist/src/shared/cache/cache.service.d.ts +2 -1
  50. package/dist/src/shared/cache/cache.service.d.ts.map +1 -0
  51. package/dist/src/shared/cache/cache.service.js +3 -12
  52. package/dist/src/shared/dsl/dsl.interface.d.ts +1 -0
  53. package/dist/src/shared/dsl/dsl.interface.d.ts.map +1 -0
  54. package/dist/src/shared/dsl/dsl.interface.js +0 -1
  55. package/dist/src/shared/dsl/dsl.service.d.ts +2 -1
  56. package/dist/src/shared/dsl/dsl.service.d.ts.map +1 -0
  57. package/dist/src/shared/dsl/dsl.service.js +38 -28
  58. package/dist/src/shared/redis/redis.module.d.ts +1 -0
  59. package/dist/src/shared/redis/redis.module.d.ts.map +1 -0
  60. package/dist/src/shared/redis/redis.module.js +3 -9
  61. package/dist/src/shared/redis/redis.service.d.ts +2 -1
  62. package/dist/src/shared/redis/redis.service.d.ts.map +1 -0
  63. package/dist/src/shared/redis/redis.service.js +5 -17
  64. package/dist/src/shared/rule-engine/interface/rule-engine.interface.d.ts +2 -1
  65. package/dist/src/shared/rule-engine/interface/rule-engine.interface.d.ts.map +1 -0
  66. package/dist/src/shared/rule-engine/interface/rule-engine.interface.js +0 -1
  67. package/dist/src/shared/rule-engine/rule-engine.module.d.ts +4 -3
  68. package/dist/src/shared/rule-engine/rule-engine.module.d.ts.map +1 -0
  69. package/dist/src/shared/rule-engine/rule-engine.module.js +4 -11
  70. package/dist/src/shared/rule-engine/rule-engine.service.d.ts +7 -6
  71. package/dist/src/shared/rule-engine/rule-engine.service.d.ts.map +1 -0
  72. package/dist/src/shared/rule-engine/rule-engine.service.js +14 -12
  73. package/dist/src/shared/shared.module.d.ts +1 -0
  74. package/dist/src/shared/shared.module.d.ts.map +1 -0
  75. package/dist/src/shared/shared.module.js +2 -8
  76. package/dist/src/validators/rule.constraint.d.ts +3 -2
  77. package/dist/src/validators/rule.constraint.d.ts.map +1 -0
  78. package/dist/src/validators/rule.constraint.js +13 -16
  79. package/dist/src/validators/rule.validator.d.ts +2 -1
  80. package/dist/src/validators/rule.validator.d.ts.map +1 -0
  81. package/dist/src/validators/rule.validator.js +0 -1
  82. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  83. package/package.json +43 -37
  84. package/dist/src/decorators/rate-limiting-rule.decorator.js.map +0 -1
  85. package/dist/src/guards/rate-limiting.guard.js.map +0 -1
  86. package/dist/src/index.js.map +0 -1
  87. package/dist/src/main.js.map +0 -1
  88. package/dist/src/mocks-modules/rate-limiting.module.d.ts +0 -21
  89. package/dist/src/mocks-modules/rate-limiting.module.js +0 -54
  90. package/dist/src/mocks-modules/rate-limiting.module.js.map +0 -1
  91. package/dist/src/mocks-modules/rule.module.d.ts +0 -5
  92. package/dist/src/mocks-modules/rule.module.js +0 -38
  93. package/dist/src/mocks-modules/rule.module.js.map +0 -1
  94. package/dist/src/mocks-modules/shared-module.mocks.d.ts +0 -10
  95. package/dist/src/mocks-modules/shared-module.mocks.js +0 -32
  96. package/dist/src/mocks-modules/shared-module.mocks.js.map +0 -1
  97. package/dist/src/object.utils.js.map +0 -1
  98. package/dist/src/rate-limiting.module.js.map +0 -1
  99. package/dist/src/rules/dto/pagination.dto.js.map +0 -1
  100. package/dist/src/rules/dto/rule.dto.js.map +0 -1
  101. package/dist/src/rules/interface/pagination.interface.js.map +0 -1
  102. package/dist/src/rules/interface/rule.interface.js.map +0 -1
  103. package/dist/src/rules/rule.controller.js.map +0 -1
  104. package/dist/src/rules/rule.module.js.map +0 -1
  105. package/dist/src/rules/rule.repository.js.map +0 -1
  106. package/dist/src/rules/rule.schema.js.map +0 -1
  107. package/dist/src/rules/rule.service.js.map +0 -1
  108. package/dist/src/shared/cache/cache.service.js.map +0 -1
  109. package/dist/src/shared/dls/dsl.interface.d.ts +0 -42
  110. package/dist/src/shared/dls/dsl.interface.js +0 -10
  111. package/dist/src/shared/dls/dsl.interface.js.map +0 -1
  112. package/dist/src/shared/dls/dsl.utils.d.ts +0 -3
  113. package/dist/src/shared/dls/dsl.utils.js +0 -73
  114. package/dist/src/shared/dls/dsl.utils.js.map +0 -1
  115. package/dist/src/shared/dsl/dsl.interface.js.map +0 -1
  116. package/dist/src/shared/dsl/dsl.service.js.map +0 -1
  117. package/dist/src/shared/dsl/dsl.utils.d.ts +0 -3
  118. package/dist/src/shared/dsl/dsl.utils.js +0 -73
  119. package/dist/src/shared/dsl/dsl.utils.js.map +0 -1
  120. package/dist/src/shared/redis/redis.module.js.map +0 -1
  121. package/dist/src/shared/redis/redis.service.js.map +0 -1
  122. package/dist/src/shared/rule-engine/interface/rule-engine.interface.js.map +0 -1
  123. package/dist/src/shared/rule-engine/rule-engine.module.js.map +0 -1
  124. package/dist/src/shared/rule-engine/rule-engine.service.js.map +0 -1
  125. package/dist/src/shared/shared.module.js.map +0 -1
  126. package/dist/src/validators/rule.constraint.js.map +0 -1
  127. package/dist/src/validators/rule.validator.js.map +0 -1
  128. package/dist/test/guards/rate-limiting.guard.spec.d.ts +0 -1
  129. package/dist/test/guards/rate-limiting.guard.spec.js +0 -93
  130. package/dist/test/guards/rate-limiting.guard.spec.js.map +0 -1
  131. package/dist/test/mocks/rate-limiting-module.mocks.d.ts +0 -2
  132. package/dist/test/mocks/rate-limiting-module.mocks.js +0 -60
  133. package/dist/test/mocks/rate-limiting-module.mocks.js.map +0 -1
  134. package/dist/test/mocks/rate-limiting.mocks.d.ts +0 -17
  135. package/dist/test/mocks/rate-limiting.mocks.js +0 -21
  136. package/dist/test/mocks/rate-limiting.mocks.js.map +0 -1
  137. package/dist/test/mocks/rule-engine.mocks.d.ts +0 -7
  138. package/dist/test/mocks/rule-engine.mocks.js +0 -11
  139. package/dist/test/mocks/rule-engine.mocks.js.map +0 -1
  140. package/dist/test/mocks/rule.mocks.d.ts +0 -32
  141. package/dist/test/mocks/rule.mocks.js +0 -58
  142. package/dist/test/mocks/rule.mocks.js.map +0 -1
  143. package/dist/test/mocks/shared-module.mocks.d.ts +0 -10
  144. package/dist/test/mocks/shared-module.mocks.js +0 -32
  145. package/dist/test/mocks/shared-module.mocks.js.map +0 -1
  146. package/dist/test/mocks/shared.mocks.d.ts +0 -19
  147. package/dist/test/mocks/shared.mocks.js +0 -29
  148. package/dist/test/mocks/shared.mocks.js.map +0 -1
  149. package/dist/test/modules/rate-limiting.module.d.ts +0 -4
  150. package/dist/test/modules/rate-limiting.module.js +0 -38
  151. package/dist/test/modules/rate-limiting.module.js.map +0 -1
  152. package/dist/test/modules/rule.module.d.ts +0 -5
  153. package/dist/test/modules/rule.module.js +0 -38
  154. package/dist/test/modules/rule.module.js.map +0 -1
  155. package/dist/test/rules/rules.service.spec.d.ts +0 -1
  156. package/dist/test/rules/rules.service.spec.js +0 -115
  157. package/dist/test/rules/rules.service.spec.js.map +0 -1
  158. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,18 +1,7 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.RuleController = void 0;
4
+ const tslib_1 = require("tslib");
16
5
  const common_1 = require("@nestjs/common");
17
6
  const swagger_1 = require("@nestjs/swagger");
18
7
  const auth_1 = require("@edirect/auth");
@@ -44,56 +33,55 @@ let RuleController = class RuleController {
44
33
  }
45
34
  };
46
35
  exports.RuleController = RuleController;
47
- __decorate([
36
+ tslib_1.__decorate([
48
37
  (0, common_1.Post)(),
49
38
  (0, swagger_1.ApiResponse)({ status: 201 }),
50
39
  (0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
51
40
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
52
- __param(0, (0, common_1.Body)()),
53
- __metadata("design:type", Function),
54
- __metadata("design:paramtypes", [rule_dto_1.CreateRuleDTO]),
55
- __metadata("design:returntype", void 0)
41
+ tslib_1.__param(0, (0, common_1.Body)()),
42
+ tslib_1.__metadata("design:type", Function),
43
+ tslib_1.__metadata("design:paramtypes", [rule_dto_1.CreateRuleDTO]),
44
+ tslib_1.__metadata("design:returntype", void 0)
56
45
  ], RuleController.prototype, "create", null);
57
- __decorate([
46
+ tslib_1.__decorate([
58
47
  (0, common_1.Get)(),
59
48
  (0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
60
49
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
61
- __param(0, (0, common_1.Query)()),
62
- __metadata("design:type", Function),
63
- __metadata("design:paramtypes", [rule_dto_1.FindRuleDTO]),
64
- __metadata("design:returntype", Promise)
50
+ tslib_1.__param(0, (0, common_1.Query)()),
51
+ tslib_1.__metadata("design:type", Function),
52
+ tslib_1.__metadata("design:paramtypes", [rule_dto_1.FindRuleDTO]),
53
+ tslib_1.__metadata("design:returntype", Promise)
65
54
  ], RuleController.prototype, "findAll", null);
66
- __decorate([
55
+ tslib_1.__decorate([
67
56
  (0, common_1.Get)(':id'),
68
57
  (0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
69
58
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
70
- __param(0, (0, common_1.Param)('id')),
71
- __metadata("design:type", Function),
72
- __metadata("design:paramtypes", [String]),
73
- __metadata("design:returntype", Promise)
59
+ tslib_1.__param(0, (0, common_1.Param)('id')),
60
+ tslib_1.__metadata("design:type", Function),
61
+ tslib_1.__metadata("design:paramtypes", [String]),
62
+ tslib_1.__metadata("design:returntype", Promise)
74
63
  ], RuleController.prototype, "findOne", null);
75
- __decorate([
64
+ tslib_1.__decorate([
76
65
  (0, common_1.Patch)(':id'),
77
66
  (0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
78
67
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
79
- __param(0, (0, common_1.Param)('id')),
80
- __param(1, (0, common_1.Body)()),
81
- __metadata("design:type", Function),
82
- __metadata("design:paramtypes", [String, Object]),
83
- __metadata("design:returntype", void 0)
68
+ tslib_1.__param(0, (0, common_1.Param)('id')),
69
+ tslib_1.__param(1, (0, common_1.Body)()),
70
+ tslib_1.__metadata("design:type", Function),
71
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
72
+ tslib_1.__metadata("design:returntype", void 0)
84
73
  ], RuleController.prototype, "updateSale", null);
85
- __decorate([
74
+ tslib_1.__decorate([
86
75
  (0, common_1.Delete)(':id'),
87
76
  (0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
88
77
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
89
- __param(0, (0, common_1.Param)('id')),
90
- __metadata("design:type", Function),
91
- __metadata("design:paramtypes", [String]),
92
- __metadata("design:returntype", Promise)
78
+ tslib_1.__param(0, (0, common_1.Param)('id')),
79
+ tslib_1.__metadata("design:type", Function),
80
+ tslib_1.__metadata("design:paramtypes", [String]),
81
+ tslib_1.__metadata("design:returntype", Promise)
93
82
  ], RuleController.prototype, "delete", null);
94
- exports.RuleController = RuleController = __decorate([
83
+ exports.RuleController = RuleController = tslib_1.__decorate([
95
84
  (0, swagger_1.ApiTags)('rate-limiting-rule'),
96
85
  (0, common_1.Controller)('/rule'),
97
- __metadata("design:paramtypes", [rule_service_1.RuleService])
86
+ tslib_1.__metadata("design:paramtypes", [rule_service_1.RuleService])
98
87
  ], RuleController);
99
- //# sourceMappingURL=rule.controller.js.map
@@ -2,3 +2,4 @@ import { DynamicModule } from '@nestjs/common';
2
2
  export declare class RuleModule {
3
3
  static register(): DynamicModule;
4
4
  }
5
+ //# sourceMappingURL=rule.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.module.d.ts","sourceRoot":"","sources":["../../../src/rules/rule.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAQvD,qBACa,UAAU;IACrB,MAAM,CAAC,QAAQ,IAAI,aAAa;CAoBjC"}
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
2
  var RuleModule_1;
9
3
  Object.defineProperty(exports, "__esModule", { value: true });
10
4
  exports.RuleModule = void 0;
5
+ const tslib_1 = require("tslib");
11
6
  const logger_1 = require("@edirect/logger");
12
7
  const common_1 = require("@nestjs/common");
13
8
  const mongoose_1 = require("@nestjs/mongoose");
@@ -38,7 +33,6 @@ let RuleModule = RuleModule_1 = class RuleModule {
38
33
  }
39
34
  };
40
35
  exports.RuleModule = RuleModule;
41
- exports.RuleModule = RuleModule = RuleModule_1 = __decorate([
36
+ exports.RuleModule = RuleModule = RuleModule_1 = tslib_1.__decorate([
42
37
  (0, common_1.Module)({})
43
38
  ], RuleModule);
44
- //# sourceMappingURL=rule.module.js.map
@@ -12,3 +12,4 @@ export declare class RuleRepository {
12
12
  findAll(query: IFindRule): Promise<IPagination<IRule[]>>;
13
13
  private buildQuery;
14
14
  }
15
+ //# sourceMappingURL=rule.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.repository.d.ts","sourceRoot":"","sources":["../../../src/rules/rule.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAoB,YAAY,EAAE,MAAM,eAAe,CAAC;AAE/D,qBACa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAItB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAGvC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAIjC,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GACnB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAMlB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAQhE,OAAO,CACL,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAwChC,OAAO,CAAC,UAAU;CASnB"}
@@ -1,18 +1,7 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.RuleRepository = void 0;
4
+ const tslib_1 = require("tslib");
16
5
  const common_1 = require("@nestjs/common");
17
6
  const mongoose_1 = require("@nestjs/mongoose");
18
7
  const mongoose_2 = require("mongoose");
@@ -79,9 +68,8 @@ let RuleRepository = class RuleRepository {
79
68
  }
80
69
  };
81
70
  exports.RuleRepository = RuleRepository;
82
- exports.RuleRepository = RuleRepository = __decorate([
71
+ exports.RuleRepository = RuleRepository = tslib_1.__decorate([
83
72
  (0, common_1.Injectable)(),
84
- __param(0, (0, mongoose_1.InjectModel)(rule_schema_1.RateLimitingRule.name)),
85
- __metadata("design:paramtypes", [mongoose_2.Model])
73
+ tslib_1.__param(0, (0, mongoose_1.InjectModel)(rule_schema_1.RateLimitingRule.name)),
74
+ tslib_1.__metadata("design:paramtypes", [mongoose_2.Model])
86
75
  ], RuleRepository);
87
- //# sourceMappingURL=rule.repository.js.map
@@ -18,12 +18,159 @@ export declare class RateLimitingRule implements IRule {
18
18
  createdAt?: Date;
19
19
  updatedAt?: Date;
20
20
  }
21
- export declare const RateLimitingRuleSchema: import("mongoose").Schema<RateLimitingRule, import("mongoose").Model<RateLimitingRule, any, any, any, Document<unknown, any, RateLimitingRule, any> & RateLimitingRule & {
21
+ export declare const RateLimitingRuleSchema: import("mongoose").Schema<RateLimitingRule, import("mongoose").Model<RateLimitingRule, any, any, any, (Document<unknown, any, RateLimitingRule, any, import("mongoose").DefaultSchemaOptions> & RateLimitingRule & {
22
22
  _id: import("mongoose").Types.ObjectId;
23
23
  } & {
24
24
  __v: number;
25
- }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, RateLimitingRule, Document<unknown, {}, import("mongoose").FlatRecord<RateLimitingRule>, {}> & import("mongoose").FlatRecord<RateLimitingRule> & {
25
+ } & {
26
+ id: string;
27
+ }) | (Document<unknown, any, RateLimitingRule, any, import("mongoose").DefaultSchemaOptions> & RateLimitingRule & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ } & {
30
+ __v: number;
31
+ }), any, RateLimitingRule>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
32
+ id: string;
33
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
26
34
  _id: import("mongoose").Types.ObjectId;
27
35
  } & {
28
36
  __v: number;
29
- }>;
37
+ }, "id"> & {
38
+ id: string;
39
+ }, {
40
+ ruleId?: import("mongoose").SchemaDefinitionProperty<string, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
41
+ id: string;
42
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
43
+ _id: import("mongoose").Types.ObjectId;
44
+ } & {
45
+ __v: number;
46
+ }, "id"> & {
47
+ id: string;
48
+ }> | undefined;
49
+ name?: import("mongoose").SchemaDefinitionProperty<string, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
50
+ id: string;
51
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
52
+ _id: import("mongoose").Types.ObjectId;
53
+ } & {
54
+ __v: number;
55
+ }, "id"> & {
56
+ id: string;
57
+ }> | undefined;
58
+ targetAction?: import("mongoose").SchemaDefinitionProperty<string | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
59
+ id: string;
60
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
61
+ _id: import("mongoose").Types.ObjectId;
62
+ } & {
63
+ __v: number;
64
+ }, "id"> & {
65
+ id: string;
66
+ }> | undefined;
67
+ expression?: import("mongoose").SchemaDefinitionProperty<string, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
68
+ id: string;
69
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
70
+ _id: import("mongoose").Types.ObjectId;
71
+ } & {
72
+ __v: number;
73
+ }, "id"> & {
74
+ id: string;
75
+ }> | undefined;
76
+ enabled?: import("mongoose").SchemaDefinitionProperty<boolean, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
77
+ id: string;
78
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
79
+ _id: import("mongoose").Types.ObjectId;
80
+ } & {
81
+ __v: number;
82
+ }, "id"> & {
83
+ id: string;
84
+ }> | undefined;
85
+ market?: import("mongoose").SchemaDefinitionProperty<string, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
86
+ id: string;
87
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
88
+ _id: import("mongoose").Types.ObjectId;
89
+ } & {
90
+ __v: number;
91
+ }, "id"> & {
92
+ id: string;
93
+ }> | undefined;
94
+ errorMessage?: import("mongoose").SchemaDefinitionProperty<string | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
95
+ id: string;
96
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
97
+ _id: import("mongoose").Types.ObjectId;
98
+ } & {
99
+ __v: number;
100
+ }, "id"> & {
101
+ id: string;
102
+ }> | undefined;
103
+ partner?: import("mongoose").SchemaDefinitionProperty<string, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
104
+ id: string;
105
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
106
+ _id: import("mongoose").Types.ObjectId;
107
+ } & {
108
+ __v: number;
109
+ }, "id"> & {
110
+ id: string;
111
+ }> | undefined;
112
+ provider?: import("mongoose").SchemaDefinitionProperty<string | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
113
+ id: string;
114
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
115
+ _id: import("mongoose").Types.ObjectId;
116
+ } & {
117
+ __v: number;
118
+ }, "id"> & {
119
+ id: string;
120
+ }> | undefined;
121
+ productType?: import("mongoose").SchemaDefinitionProperty<string | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
122
+ id: string;
123
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
124
+ _id: import("mongoose").Types.ObjectId;
125
+ } & {
126
+ __v: number;
127
+ }, "id"> & {
128
+ id: string;
129
+ }> | undefined;
130
+ variables?: import("mongoose").SchemaDefinitionProperty<Record<string, string> | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
131
+ id: string;
132
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
133
+ _id: import("mongoose").Types.ObjectId;
134
+ } & {
135
+ __v: number;
136
+ }, "id"> & {
137
+ id: string;
138
+ }> | undefined;
139
+ variablesRequired?: import("mongoose").SchemaDefinitionProperty<boolean | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
140
+ id: string;
141
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
142
+ _id: import("mongoose").Types.ObjectId;
143
+ } & {
144
+ __v: number;
145
+ }, "id"> & {
146
+ id: string;
147
+ }> | undefined;
148
+ deletedAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
149
+ id: string;
150
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
151
+ _id: import("mongoose").Types.ObjectId;
152
+ } & {
153
+ __v: number;
154
+ }, "id"> & {
155
+ id: string;
156
+ }> | undefined;
157
+ createdAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
158
+ id: string;
159
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
160
+ _id: import("mongoose").Types.ObjectId;
161
+ } & {
162
+ __v: number;
163
+ }, "id"> & {
164
+ id: string;
165
+ }> | undefined;
166
+ updatedAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, RateLimitingRule, Document<unknown, {}, RateLimitingRule, {
167
+ id: string;
168
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<RateLimitingRule & {
169
+ _id: import("mongoose").Types.ObjectId;
170
+ } & {
171
+ __v: number;
172
+ }, "id"> & {
173
+ id: string;
174
+ }> | undefined;
175
+ }, RateLimitingRule>;
176
+ //# sourceMappingURL=rule.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.schema.d.ts","sourceRoot":"","sources":["../../../src/rules/rule.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAEvD,qBACa,gBAAiB,YAAW,KAAK;IAU5C,MAAM,EAAG,MAAM,CAAC;IAMhB,IAAI,EAAG,MAAM,CAAC;IAMd,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,UAAU,EAAG,MAAM,CAAC;IAOpB,OAAO,EAAG,OAAO,CAAC;IAMlB,MAAM,EAAG,MAAM,CAAC;IAMhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,OAAO,EAAG,MAAM,CAAC;IAMjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAMnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAM5B,SAAS,CAAC,EAAE,IAAI,CAAC;IAMjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAMjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBACa,CAAC"}
@@ -1,17 +1,8 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RateLimitingRuleSchema = exports.RateLimitingRule = void 0;
4
+ const tslib_1 = require("tslib");
13
5
  const mongoose_1 = require("@nestjs/mongoose");
14
- const uuid_1 = require("uuid");
15
6
  let RateLimitingRule = class RateLimitingRule {
16
7
  ruleId;
17
8
  name;
@@ -30,122 +21,125 @@ let RateLimitingRule = class RateLimitingRule {
30
21
  updatedAt;
31
22
  };
32
23
  exports.RateLimitingRule = RateLimitingRule;
33
- __decorate([
24
+ tslib_1.__decorate([
34
25
  (0, mongoose_1.Prop)({
35
26
  required: true,
36
27
  unique: true,
37
- default: uuid_1.v4,
38
- type: String
28
+ default: async () => {
29
+ const { v4: uuidv4 } = await import('uuid');
30
+ return uuidv4();
31
+ },
32
+ type: String,
39
33
  }),
40
- __metadata("design:type", String)
34
+ tslib_1.__metadata("design:type", String)
41
35
  ], RateLimitingRule.prototype, "ruleId", void 0);
42
- __decorate([
36
+ tslib_1.__decorate([
43
37
  (0, mongoose_1.Prop)({
44
38
  required: true,
45
39
  type: String,
46
40
  }),
47
- __metadata("design:type", String)
41
+ tslib_1.__metadata("design:type", String)
48
42
  ], RateLimitingRule.prototype, "name", void 0);
49
- __decorate([
43
+ tslib_1.__decorate([
50
44
  (0, mongoose_1.Prop)({
51
45
  required: true,
52
- type: String
46
+ type: String,
53
47
  }),
54
- __metadata("design:type", String)
48
+ tslib_1.__metadata("design:type", String)
55
49
  ], RateLimitingRule.prototype, "targetAction", void 0);
56
- __decorate([
50
+ tslib_1.__decorate([
57
51
  (0, mongoose_1.Prop)({
58
52
  required: true,
59
- type: String
53
+ type: String,
60
54
  }),
61
- __metadata("design:type", String)
55
+ tslib_1.__metadata("design:type", String)
62
56
  ], RateLimitingRule.prototype, "expression", void 0);
63
- __decorate([
57
+ tslib_1.__decorate([
64
58
  (0, mongoose_1.Prop)({
65
59
  required: true,
66
60
  default: true,
67
61
  type: Boolean,
68
62
  }),
69
- __metadata("design:type", Boolean)
63
+ tslib_1.__metadata("design:type", Boolean)
70
64
  ], RateLimitingRule.prototype, "enabled", void 0);
71
- __decorate([
65
+ tslib_1.__decorate([
72
66
  (0, mongoose_1.Prop)({
73
67
  required: false,
74
68
  type: String,
75
69
  }),
76
- __metadata("design:type", String)
70
+ tslib_1.__metadata("design:type", String)
77
71
  ], RateLimitingRule.prototype, "market", void 0);
78
- __decorate([
72
+ tslib_1.__decorate([
79
73
  (0, mongoose_1.Prop)({
80
74
  required: false,
81
- type: String
75
+ type: String,
82
76
  }),
83
- __metadata("design:type", String)
77
+ tslib_1.__metadata("design:type", String)
84
78
  ], RateLimitingRule.prototype, "errorMessage", void 0);
85
- __decorate([
79
+ tslib_1.__decorate([
86
80
  (0, mongoose_1.Prop)({
87
81
  required: true,
88
- type: String
82
+ type: String,
89
83
  }),
90
- __metadata("design:type", String)
84
+ tslib_1.__metadata("design:type", String)
91
85
  ], RateLimitingRule.prototype, "partner", void 0);
92
- __decorate([
86
+ tslib_1.__decorate([
93
87
  (0, mongoose_1.Prop)({
94
88
  required: false,
95
- type: String
89
+ type: String,
96
90
  }),
97
- __metadata("design:type", String)
91
+ tslib_1.__metadata("design:type", String)
98
92
  ], RateLimitingRule.prototype, "provider", void 0);
99
- __decorate([
93
+ tslib_1.__decorate([
100
94
  (0, mongoose_1.Prop)({
101
95
  required: false,
102
- type: String
96
+ type: String,
103
97
  }),
104
- __metadata("design:type", String)
98
+ tslib_1.__metadata("design:type", String)
105
99
  ], RateLimitingRule.prototype, "productType", void 0);
106
- __decorate([
100
+ tslib_1.__decorate([
107
101
  (0, mongoose_1.Prop)({
108
102
  required: false,
109
- type: Object
103
+ type: Object,
110
104
  }),
111
- __metadata("design:type", Object)
105
+ tslib_1.__metadata("design:type", Object)
112
106
  ], RateLimitingRule.prototype, "variables", void 0);
113
- __decorate([
107
+ tslib_1.__decorate([
114
108
  (0, mongoose_1.Prop)({
115
109
  required: false,
116
- type: Boolean
110
+ type: Boolean,
117
111
  }),
118
- __metadata("design:type", Boolean)
112
+ tslib_1.__metadata("design:type", Boolean)
119
113
  ], RateLimitingRule.prototype, "variablesRequired", void 0);
120
- __decorate([
114
+ tslib_1.__decorate([
121
115
  (0, mongoose_1.Prop)({
122
116
  required: false,
123
- type: Date
117
+ type: Date,
124
118
  }),
125
- __metadata("design:type", Date)
119
+ tslib_1.__metadata("design:type", Date)
126
120
  ], RateLimitingRule.prototype, "deletedAt", void 0);
127
- __decorate([
121
+ tslib_1.__decorate([
128
122
  (0, mongoose_1.Prop)({
129
123
  required: false,
130
- type: Date
124
+ type: Date,
131
125
  }),
132
- __metadata("design:type", Date)
126
+ tslib_1.__metadata("design:type", Date)
133
127
  ], RateLimitingRule.prototype, "createdAt", void 0);
134
- __decorate([
128
+ tslib_1.__decorate([
135
129
  (0, mongoose_1.Prop)({
136
130
  required: false,
137
- type: Date
131
+ type: Date,
138
132
  }),
139
- __metadata("design:type", Date)
133
+ tslib_1.__metadata("design:type", Date)
140
134
  ], RateLimitingRule.prototype, "updatedAt", void 0);
141
- exports.RateLimitingRule = RateLimitingRule = __decorate([
135
+ exports.RateLimitingRule = RateLimitingRule = tslib_1.__decorate([
142
136
  (0, mongoose_1.Schema)({ timestamps: true })
143
137
  ], RateLimitingRule);
144
138
  exports.RateLimitingRuleSchema = mongoose_1.SchemaFactory.createForClass(RateLimitingRule);
145
139
  exports.RateLimitingRuleSchema.index({
146
140
  partner: 1,
147
141
  provider: 1,
148
- productType: 1
142
+ productType: 1,
149
143
  });
150
144
  exports.RateLimitingRuleSchema.index({
151
145
  partner: 1,
@@ -154,4 +148,3 @@ exports.RateLimitingRuleSchema.index({
154
148
  exports.RateLimitingRuleSchema.index({
155
149
  partner: 1,
156
150
  });
157
- //# sourceMappingURL=rule.schema.js.map
@@ -12,13 +12,15 @@ export declare class RuleService {
12
12
  private readonly MAX_EXPRESSION_DEPTH;
13
13
  private readonly FORBIDDEN_PATTERNS;
14
14
  constructor(logger: LoggerService, repository: RuleRepository, cacheService: CacheService);
15
- create(input: CreateRuleDTO): Promise<IRule>;
15
+ create(input?: CreateRuleDTO): Promise<IRule>;
16
16
  findAll(queryParameters: IFindRule): Promise<IPagination<IRule[]>>;
17
17
  findAllWithoutPagination(queryParameters: IFindRule): Promise<IRule[]>;
18
18
  findById(id: string): Promise<IRule>;
19
19
  updateOne(id: string, fieldsToUpdate: Partial<IRule>): Promise<IRule | null>;
20
20
  delete(id: string): Promise<void>;
21
+ private logError;
21
22
  validateRuleExpression(expression: string): string | null;
22
23
  private getFromCache;
23
24
  private generateRateLimitingCountCacheKey;
24
25
  }
26
+ //# sourceMappingURL=rule.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.service.d.ts","sourceRoot":"","sources":["../../../src/rules/rule.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAShD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAe,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBACa,WAAW;IAqBpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAtB/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAO;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAejC;gBAGiB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,YAAY;IAGvC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IA0B7C,OAAO,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IASlE,wBAAwB,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA0BtE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAapC,SAAS,CACb,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,GAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAgClB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvC,OAAO,CAAC,QAAQ;IAOhB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAoB3C,YAAY;IAiB1B,OAAO,CAAC,iCAAiC;CAuB1C"}