@recursyve/nestjs-data-filter 7.2.0-beta.8 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/adapters/access-control.adapter.d.ts +11 -1
- package/lib/adapters/access-control.adapter.js +19 -2
- package/lib/adapters/default-access-control.adapter.d.ts +2 -2
- package/lib/adapters/default-access-control.adapter.js +4 -4
- package/lib/adapters/default-export.adapter.js +2 -2
- package/lib/adapters/default-translate.adapter.js +2 -2
- package/lib/data-filter.repository.d.ts +6 -4
- package/lib/data-filter.repository.js +75 -27
- package/lib/data-filter.service.js +2 -2
- package/lib/decorators/include.decorator.d.ts +5 -0
- package/lib/decorators/include.decorator.js +10 -3
- package/lib/decorators/index.d.ts +1 -0
- package/lib/decorators/index.js +2 -1
- package/lib/decorators/required.decorator.d.ts +1 -0
- package/lib/decorators/required.decorator.js +17 -0
- package/lib/decorators/where.decorator.js +5 -3
- package/lib/filter/base-filter.d.ts +4 -0
- package/lib/filter/base-filter.js +11 -1
- package/lib/filter/controllers/dynamic-filter.controller.d.ts +1 -0
- package/lib/filter/controllers/dynamic-filter.controller.js +33 -26
- package/lib/filter/controllers/filter.controller.d.ts +1 -0
- package/lib/filter/controllers/filter.controller.js +33 -26
- package/lib/filter/decorators/inject-filter.decorator.js +2 -2
- package/lib/filter/filter.config.d.ts +1 -0
- package/lib/filter/filter.config.js +3 -2
- package/lib/filter/filter.service.js +31 -11
- package/lib/filter/filters/filter.d.ts +1 -0
- package/lib/filter/filters/filter.js +3 -2
- package/lib/filter/filters/geo-bounds.filter.d.ts +25 -0
- package/lib/filter/filters/geo-bounds.filter.js +27 -0
- package/lib/filter/filters/geo-localization.filter.d.ts +2 -0
- package/lib/filter/filters/geo-localization.filter.js +4 -3
- package/lib/filter/filters/radio.filter.js +4 -1
- package/lib/filter/filters/select.filter.js +4 -1
- package/lib/filter/filters/text.filter.js +4 -1
- package/lib/filter/guards/filter-query.guard.js +3 -3
- package/lib/filter/interceptors/data-file-download.interceptor.js +3 -3
- package/lib/filter/order-rules/enum.order-rule.js +2 -2
- package/lib/filter/type.d.ts +2 -1
- package/lib/filter/type.js +2 -1
- package/lib/index.js +5 -5
- package/lib/models/attributes.model.js +10 -4
- package/lib/models/data-filter.model.js +5 -3
- package/lib/models/distance.model.d.ts +1 -0
- package/lib/models/distance.model.js +4 -4
- package/lib/models/filter.model.d.ts +1 -0
- package/lib/models/filter.model.js +1 -1
- package/lib/models/include.model.d.ts +5 -1
- package/lib/models/include.model.js +1 -1
- package/lib/models/path.model.d.ts +2 -0
- package/lib/models/path.model.js +1 -1
- package/lib/scanners/data-filter.scanner.js +2 -2
- package/lib/scanners/sequelize-model.scanner.js +30 -14
- package/lib/sequelize.utils.d.ts +2 -1
- package/lib/sequelize.utils.js +46 -6
- package/lib/utils/csv.utils.js +2 -2
- package/package.json +27 -28
|
@@ -3,8 +3,12 @@ import { TranslateAdapter } from "../adapters/translate.adapter";
|
|
|
3
3
|
import { DefaultFilterDefinition } from "./filters/default.filter";
|
|
4
4
|
import { FilterConfig, FilterModel } from "./models";
|
|
5
5
|
export declare abstract class BaseFilter<T> implements FilterModel<T> {
|
|
6
|
+
private _translateService;
|
|
6
7
|
[name: string]: FilterConfig | unknown;
|
|
7
8
|
abstract dataDefinition: Type<T>;
|
|
8
9
|
defaultFilter?: DefaultFilterDefinition;
|
|
9
10
|
set translateService(translateService: TranslateAdapter);
|
|
11
|
+
get translateService(): TranslateAdapter;
|
|
12
|
+
getExportedFieldsKeys(): Promise<string[]>;
|
|
13
|
+
getExportedFields(value: T, lang?: string): Promise<any[]>;
|
|
10
14
|
}
|
|
@@ -4,6 +4,7 @@ exports.BaseFilter = void 0;
|
|
|
4
4
|
const filters_1 = require("./filters");
|
|
5
5
|
class BaseFilter {
|
|
6
6
|
set translateService(translateService) {
|
|
7
|
+
this._translateService = translateService;
|
|
7
8
|
for (const key in this) {
|
|
8
9
|
if (!this.hasOwnProperty(key) || key === "dataDefinition") {
|
|
9
10
|
continue;
|
|
@@ -16,7 +17,16 @@ class BaseFilter {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
}
|
|
20
|
+
get translateService() {
|
|
21
|
+
return this._translateService;
|
|
22
|
+
}
|
|
23
|
+
async getExportedFieldsKeys() {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
async getExportedFields(value, lang) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
19
29
|
}
|
|
20
30
|
exports.BaseFilter = BaseFilter;
|
|
21
31
|
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvYmFzZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQXlGO0FBSXpGLE1BQXNCLFVBQVU7SUFPNUIsSUFBVyxnQkFBZ0IsQ0FBQyxnQkFBa0M7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBRTFDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRTtnQkFDdkQsU0FBUzthQUNaO1lBRUQsSUFBSSxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFxQixDQUFDLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxHQUFHLENBQVksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQzthQUM3RDtZQUNELElBQUkscUJBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsQ0FBQyxFQUFFO2dCQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFpQixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO2FBQ2xFO1NBQ0o7SUFDTCxDQUFDO0lBQ0QsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUI7UUFDOUIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQVEsRUFBRSxJQUFhO1FBQ2xELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKO0FBbENELGdDQWtDQyIsImZpbGUiOiJsaWIvZmlsdGVyL2Jhc2UtZmlsdGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlQWRhcHRlciB9IGZyb20gXCIuLi9hZGFwdGVycy90cmFuc2xhdGUuYWRhcHRlclwiO1xuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJEZWZpbml0aW9uLCBHcm91cEZpbHRlciwgR3JvdXBGaWx0ZXJEZWZpbml0aW9uIH0gZnJvbSBcIi4vZmlsdGVyc1wiO1xuaW1wb3J0IHsgRGVmYXVsdEZpbHRlckRlZmluaXRpb24gfSBmcm9tIFwiLi9maWx0ZXJzL2RlZmF1bHQuZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWcsIEZpbHRlck1vZGVsIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsdGVyPFQ+IGltcGxlbWVudHMgRmlsdGVyTW9kZWw8VD4ge1xuICAgIHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZUFkYXB0ZXI7XG5cbiAgICBbbmFtZTogc3RyaW5nXTogRmlsdGVyQ29uZmlnIHwgdW5rbm93bjtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGF0YURlZmluaXRpb246IFR5cGU8VD47XG4gICAgcHVibGljIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyRGVmaW5pdGlvbjtcblxuICAgIHB1YmxpYyBzZXQgdHJhbnNsYXRlU2VydmljZSh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVBZGFwdGVyKSB7XG4gICAgICAgIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UgPSB0cmFuc2xhdGVTZXJ2aWNlO1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eShrZXkpIHx8IGtleSA9PT0gXCJkYXRhRGVmaW5pdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChGaWx0ZXIudmFsaWRhdGUodGhpc1trZXldIGFzIEZpbHRlckRlZmluaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgKHRoaXNba2V5XSBhcyBGaWx0ZXIpLnRyYW5zbGF0ZVNlcnZpY2UgPSB0cmFuc2xhdGVTZXJ2aWNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKEdyb3VwRmlsdGVyLnZhbGlkYXRlKHRoaXNba2V5XSBhcyBHcm91cEZpbHRlckRlZmluaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgKHRoaXNba2V5XSBhcyBHcm91cEZpbHRlcikudHJhbnNsYXRlU2VydmljZSA9IHRyYW5zbGF0ZVNlcnZpY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGdldCB0cmFuc2xhdGVTZXJ2aWNlKCk6IFRyYW5zbGF0ZUFkYXB0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RXhwb3J0ZWRGaWVsZHNLZXlzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRFeHBvcnRlZEZpZWxkcyh2YWx1ZTogVCwgbGFuZz86IHN0cmluZyk6IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -8,6 +8,7 @@ import { FilterResourceValueModel } from "../models/filter-resource-value.model"
|
|
|
8
8
|
export declare abstract class DynamicFilterController<Data> {
|
|
9
9
|
protected readonly filterService: FilterService<Data>;
|
|
10
10
|
private readonly userUserDeserializer;
|
|
11
|
+
private readonly option;
|
|
11
12
|
protected constructor(filterService: FilterService<Data>);
|
|
12
13
|
filter(query: FilterQueryModel, req: any): Promise<FilterResultModel<Data>>;
|
|
13
14
|
filterCount(query: FilterQueryModel, req: any): Promise<number>;
|
|
@@ -15,9 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DynamicFilterController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const __1 = require("../..");
|
|
18
|
+
const constant_1 = require("../../constant");
|
|
18
19
|
const deserializers_1 = require("../../deserializers");
|
|
19
|
-
const data_file_download_interceptor_1 = require("../interceptors/data-file-download.interceptor");
|
|
20
20
|
const filter_query_guard_1 = require("../guards/filter-query.guard");
|
|
21
|
+
const data_file_download_interceptor_1 = require("../interceptors/data-file-download.interceptor");
|
|
21
22
|
class DynamicFilterController {
|
|
22
23
|
constructor(filterService) {
|
|
23
24
|
this.filterService = filterService;
|
|
@@ -50,68 +51,74 @@ class DynamicFilterController {
|
|
|
50
51
|
return await this.filterService.searchConfigValues(search, (_a = await this.getUser(req)) !== null && _a !== void 0 ? _a : {});
|
|
51
52
|
}
|
|
52
53
|
async getUser(req) {
|
|
53
|
-
if (!this.userUserDeserializer) {
|
|
54
|
+
if (!this.userUserDeserializer || this.option.disableAccessControl) {
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
56
57
|
return this.userUserDeserializer.deserializeUser(req);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
__decorate([
|
|
60
|
-
common_1.Inject(),
|
|
61
|
-
common_1.Optional(),
|
|
61
|
+
(0, common_1.Inject)(),
|
|
62
|
+
(0, common_1.Optional)(),
|
|
62
63
|
__metadata("design:type", deserializers_1.UserDeserializer)
|
|
63
64
|
], DynamicFilterController.prototype, "userUserDeserializer", void 0);
|
|
64
65
|
__decorate([
|
|
65
|
-
common_1.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
(0, common_1.Inject)(constant_1.FILTER_OPTION),
|
|
67
|
+
__metadata("design:type", Object)
|
|
68
|
+
], DynamicFilterController.prototype, "option", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, common_1.Post)("filter"),
|
|
71
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
72
|
+
(0, common_1.UseGuards)(filter_query_guard_1.FilterQueryGuard),
|
|
73
|
+
__param(0, (0, common_1.Body)()),
|
|
74
|
+
__param(1, (0, common_1.Req)()),
|
|
69
75
|
__metadata("design:type", Function),
|
|
70
76
|
__metadata("design:paramtypes", [Object, Object]),
|
|
71
77
|
__metadata("design:returntype", Promise)
|
|
72
78
|
], DynamicFilterController.prototype, "filter", null);
|
|
73
79
|
__decorate([
|
|
74
|
-
common_1.Post("filter-count"),
|
|
75
|
-
common_1.HttpCode(common_1.HttpStatus.OK),
|
|
76
|
-
__param(0,
|
|
80
|
+
(0, common_1.Post)("filter-count"),
|
|
81
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
82
|
+
__param(0, (0, common_1.Body)()),
|
|
83
|
+
__param(1, (0, common_1.Req)()),
|
|
77
84
|
__metadata("design:type", Function),
|
|
78
85
|
__metadata("design:paramtypes", [Object, Object]),
|
|
79
86
|
__metadata("design:returntype", Promise)
|
|
80
87
|
], DynamicFilterController.prototype, "filterCount", null);
|
|
81
88
|
__decorate([
|
|
82
|
-
common_1.Post("download/:type"),
|
|
83
|
-
common_1.HttpCode(common_1.HttpStatus.OK),
|
|
84
|
-
common_1.UseInterceptors(data_file_download_interceptor_1.DataFileDownloadInterceptor),
|
|
85
|
-
__param(0, common_1.Body()),
|
|
86
|
-
__param(1, common_1.Param("type")),
|
|
87
|
-
__param(2, common_1.Req()),
|
|
89
|
+
(0, common_1.Post)("download/:type"),
|
|
90
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
91
|
+
(0, common_1.UseInterceptors)(data_file_download_interceptor_1.DataFileDownloadInterceptor),
|
|
92
|
+
__param(0, (0, common_1.Body)()),
|
|
93
|
+
__param(1, (0, common_1.Param)("type")),
|
|
94
|
+
__param(2, (0, common_1.Req)()),
|
|
88
95
|
__metadata("design:type", Function),
|
|
89
96
|
__metadata("design:paramtypes", [Object, String, Object]),
|
|
90
97
|
__metadata("design:returntype", Promise)
|
|
91
98
|
], DynamicFilterController.prototype, "downloadData", null);
|
|
92
99
|
__decorate([
|
|
93
|
-
common_1.Get("filter/config"),
|
|
94
|
-
__param(0, common_1.Req()),
|
|
100
|
+
(0, common_1.Get)("filter/config"),
|
|
101
|
+
__param(0, (0, common_1.Req)()),
|
|
95
102
|
__metadata("design:type", Function),
|
|
96
103
|
__metadata("design:paramtypes", [Object]),
|
|
97
104
|
__metadata("design:returntype", Promise)
|
|
98
105
|
], DynamicFilterController.prototype, "getFilterConfig", null);
|
|
99
106
|
__decorate([
|
|
100
|
-
common_1.Get("filter/config/id"),
|
|
101
|
-
__param(0, common_1.Query()),
|
|
102
|
-
__param(1, common_1.Req()),
|
|
107
|
+
(0, common_1.Get)("filter/config/id"),
|
|
108
|
+
__param(0, (0, common_1.Query)()),
|
|
109
|
+
__param(1, (0, common_1.Req)()),
|
|
103
110
|
__metadata("design:type", Function),
|
|
104
111
|
__metadata("design:paramtypes", [Object, Object]),
|
|
105
112
|
__metadata("design:returntype", Promise)
|
|
106
113
|
], DynamicFilterController.prototype, "searchFilterResourceValue", null);
|
|
107
114
|
__decorate([
|
|
108
|
-
common_1.Get("filter/config/value"),
|
|
109
|
-
__param(0, common_1.Query()),
|
|
110
|
-
__param(1, common_1.Req()),
|
|
115
|
+
(0, common_1.Get)("filter/config/value"),
|
|
116
|
+
__param(0, (0, common_1.Query)()),
|
|
117
|
+
__param(1, (0, common_1.Req)()),
|
|
111
118
|
__metadata("design:type", Function),
|
|
112
119
|
__metadata("design:paramtypes", [Object, Object]),
|
|
113
120
|
__metadata("design:returntype", Promise)
|
|
114
121
|
], DynamicFilterController.prototype, "searchFilterConfigValues", null);
|
|
115
122
|
exports.DynamicFilterController = DynamicFilterController;
|
|
116
123
|
|
|
117
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvY29udHJvbGxlcnMvZHluYW1pYy1maWx0ZXIuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0Fhd0I7QUFDeEIsNkJBQTRGO0FBQzVGLDZDQUErQztBQUMvQyx1REFBdUQ7QUFJdkQscUVBQWdFO0FBQ2hFLG1HQUE2RjtBQUs3RixNQUFzQix1QkFBdUI7SUFRekMsWUFBeUMsYUFBa0M7UUFBbEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO0lBQUcsQ0FBQztJQUt4RSxLQUFLLENBQUMsTUFBTSxDQUFTLEtBQXVCLEVBQVMsR0FBUTtRQUNoRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFJTSxLQUFLLENBQUMsV0FBVyxDQUFTLEtBQXVCLEVBQVMsR0FBUTtRQUNyRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFGLENB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QUcsR0FBRSxDQUFBOzs7O3dFQUdUO0FBR0Q7SUFEQyxJQUFBLFlBQUcsRUFBQyxxQkFBcUIsQ0FBQztJQUV0QixXQUFBLElBQUEsY0FBSyxHQUFFLENBQUE7SUFDUCxXQUFBLElBQUEsWUFBRyxHQUFFLENBQUE7Ozs7dUVBR1Q7QUEzREwsMERBc0VDIiwiZmlsZSI6ImxpYi9maWx0ZXIvY29udHJvbGxlcnMvZHluYW1pYy1maWx0ZXIuY29udHJvbGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9keSxcbiAgICBHZXQsXG4gICAgSHR0cENvZGUsXG4gICAgSHR0cFN0YXR1cyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgUGFyYW0sXG4gICAgUG9zdCxcbiAgICBRdWVyeSxcbiAgICBSZXEsXG4gICAgVXNlR3VhcmRzLFxuICAgIFVzZUludGVyY2VwdG9yc1xufSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IEV4cG9ydFR5cGVzLCBGaWx0ZXJRdWVyeU1vZGVsLCBGaWx0ZXJSZXN1bHRNb2RlbCwgU2VsZWN0RmlsdGVyVmFsdWUgfSBmcm9tIFwiLi4vLi5cIjtcbmltcG9ydCB7IEZJTFRFUl9PUFRJT04gfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRcIjtcbmltcG9ydCB7IFVzZXJEZXNlcmlhbGl6ZXIgfSBmcm9tIFwiLi4vLi4vZGVzZXJpYWxpemVyc1wiO1xuaW1wb3J0IHsgRGF0YUZpbHRlclVzZXJNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdXNlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL2ZpbHRlci5jb25maWdcIjtcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IEZpbHRlclF1ZXJ5R3VhcmQgfSBmcm9tIFwiLi4vZ3VhcmRzL2ZpbHRlci1xdWVyeS5ndWFyZFwiO1xuaW1wb3J0IHsgRGF0YUZpbGVEb3dubG9hZEludGVyY2VwdG9yIH0gZnJvbSBcIi4uL2ludGVyY2VwdG9ycy9kYXRhLWZpbGUtZG93bmxvYWQuaW50ZXJjZXB0b3JcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25TZWFyY2hNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvZmlsdGVyLWNvbmZpZ3VyYXRpb24tc2VhcmNoLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci1jb25maWd1cmF0aW9uLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJSZXNvdXJjZVZhbHVlTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci1yZXNvdXJjZS12YWx1ZS5tb2RlbFwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0ZpbHRlckNvbnRyb2xsZXI8RGF0YT4ge1xuICAgIEBJbmplY3QoKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyVXNlckRlc2VyaWFsaXplcjogVXNlckRlc2VyaWFsaXplcjxEYXRhRmlsdGVyVXNlck1vZGVsPjtcblxuICAgIEBJbmplY3QoRklMVEVSX09QVElPTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbjogRmlsdGVyT3B0aW9uQ29uZmlnO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlPERhdGE+KSB7fVxuXG4gICAgQFBvc3QoXCJmaWx0ZXJcIilcbiAgICBASHR0cENvZGUoSHR0cFN0YXR1cy5PSylcbiAgICBAVXNlR3VhcmRzKEZpbHRlclF1ZXJ5R3VhcmQpXG4gICAgcHVibGljIGFzeW5jIGZpbHRlcihAQm9keSgpIHF1ZXJ5OiBGaWx0ZXJRdWVyeU1vZGVsLCBAUmVxKCkgcmVxOiBhbnkpOiBQcm9taXNlPEZpbHRlclJlc3VsdE1vZGVsPERhdGE+PiB7XG4gICAgICAgIHF1ZXJ5ID0gdGhpcy50cmFuc2Zvcm1RdWVyeShxdWVyeSwgcmVxKTtcbiAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpO1xuICAgICAgICByZXR1cm4gdXNlciA/IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIodXNlciwgcXVlcnkpIDogdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihxdWVyeSk7XG4gICAgfVxuXG4gICAgQFBvc3QoXCJmaWx0ZXItY291bnRcIilcbiAgICBASHR0cENvZGUoSHR0cFN0YXR1cy5PSylcbiAgICBwdWJsaWMgYXN5bmMgZmlsdGVyQ291bnQoQEJvZHkoKSBxdWVyeTogRmlsdGVyUXVlcnlNb2RlbCwgQFJlcSgpIHJlcTogYW55KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgcXVlcnkgPSB0aGlzLnRyYW5zZm9ybVF1ZXJ5KHF1ZXJ5LCByZXEpO1xuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRVc2VyKHJlcSk7XG4gICAgICAgIHJldHVybiB1c2VyID8gdGhpcy5maWx0ZXJTZXJ2aWNlLmNvdW50KHVzZXIsIHF1ZXJ5KSA6IHRoaXMuZmlsdGVyU2VydmljZS5jb3VudChxdWVyeSk7XG4gICAgfVxuXG4gICAgQFBvc3QoXCJkb3dubG9hZC86dHlwZVwiKVxuICAgIEBIdHRwQ29kZShIdHRwU3RhdHVzLk9LKVxuICAgIEBVc2VJbnRlcmNlcHRvcnMoRGF0YUZpbGVEb3dubG9hZEludGVyY2VwdG9yKVxuICAgIHB1YmxpYyBhc3luYyBkb3dubG9hZERhdGEoXG4gICAgICAgIEBCb2R5KCkgcXVlcnk6IEZpbHRlclF1ZXJ5TW9kZWwsXG4gICAgICAgIEBQYXJhbShcInR5cGVcIikgdHlwZTogRXhwb3J0VHlwZXMsXG4gICAgICAgIEBSZXEoKSByZXE6IGFueVxuICAgICk6IFByb21pc2U8QnVmZmVyIHwgc3RyaW5nPiB7XG4gICAgICAgIHF1ZXJ5ID0gdGhpcy50cmFuc2Zvcm1RdWVyeShxdWVyeSwgcmVxKTtcbiAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLmRvd25sb2FkRGF0YSh1c2VyLCB0eXBlLCBxdWVyeSk7XG4gICAgfVxuXG4gICAgQEdldChcImZpbHRlci9jb25maWdcIilcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsdGVyQ29uZmlnKEBSZXEoKSByZXE6IGFueSk6IFByb21pc2U8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmlsdGVyU2VydmljZS5nZXRDb25maWcoYXdhaXQgdGhpcy5nZXRVc2VyKHJlcSkgPz8ge30gYXMgRGF0YUZpbHRlclVzZXJNb2RlbCk7XG4gICAgfVxuXG4gICAgQEdldChcImZpbHRlci9jb25maWcvaWRcIilcbiAgICBwdWJsaWMgYXN5bmMgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShcbiAgICAgICAgQFF1ZXJ5KCkgc2VhcmNoOiBGaWx0ZXJSZXNvdXJjZVZhbHVlTW9kZWwsXG4gICAgICAgIEBSZXEoKSByZXE6IGFueVxuICAgICk6IFByb21pc2U8U2VsZWN0RmlsdGVyVmFsdWU+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmlsdGVyU2VydmljZS5maW5kUmVzb3VyY2VWYWx1ZUJ5SWQoc2VhcmNoLCBhd2FpdCB0aGlzLmdldFVzZXIocmVxKSA/PyB7fSBhcyBEYXRhRmlsdGVyVXNlck1vZGVsKTtcbiAgICB9XG5cbiAgICBAR2V0KFwiZmlsdGVyL2NvbmZpZy92YWx1ZVwiKVxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2hGaWx0ZXJDb25maWdWYWx1ZXMoXG4gICAgICAgIEBRdWVyeSgpIHNlYXJjaDogRmlsdGVyQ29uZmlndXJhdGlvblNlYXJjaE1vZGVsLFxuICAgICAgICBAUmVxKCkgcmVxOiBhbnlcbiAgICApOiBQcm9taXNlPFNlbGVjdEZpbHRlclZhbHVlW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZmlsdGVyU2VydmljZS5zZWFyY2hDb25maWdWYWx1ZXMoc2VhcmNoLCBhd2FpdCB0aGlzLmdldFVzZXIocmVxKSA/PyB7fSBhcyBEYXRhRmlsdGVyVXNlck1vZGVsKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0VXNlcihyZXE6IGFueSk6IFByb21pc2U8RGF0YUZpbHRlclVzZXJNb2RlbD4ge1xuICAgICAgICBpZiAoIXRoaXMudXNlclVzZXJEZXNlcmlhbGl6ZXIgfHwgdGhpcy5vcHRpb24uZGlzYWJsZUFjY2Vzc0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclVzZXJEZXNlcmlhbGl6ZXIuZGVzZXJpYWxpemVVc2VyKHJlcSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRyYW5zZm9ybVF1ZXJ5KHF1ZXJ5OiBGaWx0ZXJRdWVyeU1vZGVsLCByZXE6IGFueSk6IEZpbHRlclF1ZXJ5TW9kZWw7XG59XG4iXX0=
|
|
@@ -8,6 +8,7 @@ import { FilterResourceValueModel } from "../models/filter-resource-value.model"
|
|
|
8
8
|
export declare class FilterController<Data> {
|
|
9
9
|
protected readonly filterService: FilterService<Data>;
|
|
10
10
|
private readonly userUserDeserializer;
|
|
11
|
+
private readonly option;
|
|
11
12
|
constructor(filterService: FilterService<Data>);
|
|
12
13
|
filter(query: FilterQueryModel, req: any): Promise<FilterResultModel<Data>>;
|
|
13
14
|
filterCount(query: FilterQueryModel, req: any): Promise<number>;
|
|
@@ -15,9 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.FilterController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const __1 = require("../..");
|
|
18
|
+
const constant_1 = require("../../constant");
|
|
18
19
|
const deserializers_1 = require("../../deserializers");
|
|
19
|
-
const data_file_download_interceptor_1 = require("../interceptors/data-file-download.interceptor");
|
|
20
20
|
const filter_query_guard_1 = require("../guards/filter-query.guard");
|
|
21
|
+
const data_file_download_interceptor_1 = require("../interceptors/data-file-download.interceptor");
|
|
21
22
|
class FilterController {
|
|
22
23
|
constructor(filterService) {
|
|
23
24
|
this.filterService = filterService;
|
|
@@ -47,68 +48,74 @@ class FilterController {
|
|
|
47
48
|
return await this.filterService.searchConfigValues(search, (_a = await this.getUser(req)) !== null && _a !== void 0 ? _a : {});
|
|
48
49
|
}
|
|
49
50
|
async getUser(req) {
|
|
50
|
-
if (!this.userUserDeserializer) {
|
|
51
|
+
if (!this.userUserDeserializer || this.option.disableAccessControl) {
|
|
51
52
|
return null;
|
|
52
53
|
}
|
|
53
54
|
return this.userUserDeserializer.deserializeUser(req);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
__decorate([
|
|
57
|
-
common_1.Inject(),
|
|
58
|
-
common_1.Optional(),
|
|
58
|
+
(0, common_1.Inject)(),
|
|
59
|
+
(0, common_1.Optional)(),
|
|
59
60
|
__metadata("design:type", deserializers_1.UserDeserializer)
|
|
60
61
|
], FilterController.prototype, "userUserDeserializer", void 0);
|
|
61
62
|
__decorate([
|
|
62
|
-
common_1.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
(0, common_1.Inject)(constant_1.FILTER_OPTION),
|
|
64
|
+
__metadata("design:type", Object)
|
|
65
|
+
], FilterController.prototype, "option", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, common_1.Post)("filter"),
|
|
68
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
69
|
+
(0, common_1.UseGuards)(filter_query_guard_1.FilterQueryGuard),
|
|
70
|
+
__param(0, (0, common_1.Body)()),
|
|
71
|
+
__param(1, (0, common_1.Req)()),
|
|
66
72
|
__metadata("design:type", Function),
|
|
67
73
|
__metadata("design:paramtypes", [Object, Object]),
|
|
68
74
|
__metadata("design:returntype", Promise)
|
|
69
75
|
], FilterController.prototype, "filter", null);
|
|
70
76
|
__decorate([
|
|
71
|
-
common_1.Post("filter-count"),
|
|
72
|
-
common_1.HttpCode(common_1.HttpStatus.OK),
|
|
73
|
-
__param(0,
|
|
77
|
+
(0, common_1.Post)("filter-count"),
|
|
78
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
79
|
+
__param(0, (0, common_1.Body)()),
|
|
80
|
+
__param(1, (0, common_1.Req)()),
|
|
74
81
|
__metadata("design:type", Function),
|
|
75
82
|
__metadata("design:paramtypes", [Object, Object]),
|
|
76
83
|
__metadata("design:returntype", Promise)
|
|
77
84
|
], FilterController.prototype, "filterCount", null);
|
|
78
85
|
__decorate([
|
|
79
|
-
common_1.Post("download/:type"),
|
|
80
|
-
common_1.HttpCode(common_1.HttpStatus.OK),
|
|
81
|
-
common_1.UseInterceptors(data_file_download_interceptor_1.DataFileDownloadInterceptor),
|
|
82
|
-
__param(0, common_1.Body()),
|
|
83
|
-
__param(1, common_1.Param("type")),
|
|
84
|
-
__param(2, common_1.Req()),
|
|
86
|
+
(0, common_1.Post)("download/:type"),
|
|
87
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
88
|
+
(0, common_1.UseInterceptors)(data_file_download_interceptor_1.DataFileDownloadInterceptor),
|
|
89
|
+
__param(0, (0, common_1.Body)()),
|
|
90
|
+
__param(1, (0, common_1.Param)("type")),
|
|
91
|
+
__param(2, (0, common_1.Req)()),
|
|
85
92
|
__metadata("design:type", Function),
|
|
86
93
|
__metadata("design:paramtypes", [Object, String, Object]),
|
|
87
94
|
__metadata("design:returntype", Promise)
|
|
88
95
|
], FilterController.prototype, "downloadData", null);
|
|
89
96
|
__decorate([
|
|
90
|
-
common_1.Get("filter/config"),
|
|
91
|
-
__param(0, common_1.Req()),
|
|
97
|
+
(0, common_1.Get)("filter/config"),
|
|
98
|
+
__param(0, (0, common_1.Req)()),
|
|
92
99
|
__metadata("design:type", Function),
|
|
93
100
|
__metadata("design:paramtypes", [Object]),
|
|
94
101
|
__metadata("design:returntype", Promise)
|
|
95
102
|
], FilterController.prototype, "getFilterConfig", null);
|
|
96
103
|
__decorate([
|
|
97
|
-
common_1.Get("filter/config/id"),
|
|
98
|
-
__param(0, common_1.Query()),
|
|
99
|
-
__param(1, common_1.Req()),
|
|
104
|
+
(0, common_1.Get)("filter/config/id"),
|
|
105
|
+
__param(0, (0, common_1.Query)()),
|
|
106
|
+
__param(1, (0, common_1.Req)()),
|
|
100
107
|
__metadata("design:type", Function),
|
|
101
108
|
__metadata("design:paramtypes", [Object, Object]),
|
|
102
109
|
__metadata("design:returntype", Promise)
|
|
103
110
|
], FilterController.prototype, "searchFilterResourceValue", null);
|
|
104
111
|
__decorate([
|
|
105
|
-
common_1.Get("filter/config/value"),
|
|
106
|
-
__param(0, common_1.Query()),
|
|
107
|
-
__param(1, common_1.Req()),
|
|
112
|
+
(0, common_1.Get)("filter/config/value"),
|
|
113
|
+
__param(0, (0, common_1.Query)()),
|
|
114
|
+
__param(1, (0, common_1.Req)()),
|
|
108
115
|
__metadata("design:type", Function),
|
|
109
116
|
__metadata("design:paramtypes", [Object, Object]),
|
|
110
117
|
__metadata("design:returntype", Promise)
|
|
111
118
|
], FilterController.prototype, "searchFilterConfigValues", null);
|
|
112
119
|
exports.FilterController = FilterController;
|
|
113
120
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvY29udHJvbGxlcnMvZmlsdGVyLmNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBYXdCO0FBQ3hCLDZCQUE0RjtBQUM1Riw2Q0FBK0M7QUFDL0MsdURBQXVEO0FBSXZELHFFQUFnRTtBQUNoRSxtR0FBNkY7QUFLN0YsTUFBYSxnQkFBZ0I7SUFRekIsWUFBK0IsYUFBa0M7UUFBbEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO0lBQUcsQ0FBQztJQUs5RCxLQUFLLENBQUMsTUFBTSxDQUFTLEtBQXVCLEVBQVMsR0FBUTtRQUNoRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUlNLEtBQUssQ0FBQyxXQUFXLENBQVMsS0FBdUIsRUFBUyxHQUFRO1FBQ3JFLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBS00sS0FBSyxDQUFDLFlBQVksQ0FDYixLQUF1QixFQUNoQixJQUFpQixFQUN6QixHQUFRO1FBRWYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sTUFB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anMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJvZHksXG4gICAgR2V0LFxuICAgIEh0dHBDb2RlLFxuICAgIEh0dHBTdGF0dXMsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFBhcmFtLFxuICAgIFBvc3QsXG4gICAgUXVlcnksXG4gICAgUmVxLFxuICAgIFVzZUd1YXJkcyxcbiAgICBVc2VJbnRlcmNlcHRvcnNcbn0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBFeHBvcnRUeXBlcywgRmlsdGVyUXVlcnlNb2RlbCwgRmlsdGVyUmVzdWx0TW9kZWwsIFNlbGVjdEZpbHRlclZhbHVlIH0gZnJvbSBcIi4uLy4uXCI7XG5pbXBvcnQgeyBGSUxURVJfT1BUSU9OIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50XCI7XG5pbXBvcnQgeyBVc2VyRGVzZXJpYWxpemVyIH0gZnJvbSBcIi4uLy4uL2Rlc2VyaWFsaXplcnNcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJVc2VyTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3VzZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlck9wdGlvbkNvbmZpZyB9IGZyb20gXCIuLi9maWx0ZXIuY29uZmlnXCI7XG5pbXBvcnQgeyBGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2ZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBGaWx0ZXJRdWVyeUd1YXJkIH0gZnJvbSBcIi4uL2d1YXJkcy9maWx0ZXItcXVlcnkuZ3VhcmRcIjtcbmltcG9ydCB7IERhdGFGaWxlRG93bmxvYWRJbnRlcmNlcHRvciB9IGZyb20gXCIuLi9pbnRlcmNlcHRvcnMvZGF0YS1maWxlLWRvd25sb2FkLmludGVyY2VwdG9yXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uU2VhcmNoTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci1jb25maWd1cmF0aW9uLXNlYXJjaC5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9maWx0ZXItY29uZmlndXJhdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyUmVzb3VyY2VWYWx1ZU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9maWx0ZXItcmVzb3VyY2UtdmFsdWUubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbnRyb2xsZXI8RGF0YT4ge1xuICAgIEBJbmplY3QoKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyVXNlckRlc2VyaWFsaXplcjogVXNlckRlc2VyaWFsaXplcjxEYXRhRmlsdGVyVXNlck1vZGVsPjtcblxuICAgIEBJbmplY3QoRklMVEVSX09QVElPTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbjogRmlsdGVyT3B0aW9uQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2U8RGF0YT4pIHt9XG5cbiAgICBAUG9zdChcImZpbHRlclwiKVxuICAgIEBIdHRwQ29kZShIdHRwU3RhdHVzLk9LKVxuICAgIEBVc2VHdWFyZHMoRmlsdGVyUXVlcnlHdWFyZClcbiAgICBwdWJsaWMgYXN5bmMgZmlsdGVyKEBCb2R5KCkgcXVlcnk6IEZpbHRlclF1ZXJ5TW9kZWwsIEBSZXEoKSByZXE6IGFueSk6IFByb21pc2U8RmlsdGVyUmVzdWx0TW9kZWw8RGF0YT4+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpO1xuICAgICAgICByZXR1cm4gdXNlciA/IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIodXNlciwgcXVlcnkpIDogdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihxdWVyeSk7XG4gICAgfVxuXG4gICAgQFBvc3QoXCJmaWx0ZXItY291bnRcIilcbiAgICBASHR0cENvZGUoSHR0cFN0YXR1cy5PSylcbiAgICBwdWJsaWMgYXN5bmMgZmlsdGVyQ291bnQoQEJvZHkoKSBxdWVyeTogRmlsdGVyUXVlcnlNb2RlbCwgQFJlcSgpIHJlcTogYW55KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpO1xuICAgICAgICByZXR1cm4gdXNlciA/IHRoaXMuZmlsdGVyU2VydmljZS5jb3VudCh1c2VyLCBxdWVyeSkgOiB0aGlzLmZpbHRlclNlcnZpY2UuY291bnQocXVlcnkpO1xuICAgIH1cblxuICAgIEBQb3N0KFwiZG93bmxvYWQvOnR5cGVcIilcbiAgICBASHR0cENvZGUoSHR0cFN0YXR1cy5PSylcbiAgICBAVXNlSW50ZXJjZXB0b3JzKERhdGFGaWxlRG93bmxvYWRJbnRlcmNlcHRvcilcbiAgICBwdWJsaWMgYXN5bmMgZG93bmxvYWREYXRhKFxuICAgICAgICBAQm9keSgpIHF1ZXJ5OiBGaWx0ZXJRdWVyeU1vZGVsLFxuICAgICAgICBAUGFyYW0oXCJ0eXBlXCIpIHR5cGU6IEV4cG9ydFR5cGVzLFxuICAgICAgICBAUmVxKCkgcmVxOiBhbnlcbiAgICApOiBQcm9taXNlPEJ1ZmZlciB8IHN0cmluZz4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRVc2VyKHJlcSk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmZpbHRlclNlcnZpY2UuZG93bmxvYWREYXRhKHVzZXIsIHR5cGUsIHF1ZXJ5KTtcbiAgICB9XG5cbiAgICBAR2V0KFwiZmlsdGVyL2NvbmZpZ1wiKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWx0ZXJDb25maWcoQFJlcSgpIHJlcTogYW55KTogUHJvbWlzZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLmdldENvbmZpZyhhd2FpdCB0aGlzLmdldFVzZXIocmVxKSA/PyB7fSBhcyBEYXRhRmlsdGVyVXNlck1vZGVsKTtcbiAgICB9XG5cbiAgICBAR2V0KFwiZmlsdGVyL2NvbmZpZy9pZFwiKVxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2hGaWx0ZXJSZXNvdXJjZVZhbHVlKFxuICAgICAgICBAUXVlcnkoKSBzZWFyY2g6IEZpbHRlclJlc291cmNlVmFsdWVNb2RlbCxcbiAgICAgICAgQFJlcSgpIHJlcTogYW55XG4gICAgKTogUHJvbWlzZTxTZWxlY3RGaWx0ZXJWYWx1ZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbmRSZXNvdXJjZVZhbHVlQnlJZChzZWFyY2gsIGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpID8/IHt9IGFzIERhdGFGaWx0ZXJVc2VyTW9kZWwpO1xuICAgIH1cblxuICAgIEBHZXQoXCJmaWx0ZXIvY29uZmlnL3ZhbHVlXCIpXG4gICAgcHVibGljIGFzeW5jIHNlYXJjaEZpbHRlckNvbmZpZ1ZhbHVlcyhcbiAgICAgICAgQFF1ZXJ5KCkgc2VhcmNoOiBGaWx0ZXJDb25maWd1cmF0aW9uU2VhcmNoTW9kZWwsXG4gICAgICAgIEBSZXEoKSByZXE6IGFueVxuICAgICk6IFByb21pc2U8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLnNlYXJjaENvbmZpZ1ZhbHVlcyhzZWFyY2gsIGF3YWl0IHRoaXMuZ2V0VXNlcihyZXEpID8/IHt9IGFzIERhdGFGaWx0ZXJVc2VyTW9kZWwpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRVc2VyKHJlcTogYW55KTogUHJvbWlzZTxEYXRhRmlsdGVyVXNlck1vZGVsPiB7XG4gICAgICAgIGlmICghdGhpcy51c2VyVXNlckRlc2VyaWFsaXplciB8fCB0aGlzLm9wdGlvbi5kaXNhYmxlQWNjZXNzQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51c2VyVXNlckRlc2VyaWFsaXplci5kZXNlcmlhbGl6ZVVzZXIocmVxKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.InjectFilter = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const filter_utils_1 = require("../filter.utils");
|
|
6
|
-
const InjectFilter = (filter) => common_1.Inject(filter_utils_1.FilterUtils.getProviderToken(filter));
|
|
6
|
+
const InjectFilter = (filter) => (0, common_1.Inject)(filter_utils_1.FilterUtils.getProviderToken(filter));
|
|
7
7
|
exports.InjectFilter = InjectFilter;
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvZGVjb3JhdG9ycy9pbmplY3QtZmlsdGVyLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBOEM7QUFFOUMsa0RBQThDO0FBRXZDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBQSxlQUFNLEVBQUMsMEJBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQS9GLFFBQUEsWUFBWSxnQkFBbUYiLCJmaWxlIjoibGliL2ZpbHRlci9kZWNvcmF0b3JzL2luamVjdC1maWx0ZXIuZGVjb3JhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBCYXNlRmlsdGVyIH0gZnJvbSBcIi4uL2Jhc2UtZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJVdGlscyB9IGZyb20gXCIuLi9maWx0ZXIudXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IEluamVjdEZpbHRlciA9IChmaWx0ZXI6IFR5cGU8QmFzZUZpbHRlcjxhbnk+PikgPT4gSW5qZWN0KEZpbHRlclV0aWxzLmdldFByb3ZpZGVyVG9rZW4oZmlsdGVyKSk7XG4iXX0=
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defaultFilterOptionConfig = void 0;
|
|
4
4
|
exports.defaultFilterOptionConfig = {
|
|
5
|
-
maxPage: 100
|
|
5
|
+
maxPage: 100,
|
|
6
|
+
disableAccessControl: false
|
|
6
7
|
};
|
|
7
8
|
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9maWx0ZXIvZmlsdGVyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLYSxRQUFBLHlCQUF5QixHQUF1QjtJQUN6RCxPQUFPLEVBQUUsR0FBRztJQUNaLG9CQUFvQixFQUFFLEtBQUs7Q0FDOUIsQ0FBQyIsImZpbGUiOiJsaWIvZmlsdGVyL2ZpbHRlci5jb25maWcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZpbHRlck9wdGlvbkNvbmZpZyB7XG4gICAgbWF4UGFnZT86IG51bWJlcjtcbiAgICBkaXNhYmxlQWNjZXNzQ29udHJvbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RmlsdGVyT3B0aW9uQ29uZmlnOiBGaWx0ZXJPcHRpb25Db25maWcgPSB7XG4gICAgbWF4UGFnZTogMTAwLFxuICAgIGRpc2FibGVBY2Nlc3NDb250cm9sOiBmYWxzZVxufTtcbiJdfQ==
|