@edirect/rate-limit-module 11.0.43 → 11.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/dist/README.md +0 -499
- package/dist/package.json +0 -41
- package/dist/src/decorators/rate-limiting-rule.decorator.d.ts +0 -10
- package/dist/src/decorators/rate-limiting-rule.decorator.d.ts.map +0 -1
- package/dist/src/decorators/rate-limiting-rule.decorator.js +0 -7
- package/dist/src/guards/rate-limiting.guard.d.ts +0 -21
- package/dist/src/guards/rate-limiting.guard.d.ts.map +0 -1
- package/dist/src/guards/rate-limiting.guard.js +0 -248
- package/dist/src/index.d.ts +0 -11
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -14
- package/dist/src/main.d.ts +0 -2
- package/dist/src/main.d.ts.map +0 -1
- package/dist/src/main.js +0 -9
- package/dist/src/object.utils.d.ts +0 -3
- package/dist/src/object.utils.d.ts.map +0 -1
- package/dist/src/object.utils.js +0 -38
- package/dist/src/rate-limiting.module.d.ts +0 -3
- package/dist/src/rate-limiting.module.d.ts.map +0 -1
- package/dist/src/rate-limiting.module.js +0 -31
- package/dist/src/rules/dto/pagination.dto.d.ts +0 -6
- package/dist/src/rules/dto/pagination.dto.d.ts.map +0 -1
- package/dist/src/rules/dto/pagination.dto.js +0 -42
- package/dist/src/rules/dto/rule.dto.d.ts +0 -24
- package/dist/src/rules/dto/rule.dto.d.ts.map +0 -1
- package/dist/src/rules/dto/rule.dto.js +0 -198
- package/dist/src/rules/interface/pagination.interface.d.ts +0 -7
- package/dist/src/rules/interface/pagination.interface.d.ts.map +0 -1
- package/dist/src/rules/interface/pagination.interface.js +0 -2
- package/dist/src/rules/interface/rule.interface.d.ts +0 -29
- package/dist/src/rules/interface/rule.interface.d.ts.map +0 -1
- package/dist/src/rules/interface/rule.interface.js +0 -2
- package/dist/src/rules/rule.controller.d.ts +0 -14
- package/dist/src/rules/rule.controller.d.ts.map +0 -1
- package/dist/src/rules/rule.controller.js +0 -87
- package/dist/src/rules/rule.module.d.ts +0 -5
- package/dist/src/rules/rule.module.d.ts.map +0 -1
- package/dist/src/rules/rule.module.js +0 -38
- package/dist/src/rules/rule.repository.d.ts +0 -15
- package/dist/src/rules/rule.repository.d.ts.map +0 -1
- package/dist/src/rules/rule.repository.js +0 -79
- package/dist/src/rules/rule.schema.d.ts +0 -176
- package/dist/src/rules/rule.schema.d.ts.map +0 -1
- package/dist/src/rules/rule.schema.js +0 -150
- package/dist/src/rules/rule.service.d.ts +0 -26
- package/dist/src/rules/rule.service.d.ts.map +0 -1
- package/dist/src/rules/rule.service.js +0 -204
- package/dist/src/shared/cache/cache.service.d.ts +0 -10
- package/dist/src/shared/cache/cache.service.d.ts.map +0 -1
- package/dist/src/shared/cache/cache.service.js +0 -29
- package/dist/src/shared/dsl/dsl.interface.d.ts +0 -43
- package/dist/src/shared/dsl/dsl.interface.d.ts.map +0 -1
- package/dist/src/shared/dsl/dsl.interface.js +0 -9
- package/dist/src/shared/dsl/dsl.service.d.ts +0 -8
- package/dist/src/shared/dsl/dsl.service.d.ts.map +0 -1
- package/dist/src/shared/dsl/dsl.service.js +0 -87
- package/dist/src/shared/redis/redis.module.d.ts +0 -3
- package/dist/src/shared/redis/redis.module.d.ts.map +0 -1
- package/dist/src/shared/redis/redis.module.js +0 -32
- package/dist/src/shared/redis/redis.service.d.ts +0 -13
- package/dist/src/shared/redis/redis.service.d.ts.map +0 -1
- package/dist/src/shared/redis/redis.service.js +0 -53
- package/dist/src/shared/rule-engine/interface/rule-engine.interface.d.ts +0 -14
- package/dist/src/shared/rule-engine/interface/rule-engine.interface.d.ts.map +0 -1
- package/dist/src/shared/rule-engine/interface/rule-engine.interface.js +0 -2
- package/dist/src/shared/rule-engine/rule-engine.module.d.ts +0 -11
- package/dist/src/shared/rule-engine/rule-engine.module.d.ts.map +0 -1
- package/dist/src/shared/rule-engine/rule-engine.module.js +0 -51
- package/dist/src/shared/rule-engine/rule-engine.service.d.ts +0 -18
- package/dist/src/shared/rule-engine/rule-engine.service.d.ts.map +0 -1
- package/dist/src/shared/rule-engine/rule-engine.service.js +0 -134
- package/dist/src/shared/shared.module.d.ts +0 -3
- package/dist/src/shared/shared.module.d.ts.map +0 -1
- package/dist/src/shared/shared.module.js +0 -29
- package/dist/src/validators/rule.constraint.d.ts +0 -10
- package/dist/src/validators/rule.constraint.d.ts.map +0 -1
- package/dist/src/validators/rule.constraint.js +0 -49
- package/dist/src/validators/rule.validator.d.ts +0 -3
- package/dist/src/validators/rule.validator.d.ts.map +0 -1
- package/dist/src/validators/rule.validator.js +0 -16
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.interface.d.ts","sourceRoot":"","sources":["../../../../src/rules/interface/pagination.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export interface IRule {
|
|
2
|
-
ruleId?: string;
|
|
3
|
-
name: string;
|
|
4
|
-
targetAction?: string;
|
|
5
|
-
expression: string;
|
|
6
|
-
enabled?: boolean;
|
|
7
|
-
errorMessage?: string;
|
|
8
|
-
partner?: string;
|
|
9
|
-
provider?: string;
|
|
10
|
-
market?: string;
|
|
11
|
-
productType?: string;
|
|
12
|
-
variables?: Record<string, unknown>;
|
|
13
|
-
variablesRequired?: boolean;
|
|
14
|
-
deletedAt?: Date;
|
|
15
|
-
createdAt?: Date;
|
|
16
|
-
updatedAt?: Date;
|
|
17
|
-
}
|
|
18
|
-
export interface IFindRule {
|
|
19
|
-
name?: string;
|
|
20
|
-
targetAction?: string;
|
|
21
|
-
enabled?: string;
|
|
22
|
-
partner?: string | undefined;
|
|
23
|
-
provider?: string | undefined;
|
|
24
|
-
market?: string | undefined;
|
|
25
|
-
productType?: string | undefined;
|
|
26
|
-
page: number;
|
|
27
|
-
limit: number;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=rule.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.interface.d.ts","sourceRoot":"","sources":["../../../../src/rules/interface/rule.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CreateRuleDTO, FindRuleDTO } from './dto/rule.dto';
|
|
2
|
-
import { IPagination } from './interface/pagination.interface';
|
|
3
|
-
import { IRule } from './interface/rule.interface';
|
|
4
|
-
import { RuleService } from './rule.service';
|
|
5
|
-
export declare class RuleController {
|
|
6
|
-
private readonly ruleService;
|
|
7
|
-
constructor(ruleService: RuleService);
|
|
8
|
-
create(dto: CreateRuleDTO): Promise<IRule>;
|
|
9
|
-
findAll(query: FindRuleDTO): Promise<IPagination<IRule[]>>;
|
|
10
|
-
findOne(id: string): Promise<IRule>;
|
|
11
|
-
updateSale(id: string, patchData: Partial<IRule>): Promise<IRule | null>;
|
|
12
|
-
delete(id: string): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=rule.controller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.controller.d.ts","sourceRoot":"","sources":["../../../src/rules/rule.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,qBAEa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAMrD,MAAM,CAAS,GAAG,EAAE,aAAa;IAOjC,OAAO,CAAU,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAOnE,OAAO,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAOhD,UAAU,CAAc,EAAE,EAAE,MAAM,EAAU,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;IAOrE,MAAM,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RuleController = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
-
const auth_1 = require("@edirect/auth");
|
|
8
|
-
const rule_dto_1 = require("./dto/rule.dto");
|
|
9
|
-
const rule_service_1 = require("./rule.service");
|
|
10
|
-
var ResourceServiceEnum;
|
|
11
|
-
(function (ResourceServiceEnum) {
|
|
12
|
-
ResourceServiceEnum["DEFAULT"] = "Default Resource";
|
|
13
|
-
})(ResourceServiceEnum || (ResourceServiceEnum = {}));
|
|
14
|
-
let RuleController = class RuleController {
|
|
15
|
-
ruleService;
|
|
16
|
-
constructor(ruleService) {
|
|
17
|
-
this.ruleService = ruleService;
|
|
18
|
-
}
|
|
19
|
-
create(dto) {
|
|
20
|
-
return this.ruleService.create(dto);
|
|
21
|
-
}
|
|
22
|
-
findAll(query) {
|
|
23
|
-
return this.ruleService.findAll(query);
|
|
24
|
-
}
|
|
25
|
-
findOne(id) {
|
|
26
|
-
return this.ruleService.findById(id);
|
|
27
|
-
}
|
|
28
|
-
updateSale(id, patchData) {
|
|
29
|
-
return this.ruleService.updateOne(id, patchData);
|
|
30
|
-
}
|
|
31
|
-
delete(id) {
|
|
32
|
-
return this.ruleService.delete(id);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
exports.RuleController = RuleController;
|
|
36
|
-
tslib_1.__decorate([
|
|
37
|
-
(0, common_1.Post)(),
|
|
38
|
-
(0, swagger_1.ApiResponse)({ status: 201 }),
|
|
39
|
-
(0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
|
|
40
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
|
|
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)
|
|
45
|
-
], RuleController.prototype, "create", null);
|
|
46
|
-
tslib_1.__decorate([
|
|
47
|
-
(0, common_1.Get)(),
|
|
48
|
-
(0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
|
|
49
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
|
|
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)
|
|
54
|
-
], RuleController.prototype, "findAll", null);
|
|
55
|
-
tslib_1.__decorate([
|
|
56
|
-
(0, common_1.Get)(':id'),
|
|
57
|
-
(0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
|
|
58
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
|
|
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)
|
|
63
|
-
], RuleController.prototype, "findOne", null);
|
|
64
|
-
tslib_1.__decorate([
|
|
65
|
-
(0, common_1.Patch)(':id'),
|
|
66
|
-
(0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
|
|
67
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
|
|
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)
|
|
73
|
-
], RuleController.prototype, "updateSale", null);
|
|
74
|
-
tslib_1.__decorate([
|
|
75
|
-
(0, common_1.Delete)(':id'),
|
|
76
|
-
(0, auth_1.Resources)(ResourceServiceEnum.DEFAULT),
|
|
77
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true })),
|
|
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)
|
|
82
|
-
], RuleController.prototype, "delete", null);
|
|
83
|
-
exports.RuleController = RuleController = tslib_1.__decorate([
|
|
84
|
-
(0, swagger_1.ApiTags)('rate-limiting-rule'),
|
|
85
|
-
(0, common_1.Controller)('/rule'),
|
|
86
|
-
tslib_1.__metadata("design:paramtypes", [rule_service_1.RuleService])
|
|
87
|
-
], RuleController);
|
|
@@ -1 +0,0 @@
|
|
|
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;CAqBjC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var RuleModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.RuleModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const logger_1 = require("@edirect/logger");
|
|
7
|
-
const common_1 = require("@nestjs/common");
|
|
8
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
9
|
-
const shared_module_1 = require("../shared/shared.module");
|
|
10
|
-
const rule_controller_1 = require("./rule.controller");
|
|
11
|
-
const rule_repository_1 = require("./rule.repository");
|
|
12
|
-
const rule_schema_1 = require("./rule.schema");
|
|
13
|
-
const rule_service_1 = require("./rule.service");
|
|
14
|
-
let RuleModule = RuleModule_1 = class RuleModule {
|
|
15
|
-
static register() {
|
|
16
|
-
const enableController = process.env.ENABLE_RATE_LIMITING_RULE_CONTROLLER === 'true';
|
|
17
|
-
return {
|
|
18
|
-
module: RuleModule_1,
|
|
19
|
-
imports: [
|
|
20
|
-
logger_1.LoggerModule,
|
|
21
|
-
shared_module_1.SharedModule,
|
|
22
|
-
mongoose_1.MongooseModule.forFeature([
|
|
23
|
-
{
|
|
24
|
-
name: rule_schema_1.RateLimitingRule.name,
|
|
25
|
-
schema: rule_schema_1.RateLimitingRuleSchema,
|
|
26
|
-
},
|
|
27
|
-
]),
|
|
28
|
-
],
|
|
29
|
-
controllers: enableController ? [rule_controller_1.RuleController] : [],
|
|
30
|
-
providers: [rule_service_1.RuleService, rule_repository_1.RuleRepository],
|
|
31
|
-
exports: [rule_service_1.RuleService, rule_repository_1.RuleRepository],
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
exports.RuleModule = RuleModule;
|
|
36
|
-
exports.RuleModule = RuleModule = RuleModule_1 = tslib_1.__decorate([
|
|
37
|
-
(0, common_1.Module)({})
|
|
38
|
-
], RuleModule);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Model } from 'mongoose';
|
|
2
|
-
import { IPagination } from './interface/pagination.interface';
|
|
3
|
-
import { IFindRule, IRule } from './interface/rule.interface';
|
|
4
|
-
import { RuleDocument } from './rule.schema';
|
|
5
|
-
export declare class RuleRepository {
|
|
6
|
-
private readonly model;
|
|
7
|
-
private readonly MAX_LIMIT;
|
|
8
|
-
constructor(model: Model<RuleDocument>);
|
|
9
|
-
save(data: IRule): Promise<IRule>;
|
|
10
|
-
update(ruleRateId: string, data: Partial<IRule>): Promise<IRule | null>;
|
|
11
|
-
findOneByRateId(rateRuleId: string): Promise<IRule | null>;
|
|
12
|
-
findAll(query: IFindRule): Promise<IPagination<IRule[]>>;
|
|
13
|
-
private buildQuery;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=rule.repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;IAShE,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IA2CxD,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RuleRepository = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
7
|
-
const mongoose_2 = require("mongoose");
|
|
8
|
-
const rule_schema_1 = require("./rule.schema");
|
|
9
|
-
let RuleRepository = class RuleRepository {
|
|
10
|
-
model;
|
|
11
|
-
MAX_LIMIT = 100;
|
|
12
|
-
constructor(model) {
|
|
13
|
-
this.model = model;
|
|
14
|
-
}
|
|
15
|
-
async save(data) {
|
|
16
|
-
return new this.model(data).save();
|
|
17
|
-
}
|
|
18
|
-
async update(ruleRateId, data) {
|
|
19
|
-
return this.model.findOneAndUpdate({ ruleId: ruleRateId }, data, {
|
|
20
|
-
new: true,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
async findOneByRateId(rateRuleId) {
|
|
24
|
-
return this.model
|
|
25
|
-
.findOne({ ruleId: rateRuleId })
|
|
26
|
-
.select('-__v')
|
|
27
|
-
.select('-_id')
|
|
28
|
-
.lean()
|
|
29
|
-
.exec();
|
|
30
|
-
}
|
|
31
|
-
findAll(query) {
|
|
32
|
-
const { page, limit } = query;
|
|
33
|
-
const LIMIT = limit && limit < this.MAX_LIMIT ? limit : this.MAX_LIMIT;
|
|
34
|
-
let limitCount = 500;
|
|
35
|
-
while (limitCount < page * LIMIT) {
|
|
36
|
-
limitCount += 500;
|
|
37
|
-
}
|
|
38
|
-
const queryBuilt = this.buildQuery(query);
|
|
39
|
-
const count = this.model
|
|
40
|
-
.countDocuments(queryBuilt)
|
|
41
|
-
.limit(limitCount)
|
|
42
|
-
.exec();
|
|
43
|
-
const rules = this.model
|
|
44
|
-
.find(queryBuilt)
|
|
45
|
-
.limit(LIMIT)
|
|
46
|
-
.skip((page - 1) * LIMIT)
|
|
47
|
-
.select('-__v')
|
|
48
|
-
.exec();
|
|
49
|
-
return Promise.all([count, rules]).then(values => {
|
|
50
|
-
const [count, result] = values;
|
|
51
|
-
const mapped = result.map(e => e.toJSON());
|
|
52
|
-
let currentCount = count;
|
|
53
|
-
if (count > limitCount) {
|
|
54
|
-
currentCount = limitCount;
|
|
55
|
-
}
|
|
56
|
-
const totalPages = Math.ceil(count / LIMIT);
|
|
57
|
-
return {
|
|
58
|
-
total: currentCount,
|
|
59
|
-
currentPage: +page || 1,
|
|
60
|
-
totalPages,
|
|
61
|
-
data: mapped,
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
buildQuery(queryParameters) {
|
|
66
|
-
return Object.entries(queryParameters).reduce((acc, [key, value]) => {
|
|
67
|
-
if (key === 'page' || key === 'limit')
|
|
68
|
-
return acc;
|
|
69
|
-
acc[key] = value || '';
|
|
70
|
-
return acc;
|
|
71
|
-
}, {});
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
exports.RuleRepository = RuleRepository;
|
|
75
|
-
exports.RuleRepository = RuleRepository = tslib_1.__decorate([
|
|
76
|
-
(0, common_1.Injectable)(),
|
|
77
|
-
tslib_1.__param(0, (0, mongoose_1.InjectModel)(rule_schema_1.RateLimitingRule.name)),
|
|
78
|
-
tslib_1.__metadata("design:paramtypes", [mongoose_2.Model])
|
|
79
|
-
], RuleRepository);
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { Document } from 'mongoose';
|
|
2
|
-
import { IRule } from './interface/rule.interface';
|
|
3
|
-
export type RuleDocument = RateLimitingRule & Document;
|
|
4
|
-
export declare class RateLimitingRule implements IRule {
|
|
5
|
-
ruleId: string;
|
|
6
|
-
name: string;
|
|
7
|
-
targetAction?: string;
|
|
8
|
-
expression: string;
|
|
9
|
-
enabled: boolean;
|
|
10
|
-
market: string;
|
|
11
|
-
errorMessage?: string;
|
|
12
|
-
partner: string;
|
|
13
|
-
provider?: string;
|
|
14
|
-
productType?: string;
|
|
15
|
-
variables?: Record<string, string>;
|
|
16
|
-
variablesRequired?: boolean;
|
|
17
|
-
deletedAt?: Date;
|
|
18
|
-
createdAt?: Date;
|
|
19
|
-
updatedAt?: Date;
|
|
20
|
-
}
|
|
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
|
-
_id: import("mongoose").Types.ObjectId;
|
|
23
|
-
} & {
|
|
24
|
-
__v: number;
|
|
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 & {
|
|
34
|
-
_id: import("mongoose").Types.ObjectId;
|
|
35
|
-
} & {
|
|
36
|
-
__v: number;
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RateLimitingRuleSchema = exports.RateLimitingRule = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
6
|
-
let RateLimitingRule = class RateLimitingRule {
|
|
7
|
-
ruleId;
|
|
8
|
-
name;
|
|
9
|
-
targetAction;
|
|
10
|
-
expression;
|
|
11
|
-
enabled;
|
|
12
|
-
market;
|
|
13
|
-
errorMessage;
|
|
14
|
-
partner;
|
|
15
|
-
provider;
|
|
16
|
-
productType;
|
|
17
|
-
variables;
|
|
18
|
-
variablesRequired;
|
|
19
|
-
deletedAt;
|
|
20
|
-
createdAt;
|
|
21
|
-
updatedAt;
|
|
22
|
-
};
|
|
23
|
-
exports.RateLimitingRule = RateLimitingRule;
|
|
24
|
-
tslib_1.__decorate([
|
|
25
|
-
(0, mongoose_1.Prop)({
|
|
26
|
-
required: true,
|
|
27
|
-
unique: true,
|
|
28
|
-
default: async () => {
|
|
29
|
-
const { v4: uuidv4 } = await import('uuid');
|
|
30
|
-
return uuidv4();
|
|
31
|
-
},
|
|
32
|
-
type: String,
|
|
33
|
-
}),
|
|
34
|
-
tslib_1.__metadata("design:type", String)
|
|
35
|
-
], RateLimitingRule.prototype, "ruleId", void 0);
|
|
36
|
-
tslib_1.__decorate([
|
|
37
|
-
(0, mongoose_1.Prop)({
|
|
38
|
-
required: true,
|
|
39
|
-
type: String,
|
|
40
|
-
}),
|
|
41
|
-
tslib_1.__metadata("design:type", String)
|
|
42
|
-
], RateLimitingRule.prototype, "name", void 0);
|
|
43
|
-
tslib_1.__decorate([
|
|
44
|
-
(0, mongoose_1.Prop)({
|
|
45
|
-
required: true,
|
|
46
|
-
type: String,
|
|
47
|
-
}),
|
|
48
|
-
tslib_1.__metadata("design:type", String)
|
|
49
|
-
], RateLimitingRule.prototype, "targetAction", void 0);
|
|
50
|
-
tslib_1.__decorate([
|
|
51
|
-
(0, mongoose_1.Prop)({
|
|
52
|
-
required: true,
|
|
53
|
-
type: String,
|
|
54
|
-
}),
|
|
55
|
-
tslib_1.__metadata("design:type", String)
|
|
56
|
-
], RateLimitingRule.prototype, "expression", void 0);
|
|
57
|
-
tslib_1.__decorate([
|
|
58
|
-
(0, mongoose_1.Prop)({
|
|
59
|
-
required: true,
|
|
60
|
-
default: true,
|
|
61
|
-
type: Boolean,
|
|
62
|
-
}),
|
|
63
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
64
|
-
], RateLimitingRule.prototype, "enabled", void 0);
|
|
65
|
-
tslib_1.__decorate([
|
|
66
|
-
(0, mongoose_1.Prop)({
|
|
67
|
-
required: false,
|
|
68
|
-
type: String,
|
|
69
|
-
}),
|
|
70
|
-
tslib_1.__metadata("design:type", String)
|
|
71
|
-
], RateLimitingRule.prototype, "market", void 0);
|
|
72
|
-
tslib_1.__decorate([
|
|
73
|
-
(0, mongoose_1.Prop)({
|
|
74
|
-
required: false,
|
|
75
|
-
type: String,
|
|
76
|
-
}),
|
|
77
|
-
tslib_1.__metadata("design:type", String)
|
|
78
|
-
], RateLimitingRule.prototype, "errorMessage", void 0);
|
|
79
|
-
tslib_1.__decorate([
|
|
80
|
-
(0, mongoose_1.Prop)({
|
|
81
|
-
required: true,
|
|
82
|
-
type: String,
|
|
83
|
-
}),
|
|
84
|
-
tslib_1.__metadata("design:type", String)
|
|
85
|
-
], RateLimitingRule.prototype, "partner", void 0);
|
|
86
|
-
tslib_1.__decorate([
|
|
87
|
-
(0, mongoose_1.Prop)({
|
|
88
|
-
required: false,
|
|
89
|
-
type: String,
|
|
90
|
-
}),
|
|
91
|
-
tslib_1.__metadata("design:type", String)
|
|
92
|
-
], RateLimitingRule.prototype, "provider", void 0);
|
|
93
|
-
tslib_1.__decorate([
|
|
94
|
-
(0, mongoose_1.Prop)({
|
|
95
|
-
required: false,
|
|
96
|
-
type: String,
|
|
97
|
-
}),
|
|
98
|
-
tslib_1.__metadata("design:type", String)
|
|
99
|
-
], RateLimitingRule.prototype, "productType", void 0);
|
|
100
|
-
tslib_1.__decorate([
|
|
101
|
-
(0, mongoose_1.Prop)({
|
|
102
|
-
required: false,
|
|
103
|
-
type: Object,
|
|
104
|
-
}),
|
|
105
|
-
tslib_1.__metadata("design:type", Object)
|
|
106
|
-
], RateLimitingRule.prototype, "variables", void 0);
|
|
107
|
-
tslib_1.__decorate([
|
|
108
|
-
(0, mongoose_1.Prop)({
|
|
109
|
-
required: false,
|
|
110
|
-
type: Boolean,
|
|
111
|
-
}),
|
|
112
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
113
|
-
], RateLimitingRule.prototype, "variablesRequired", void 0);
|
|
114
|
-
tslib_1.__decorate([
|
|
115
|
-
(0, mongoose_1.Prop)({
|
|
116
|
-
required: false,
|
|
117
|
-
type: Date,
|
|
118
|
-
}),
|
|
119
|
-
tslib_1.__metadata("design:type", Date)
|
|
120
|
-
], RateLimitingRule.prototype, "deletedAt", void 0);
|
|
121
|
-
tslib_1.__decorate([
|
|
122
|
-
(0, mongoose_1.Prop)({
|
|
123
|
-
required: false,
|
|
124
|
-
type: Date,
|
|
125
|
-
}),
|
|
126
|
-
tslib_1.__metadata("design:type", Date)
|
|
127
|
-
], RateLimitingRule.prototype, "createdAt", void 0);
|
|
128
|
-
tslib_1.__decorate([
|
|
129
|
-
(0, mongoose_1.Prop)({
|
|
130
|
-
required: false,
|
|
131
|
-
type: Date,
|
|
132
|
-
}),
|
|
133
|
-
tslib_1.__metadata("design:type", Date)
|
|
134
|
-
], RateLimitingRule.prototype, "updatedAt", void 0);
|
|
135
|
-
exports.RateLimitingRule = RateLimitingRule = tslib_1.__decorate([
|
|
136
|
-
(0, mongoose_1.Schema)({ timestamps: true })
|
|
137
|
-
], RateLimitingRule);
|
|
138
|
-
exports.RateLimitingRuleSchema = mongoose_1.SchemaFactory.createForClass(RateLimitingRule);
|
|
139
|
-
exports.RateLimitingRuleSchema.index({
|
|
140
|
-
partner: 1,
|
|
141
|
-
provider: 1,
|
|
142
|
-
productType: 1,
|
|
143
|
-
});
|
|
144
|
-
exports.RateLimitingRuleSchema.index({
|
|
145
|
-
partner: 1,
|
|
146
|
-
provider: 1,
|
|
147
|
-
});
|
|
148
|
-
exports.RateLimitingRuleSchema.index({
|
|
149
|
-
partner: 1,
|
|
150
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { LoggerService } from '@edirect/logger';
|
|
2
|
-
import { CacheService } from '../shared/cache/cache.service';
|
|
3
|
-
import { CreateRuleDTO } from './dto/rule.dto';
|
|
4
|
-
import { IPagination } from './interface/pagination.interface';
|
|
5
|
-
import { IFindRule, IRule } from './interface/rule.interface';
|
|
6
|
-
import { RuleRepository } from './rule.repository';
|
|
7
|
-
export declare class RuleService {
|
|
8
|
-
private readonly logger;
|
|
9
|
-
private readonly repository;
|
|
10
|
-
private readonly cacheService;
|
|
11
|
-
private readonly MAX_EXPRESSION_LENGTH;
|
|
12
|
-
private readonly MAX_EXPRESSION_DEPTH;
|
|
13
|
-
private readonly FORBIDDEN_PATTERNS;
|
|
14
|
-
constructor(logger: LoggerService, repository: RuleRepository, cacheService: CacheService);
|
|
15
|
-
create(input?: CreateRuleDTO): Promise<IRule>;
|
|
16
|
-
findAll(queryParameters: IFindRule): Promise<IPagination<IRule[]>>;
|
|
17
|
-
findAllWithoutPagination(queryParameters: IFindRule): Promise<IRule[]>;
|
|
18
|
-
findById(id: string): Promise<IRule>;
|
|
19
|
-
updateOne(id: string, fieldsToUpdate: Partial<IRule>): Promise<IRule | null>;
|
|
20
|
-
delete(id: string): Promise<void>;
|
|
21
|
-
private logError;
|
|
22
|
-
validateRuleExpression(expression: string): string | null;
|
|
23
|
-
private getFromCache;
|
|
24
|
-
private generateRateLimitingCountCacheKey;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=rule.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|