@lenne.tech/nest-server 3.1.3 → 3.3.1
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/dist/core/common/args/filter.args.d.ts +5 -0
- package/dist/core/common/args/filter.args.js +10 -0
- package/dist/core/common/args/filter.args.js.map +1 -1
- package/dist/core/common/args/pagination.args.d.ts +8 -1
- package/dist/core/common/args/pagination.args.js +24 -6
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
- package/dist/core/common/decorators/restricted.decorator.js +16 -5
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/helpers/context.helper.js +15 -5
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +3 -3
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.d.ts +4 -4
- package/dist/core/common/helpers/input.helper.js +13 -7
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +11 -8
- package/dist/core/common/helpers/service.helper.js +50 -12
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.d.ts +8 -2
- package/dist/core/common/inputs/combined-filter.input.js +16 -5
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.d.ts +8 -0
- package/dist/core/common/inputs/core-input.input.js +15 -0
- package/dist/core/common/inputs/core-input.input.js.map +1 -0
- package/dist/core/common/inputs/filter.input.d.ts +7 -1
- package/dist/core/common/inputs/filter.input.js +14 -1
- package/dist/core/common/inputs/filter.input.js.map +1 -1
- package/dist/core/common/inputs/single-filter.input.d.ts +2 -1
- package/dist/core/common/inputs/single-filter.input.js +10 -1
- package/dist/core/common/inputs/single-filter.input.js.map +1 -1
- package/dist/core/common/inputs/sort.input.d.ts +2 -1
- package/dist/core/common/inputs/sort.input.js +7 -1
- package/dist/core/common/inputs/sort.input.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/core-persistence-model.interface.d.ts +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +3 -15
- package/dist/core/common/models/core-model.model.d.ts +6 -0
- package/dist/core/common/models/core-model.model.js +14 -5
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/models/core-persistence.model.d.ts +5 -29
- package/dist/core/common/models/core-persistence.model.js +19 -41
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.d.ts +2 -3
- package/dist/core/common/pipes/check-input.pipe.js +5 -20
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.d.ts +4 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js +40 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -0
- package/dist/core/common/types/plain-input.type.d.ts +3 -0
- package/dist/core/common/types/plain-input.type.js +3 -0
- package/dist/core/common/types/plain-input.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.model.d.ts +3 -1
- package/dist/core/modules/auth/core-auth.model.js +7 -1
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +3 -0
- package/dist/core/modules/user/core-user.model.js +9 -4
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +9 -13
- package/dist/core/modules/user/core-user.service.js +38 -67
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user-create.input.js +4 -0
- package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user.input.d.ts +2 -1
- package/dist/core/modules/user/inputs/core-user.input.js +12 -2
- package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
- package/dist/core.module.js +4 -4
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +4 -2
- package/dist/server/common/models/persistence.model.js +6 -2
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/modules/auth/auth.model.d.ts +1 -0
- package/dist/server/modules/auth/auth.model.js +4 -0
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
- package/dist/server/modules/user/inputs/user.input.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +3 -2
- package/dist/server/modules/user/user.model.js +9 -5
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +2 -2
- package/dist/server/modules/user/user.resolver.js +10 -12
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +6 -6
- package/dist/server/modules/user/user.service.js +12 -4
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +26 -26
- package/src/core/common/args/filter.args.ts +22 -1
- package/src/core/common/args/pagination.args.ts +42 -7
- package/src/core/common/decorators/restricted.decorator.ts +24 -5
- package/src/core/common/helpers/context.helper.ts +14 -3
- package/src/core/common/helpers/filter.helper.ts +3 -3
- package/src/core/common/helpers/input.helper.ts +17 -11
- package/src/core/common/helpers/service.helper.ts +96 -31
- package/src/core/common/inputs/combined-filter.input.ts +30 -9
- package/src/core/common/inputs/core-input.input.ts +36 -0
- package/src/core/common/inputs/filter.input.ts +27 -3
- package/src/core/common/inputs/single-filter.input.ts +7 -6
- package/src/core/common/inputs/sort.input.ts +4 -3
- package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
- package/src/core/common/interfaces/core-persistence-model.interface.ts +1 -0
- package/src/core/common/interfaces/server-options.interface.ts +3 -33
- package/src/core/common/models/core-model.model.ts +42 -3
- package/src/core/common/models/core-persistence.model.ts +33 -120
- package/src/core/common/pipes/check-input.pipe.ts +13 -33
- package/src/core/common/pipes/map-and-validate.pipe.ts +32 -0
- package/src/core/common/types/plain-input.type.ts +6 -0
- package/src/core/modules/auth/core-auth.model.ts +15 -1
- package/src/core/modules/auth/core-auth.resolver.ts +1 -1
- package/src/core/modules/user/core-user.model.ts +16 -4
- package/src/core/modules/user/core-user.service.ts +59 -115
- package/src/core/modules/user/inputs/core-user-create.input.ts +5 -1
- package/src/core/modules/user/inputs/core-user.input.ts +13 -8
- package/src/core.module.ts +13 -6
- package/src/index.ts +6 -2
- package/src/server/common/models/persistence.model.ts +16 -2
- package/src/server/modules/auth/auth.model.ts +13 -0
- package/src/server/modules/user/inputs/user-create.input.ts +4 -0
- package/src/server/modules/user/inputs/user.input.ts +4 -0
- package/src/server/modules/user/user.model.ts +18 -5
- package/src/server/modules/user/user.resolver.ts +15 -19
- package/src/server/modules/user/user.service.ts +22 -7
|
@@ -2,4 +2,9 @@ import { FilterInput } from '../inputs/filter.input';
|
|
|
2
2
|
import { PaginationArgs } from './pagination.args';
|
|
3
3
|
export declare class FilterArgs extends PaginationArgs {
|
|
4
4
|
filter?: FilterInput;
|
|
5
|
+
map(data: Partial<this> | Record<string, any>, options?: {
|
|
6
|
+
cloneDeep?: boolean;
|
|
7
|
+
funcAllowed?: boolean;
|
|
8
|
+
mapId?: boolean;
|
|
9
|
+
}): this;
|
|
5
10
|
}
|
|
@@ -15,6 +15,16 @@ const graphql_1 = require("@nestjs/graphql");
|
|
|
15
15
|
const filter_input_1 = require("../inputs/filter.input");
|
|
16
16
|
const pagination_args_1 = require("./pagination.args");
|
|
17
17
|
let FilterArgs = class FilterArgs extends pagination_args_1.PaginationArgs {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.filter = undefined;
|
|
21
|
+
}
|
|
22
|
+
map(data, options = {}) {
|
|
23
|
+
super.map(data, options);
|
|
24
|
+
this.filter = data.filter ? filter_input_1.FilterInput.map(data.filter, options) : undefined;
|
|
25
|
+
Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
18
28
|
};
|
|
19
29
|
__decorate([
|
|
20
30
|
(0, graphql_1.Field)((type) => filter_input_1.FilterInput, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/filter.args.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,6CAAkD;AAClD,yDAAqD;AACrD,uDAAmD;AAGnD,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,gCAAc;
|
|
1
|
+
{"version":3,"file":"filter.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/filter.args.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,6CAAkD;AAClD,yDAAqD;AACrD,uDAAmD;AAGnD,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,gCAAc;IAA9C;;QASE,WAAM,GAAiB,SAAS,CAAC;IAsBnC,CAAC;IAbC,GAAG,CACD,IAAyC,EACzC,UAII,EAAE;QAEN,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,0BAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAtBC;IALC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAAW,EAAE;QAC5B,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;8BACJ,0BAAW;0CAAa;AATtB,UAAU;IADtB,IAAA,kBAAQ,GAAE;GACE,UAAU,CA+BtB;AA/BY,gCAAU"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { CoreInput } from '../inputs/core-input.input';
|
|
1
2
|
import { SortInput } from '../inputs/sort.input';
|
|
2
|
-
export declare class PaginationArgs {
|
|
3
|
+
export declare class PaginationArgs extends CoreInput {
|
|
3
4
|
limit?: number;
|
|
4
5
|
offset?: number;
|
|
5
6
|
skip?: number;
|
|
6
7
|
sort?: SortInput[];
|
|
7
8
|
take?: number;
|
|
9
|
+
init(): this;
|
|
10
|
+
map(data: Partial<this> | Record<string, any>, options?: {
|
|
11
|
+
cloneDeep?: boolean;
|
|
12
|
+
funcAllowed?: boolean;
|
|
13
|
+
mapId?: boolean;
|
|
14
|
+
}): this;
|
|
8
15
|
}
|
|
@@ -12,13 +12,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PaginationArgs = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const graphql_1 = require("@nestjs/graphql");
|
|
15
|
+
const model_helper_1 = require("../helpers/model.helper");
|
|
16
|
+
const core_input_input_1 = require("../inputs/core-input.input");
|
|
15
17
|
const sort_input_1 = require("../inputs/sort.input");
|
|
16
|
-
let PaginationArgs = class PaginationArgs {
|
|
18
|
+
let PaginationArgs = class PaginationArgs extends core_input_input_1.CoreInput {
|
|
17
19
|
constructor() {
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.limit = undefined;
|
|
22
|
+
this.offset = undefined;
|
|
23
|
+
this.skip = undefined;
|
|
24
|
+
this.sort = undefined;
|
|
25
|
+
this.take = undefined;
|
|
26
|
+
}
|
|
27
|
+
init() {
|
|
28
|
+
super.init();
|
|
29
|
+
this.limit = this.limit === undefined ? 25 : this.limit;
|
|
30
|
+
this.offset = this.offset === undefined ? 0 : this.offset;
|
|
31
|
+
this.skip = this.skip === undefined ? 0 : this.skip;
|
|
32
|
+
this.take = this.take === undefined ? 0 : this.take;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
map(data, options = {}) {
|
|
36
|
+
super.map(data, options);
|
|
37
|
+
this.sort = model_helper_1.ModelHelper.maps(data.sort, sort_input_1.SortInput, options.cloneDeep);
|
|
38
|
+
Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
|
|
39
|
+
return this;
|
|
22
40
|
}
|
|
23
41
|
};
|
|
24
42
|
__decorate([
|
|
@@ -44,7 +62,7 @@ __decorate([
|
|
|
44
62
|
(0, graphql_1.Field)((type) => graphql_1.Int, {
|
|
45
63
|
description: 'Alias for offset',
|
|
46
64
|
nullable: true,
|
|
47
|
-
defaultValue:
|
|
65
|
+
defaultValue: undefined,
|
|
48
66
|
}),
|
|
49
67
|
(0, class_validator_1.IsOptional)(),
|
|
50
68
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/pagination.args.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkD;AAClD,6CAAuD;AACvD,qDAAiD;AAGjD,IAAa,cAAc,GAA3B,MAAa,
|
|
1
|
+
{"version":3,"file":"pagination.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/pagination.args.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,7 @@ export declare const getRestricted: (object: unknown, propertyKey: string) => an
|
|
|
4
4
|
export declare const checkRestricted: (data: any, user: {
|
|
5
5
|
id: any;
|
|
6
6
|
hasRole: (roles: string[]) => boolean;
|
|
7
|
+
}, options?: {
|
|
8
|
+
ignoreUndefined?: boolean;
|
|
9
|
+
throwError?: boolean;
|
|
7
10
|
}, processedObjects?: any[]) => any;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkRestricted = exports.getRestricted = exports.Restricted = void 0;
|
|
4
4
|
require("reflect-metadata");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
5
6
|
const role_enum_1 = require("../enums/role.enum");
|
|
6
7
|
const restrictedMetaKey = Symbol('restricted');
|
|
7
8
|
const Restricted = (...roles) => {
|
|
@@ -12,7 +13,8 @@ const getRestricted = (object, propertyKey) => {
|
|
|
12
13
|
return Reflect.getMetadata(restrictedMetaKey, object, propertyKey);
|
|
13
14
|
};
|
|
14
15
|
exports.getRestricted = getRestricted;
|
|
15
|
-
const checkRestricted = (data, user, processedObjects = []) => {
|
|
16
|
+
const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
17
|
+
const config = Object.assign({ ignoreUndefined: true, throwError: true }, options);
|
|
16
18
|
if (!data || typeof data !== 'object') {
|
|
17
19
|
return data;
|
|
18
20
|
}
|
|
@@ -21,9 +23,12 @@ const checkRestricted = (data, user, processedObjects = []) => {
|
|
|
21
23
|
}
|
|
22
24
|
processedObjects.push(data);
|
|
23
25
|
if (Array.isArray(data)) {
|
|
24
|
-
return data.map((item) => (0, exports.checkRestricted)(item, user, processedObjects));
|
|
26
|
+
return data.map((item) => (0, exports.checkRestricted)(item, user, options, processedObjects));
|
|
25
27
|
}
|
|
26
28
|
for (const propertyKey of Object.keys(data)) {
|
|
29
|
+
if (data[propertyKey] === undefined && config.ignoreUndefined) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
27
32
|
const roles = (0, exports.getRestricted)(data, propertyKey);
|
|
28
33
|
if (roles && roles.some((value) => !!value)) {
|
|
29
34
|
if (!user || !user.hasRole(roles)) {
|
|
@@ -33,15 +38,21 @@ const checkRestricted = (data, user, processedObjects = []) => {
|
|
|
33
38
|
!(data.ownerIds === userId ||
|
|
34
39
|
(Array.isArray(data.ownerIds) &&
|
|
35
40
|
data.ownerIds.some((item) => (item.id ? item.id.toString() === userId : item.toString() === userId))))) {
|
|
36
|
-
|
|
41
|
+
if (config.throwError) {
|
|
42
|
+
throw new common_1.UnauthorizedException('Current user is not allowed to set ' + propertyKey);
|
|
43
|
+
}
|
|
44
|
+
continue;
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
else {
|
|
40
|
-
|
|
48
|
+
if (config.throwError) {
|
|
49
|
+
throw new common_1.UnauthorizedException('Current user is not allowed to set ' + propertyKey);
|
|
50
|
+
}
|
|
51
|
+
continue;
|
|
41
52
|
}
|
|
42
53
|
}
|
|
43
54
|
}
|
|
44
|
-
data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, processedObjects);
|
|
55
|
+
data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, options, processedObjects);
|
|
45
56
|
}
|
|
46
57
|
return data;
|
|
47
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,kDAA8C;AAK9C,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAUxC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAe,EAAqB,EAAE;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAKK,MAAM,aAAa,GAAG,CAAC,MAAe,EAAE,WAAmB,EAAE,EAAE;IACpE,OAAO,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAKK,MAAM,eAAe,GAAG,CAC7B,IAAS,EACT,IAAwD,EACxD,mBAA0B,EAAE,EAC5B,EAAE;
|
|
1
|
+
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,28 @@ exports.Context = void 0;
|
|
|
4
4
|
const graphql_1 = require("@nestjs/graphql");
|
|
5
5
|
class Context {
|
|
6
6
|
static getData(context) {
|
|
7
|
-
var _a;
|
|
7
|
+
var _a, _b, _c, _d;
|
|
8
8
|
if (!context) {
|
|
9
9
|
return { currentUser: null, args: null };
|
|
10
10
|
}
|
|
11
11
|
let user;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let ctx = null;
|
|
13
|
+
try {
|
|
14
|
+
ctx = (_a = graphql_1.GqlExecutionContext.create(context)) === null || _a === void 0 ? void 0 : _a.getContext();
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
}
|
|
18
|
+
let args;
|
|
19
|
+
try {
|
|
20
|
+
args = (_b = graphql_1.GqlExecutionContext.create(context)) === null || _b === void 0 ? void 0 : _b.getArgs();
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
}
|
|
14
24
|
if (ctx) {
|
|
15
|
-
user = (ctx === null || ctx === void 0 ? void 0 : ctx.user) || ((
|
|
25
|
+
user = (ctx === null || ctx === void 0 ? void 0 : ctx.user) || ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _c === void 0 ? void 0 : _c.user);
|
|
16
26
|
}
|
|
17
27
|
else {
|
|
18
|
-
const request = context.switchToHttp().getRequest();
|
|
28
|
+
const request = (context === null || context === void 0 ? void 0 : context.switchToHttp) ? (_d = context.switchToHttp()) === null || _d === void 0 ? void 0 : _d.getRequest() : null;
|
|
19
29
|
if (request) {
|
|
20
30
|
args = request.body;
|
|
21
31
|
user = request.user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/context.helper.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAKtD,MAAa,OAAO;IAIX,MAAM,CAAC,OAAO,CAAC,OAAyB;;QAE7C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SAC1C;QAGD,IAAI,IAA4B,CAAC;QACjC,
|
|
1
|
+
{"version":3,"file":"context.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/context.helper.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAKtD,MAAa,OAAO;IAIX,MAAM,CAAC,OAAO,CAAC,OAAyB;;QAE7C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SAC1C;QAGD,IAAI,IAA4B,CAAC;QACjC,IAAI,GAAG,GAAQ,IAAI,CAAC;QACpB,IAAI;YACF,GAAG,GAAG,MAAA,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,0CAAE,UAAU,EAAE,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;SAEX;QAED,IAAI,IAAS,CAAC;QACd,IAAI;YACF,IAAI,GAAG,MAAA,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,0CAAE,OAAO,EAAE,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;SAEX;QAGD,IAAI,GAAG,EAAE;YAEP,IAAI,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,IAAI,CAAA,CAAC;SACpC;aAAM;YACL,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAC,CAAC,CAAC,MAAA,OAAO,CAAC,YAAY,EAAE,0CAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,IAAI,OAAO,EAAE;gBACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAGpB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;aACrB;SACF;QAGD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;CACF;AA3CD,0BA2CC"}
|
|
@@ -2,7 +2,7 @@ import { FilterQuery, QueryOptions } from 'mongoose';
|
|
|
2
2
|
import { FilterArgs } from '../args/filter.args';
|
|
3
3
|
import { FilterInput } from '../inputs/filter.input';
|
|
4
4
|
export declare class Filter {
|
|
5
|
-
static convertFilterArgsToQuery<T = any>(filterArgs: FilterArgs): [FilterQuery<T>, QueryOptions];
|
|
6
|
-
static generateFilterQuery<T = any>(filter?: FilterInput): FilterQuery<T> | any;
|
|
7
|
-
static generateFindOptions<T = any>(filterArgs: FilterArgs): QueryOptions;
|
|
5
|
+
static convertFilterArgsToQuery<T = any>(filterArgs: Partial<FilterArgs>): [FilterQuery<T>, QueryOptions];
|
|
6
|
+
static generateFilterQuery<T = any>(filter?: Partial<FilterInput>): FilterQuery<T> | any;
|
|
7
|
+
static generateFindOptions<T = any>(filterArgs: Partial<FilterArgs>): QueryOptions;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/filter.helper.ts"],"names":[],"mappings":";;;AAEA,gFAA2E;AAC3E,0EAAqE;AAOrE,MAAa,MAAM;IAKV,MAAM,CAAC,wBAAwB,CAAU,
|
|
1
|
+
{"version":3,"file":"filter.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/filter.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,16 @@ export declare class GraphQLHelper {
|
|
|
12
12
|
static getAST(ast: any, info: any): any;
|
|
13
13
|
static getArguments(ast: FieldNode): {
|
|
14
14
|
[x: string]: {
|
|
15
|
-
kind: "
|
|
15
|
+
kind: import("graphql").Kind.VARIABLE | import("graphql").Kind.INT | import("graphql").Kind.FLOAT | import("graphql").Kind.STRING | import("graphql").Kind.BOOLEAN | import("graphql").Kind.NULL | import("graphql").Kind.ENUM | import("graphql").Kind.LIST | import("graphql").Kind.OBJECT;
|
|
16
16
|
value: any;
|
|
17
17
|
};
|
|
18
18
|
}[];
|
|
19
|
-
static getDirectiveValue(directive: DirectiveNode, info: GraphQLResolveInfo):
|
|
19
|
+
static getDirectiveValue(directive: DirectiveNode, info: GraphQLResolveInfo): unknown;
|
|
20
20
|
static getDirectiveResults(ast: SelectionNode, info: GraphQLResolveInfo): {
|
|
21
|
-
shouldInclude:
|
|
21
|
+
shouldInclude: unknown;
|
|
22
22
|
shouldSkip: boolean;
|
|
23
23
|
} | {
|
|
24
|
-
shouldSkip:
|
|
24
|
+
shouldSkip: unknown;
|
|
25
25
|
shouldInclude: boolean;
|
|
26
26
|
};
|
|
27
27
|
static flattenAST(ast: FieldNode, info: GraphQLResolveInfo, obj?: any, config?: Partial<GraphQLFieldsConfig>): any;
|
|
@@ -8,17 +8,23 @@ const _ = require("lodash");
|
|
|
8
8
|
const restricted_decorator_1 = require("../decorators/restricted.decorator");
|
|
9
9
|
class InputHelper {
|
|
10
10
|
static async check(value, user, metatype) {
|
|
11
|
-
|
|
11
|
+
var _a, _b;
|
|
12
|
+
if (typeof value !== 'object' || !metatype || this.isBasicType(metatype)) {
|
|
12
13
|
return value;
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
if (!(value instanceof metatype)) {
|
|
16
|
+
if ((_a = metatype) === null || _a === void 0 ? void 0 : _a.map) {
|
|
17
|
+
value = (_b = metatype) === null || _b === void 0 ? void 0 : _b.map(value);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
value = (0, class_transformer_1.plainToInstance)(metatype, value);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
23
|
+
const errors = await (0, class_validator_1.validate)(value);
|
|
24
|
+
if (errors.length > 0) {
|
|
25
|
+
throw new common_1.BadRequestException('Validation failed');
|
|
26
|
+
}
|
|
27
|
+
value = (0, restricted_decorator_1.checkRestricted)(value, user);
|
|
22
28
|
return value;
|
|
23
29
|
}
|
|
24
30
|
static errorFunction(caller) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/input.helper.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"input.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/input.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
export declare class ServiceHelper {
|
|
2
|
-
static prepareInput(input: {
|
|
3
|
-
[key: string]: any;
|
|
4
|
-
}, currentUser: {
|
|
2
|
+
static prepareInput<T = any>(input: T, currentUser: {
|
|
5
3
|
[key: string]: any;
|
|
6
4
|
id: string;
|
|
7
5
|
}, options?: {
|
|
8
6
|
[key: string]: any;
|
|
9
7
|
create?: boolean;
|
|
10
8
|
clone?: boolean;
|
|
11
|
-
|
|
9
|
+
getNewArray?: boolean;
|
|
10
|
+
removeUndefined?: boolean;
|
|
11
|
+
}): Promise<T>;
|
|
12
|
+
static prepareOutput<T = {
|
|
12
13
|
[key: string]: any;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
map: (...args: any[]) => any;
|
|
15
|
+
}>(output: any, options?: {
|
|
15
16
|
[key: string]: any;
|
|
16
17
|
clone?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
getNewArray?: boolean;
|
|
19
|
+
removeUndefined?: boolean;
|
|
20
|
+
targetModel?: new (...args: any[]) => T;
|
|
21
|
+
}): Promise<T | T[] | any>;
|
|
19
22
|
}
|
|
@@ -6,13 +6,30 @@ const bcrypt = require("bcrypt");
|
|
|
6
6
|
const _ = require("lodash");
|
|
7
7
|
const role_enum_1 = require("../enums/role.enum");
|
|
8
8
|
class ServiceHelper {
|
|
9
|
-
static async prepareInput(input, currentUser, options = {}
|
|
9
|
+
static async prepareInput(input, currentUser, options = {}) {
|
|
10
10
|
var _a;
|
|
11
|
-
const config = Object.assign({ checkRoles:
|
|
11
|
+
const config = Object.assign({ checkRoles: false, clone: false, create: false, getNewArray: false, removeUndefined: false }, options);
|
|
12
|
+
if (typeof input !== 'object') {
|
|
13
|
+
return input;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(input)) {
|
|
16
|
+
const processedArray = input.map(async (item) => await ServiceHelper.prepareInput(item, currentUser, options));
|
|
17
|
+
return config.getNewArray ? processedArray : input;
|
|
18
|
+
}
|
|
12
19
|
if (config.clone) {
|
|
13
|
-
input
|
|
20
|
+
if (input.mapDeep && typeof input.mapDeep === 'function') {
|
|
21
|
+
input = await Object.getPrototypeOf(input).mapDeep(input);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
input = _.cloneDeep(input);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (config.removeUndefined) {
|
|
28
|
+
Object.keys(input).forEach((key) => input[key] === undefined && delete input[key]);
|
|
14
29
|
}
|
|
15
|
-
if (
|
|
30
|
+
if (config.checkRoles &&
|
|
31
|
+
input.roles &&
|
|
32
|
+
(!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.hasRole) || !currentUser.hasRole(role_enum_1.RoleEnum.ADMIN))) {
|
|
16
33
|
if (!((_a = currentUser) === null || _a === void 0 ? void 0 : _a.roles)) {
|
|
17
34
|
throw new common_1.UnauthorizedException('Missing roles of current user');
|
|
18
35
|
}
|
|
@@ -36,17 +53,38 @@ class ServiceHelper {
|
|
|
36
53
|
}
|
|
37
54
|
return input;
|
|
38
55
|
}
|
|
39
|
-
static async prepareOutput(output,
|
|
40
|
-
const config = Object.assign({ clone:
|
|
56
|
+
static async prepareOutput(output, options = {}) {
|
|
57
|
+
const config = Object.assign({ clone: false, getNewArray: false, removeUndefined: false, targetModel: undefined }, options);
|
|
58
|
+
if (typeof output !== 'object') {
|
|
59
|
+
return output;
|
|
60
|
+
}
|
|
61
|
+
if (Array.isArray(output)) {
|
|
62
|
+
const processedArray = output.map(async (item) => await ServiceHelper.prepareOutput(item, options));
|
|
63
|
+
return config.getNewArray ? processedArray : output;
|
|
64
|
+
}
|
|
41
65
|
if (config.clone) {
|
|
42
|
-
output
|
|
66
|
+
if (output.mapDeep && typeof output.mapDeep === 'function') {
|
|
67
|
+
output = await Object.getPrototypeOf(output).mapDeep(output);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
output = _.cloneDeep(output);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (config.targetModel) {
|
|
74
|
+
output = await config.targetModel.map(output);
|
|
75
|
+
}
|
|
76
|
+
if (output.password) {
|
|
77
|
+
output.password = undefined;
|
|
78
|
+
}
|
|
79
|
+
if (output.verificationToken) {
|
|
80
|
+
output.verificationToken = undefined;
|
|
81
|
+
}
|
|
82
|
+
if (output.passwordResetToken) {
|
|
83
|
+
output.passwordResetToken = undefined;
|
|
43
84
|
}
|
|
44
|
-
if (
|
|
45
|
-
|
|
85
|
+
if (config.removeUndefined) {
|
|
86
|
+
Object.keys(output).forEach((key) => output[key] === undefined && delete output[key]);
|
|
46
87
|
}
|
|
47
|
-
delete output.password;
|
|
48
|
-
delete output.verificationToken;
|
|
49
|
-
delete output.passwordResetToken;
|
|
50
88
|
return output;
|
|
51
89
|
}
|
|
52
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/service.helper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,iCAAiC;AACjC,4BAA4B;AAC5B,kDAA8C;AAK9C,MAAa,aAAa;IAIxB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,
|
|
1
|
+
{"version":3,"file":"service.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/service.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { LogicalOperatorEnum } from '../enums/logical-operator.enum';
|
|
2
|
+
import { CoreInput } from './core-input.input';
|
|
2
3
|
import { FilterInput } from './filter.input';
|
|
3
|
-
export declare class CombinedFilterInput {
|
|
4
|
-
logicalOperator
|
|
4
|
+
export declare class CombinedFilterInput extends CoreInput {
|
|
5
|
+
logicalOperator: LogicalOperatorEnum;
|
|
5
6
|
filters: FilterInput[];
|
|
7
|
+
map(data: Partial<this> | Record<string, any>, options?: {
|
|
8
|
+
cloneDeep?: boolean;
|
|
9
|
+
funcAllowed?: boolean;
|
|
10
|
+
mapId?: boolean;
|
|
11
|
+
}): this;
|
|
6
12
|
}
|
|
@@ -12,20 +12,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.CombinedFilterInput = void 0;
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
14
|
const logical_operator_enum_1 = require("../enums/logical-operator.enum");
|
|
15
|
+
const model_helper_1 = require("../helpers/model.helper");
|
|
16
|
+
const core_input_input_1 = require("./core-input.input");
|
|
15
17
|
const filter_input_1 = require("./filter.input");
|
|
16
|
-
let CombinedFilterInput = class CombinedFilterInput {
|
|
18
|
+
let CombinedFilterInput = class CombinedFilterInput extends core_input_input_1.CoreInput {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.logicalOperator = undefined;
|
|
22
|
+
this.filters = undefined;
|
|
23
|
+
}
|
|
24
|
+
map(data, options = {}) {
|
|
25
|
+
super.map(data, options);
|
|
26
|
+
this.filters = model_helper_1.ModelHelper.maps(data.filters, filter_input_1.FilterInput, options.cloneDeep);
|
|
27
|
+
Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
17
30
|
};
|
|
18
31
|
__decorate([
|
|
19
32
|
(0, graphql_1.Field)((type) => logical_operator_enum_1.LogicalOperatorEnum, {
|
|
20
|
-
description: 'Logical Operator to combine filters
|
|
21
|
-
nullable: true,
|
|
33
|
+
description: 'Logical Operator to combine filters',
|
|
22
34
|
}),
|
|
23
35
|
__metadata("design:type", String)
|
|
24
36
|
], CombinedFilterInput.prototype, "logicalOperator", void 0);
|
|
25
37
|
__decorate([
|
|
26
38
|
(0, graphql_1.Field)((type) => [filter_input_1.FilterInput], {
|
|
27
|
-
description: 'Filters to combine via logical operator
|
|
28
|
-
nullable: true,
|
|
39
|
+
description: 'Filters to combine via logical operator',
|
|
29
40
|
}),
|
|
30
41
|
__metadata("design:type", Array)
|
|
31
42
|
], CombinedFilterInput.prototype, "filters", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combined-filter.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/combined-filter.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AACnD,0EAAqE;AACrE,iDAA6C;AAK7C,IAAa,mBAAmB,GAAhC,MAAa,
|
|
1
|
+
{"version":3,"file":"combined-filter.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/combined-filter.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AACnD,0EAAqE;AACrE,0DAAsD;AACtD,yDAA+C;AAC/C,iDAA6C;AAK7C,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,4BAAS;IAAlD;;QAOE,oBAAe,GAAwB,SAAS,CAAC;QAQjD,YAAO,GAAkB,SAAS,CAAC;IAsBrC,CAAC;IAbC,GAAG,CACD,IAAyC,EACzC,UAII,EAAE;QAEN,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,0BAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9BC;IAHC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2CAAmB,EAAE;QACpC,WAAW,EAAE,qCAAqC;KACnD,CAAC;;4DAC+C;AAQjD;IAHC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,0BAAW,CAAC,EAAE;QAC9B,WAAW,EAAE,yCAAyC;KACvD,CAAC;;oDACiC;AAfxB,mBAAmB;IAH/B,IAAA,mBAAS,EAAC;QACT,WAAW,EAAE,sDAAsD;KACpE,CAAC;GACW,mBAAmB,CAqC/B;AArCY,kDAAmB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreInput = void 0;
|
|
4
|
+
const model_helper_1 = require("../helpers/model.helper");
|
|
5
|
+
const core_model_model_1 = require("../models/core-model.model");
|
|
6
|
+
class CoreInput extends core_model_model_1.CoreModel {
|
|
7
|
+
map(data, options = {}) {
|
|
8
|
+
const config = Object.assign({ cloneDeep: false, funcAllowed: false, mapId: false }, options);
|
|
9
|
+
const coreInput = model_helper_1.ModelHelper.map(data, this, config);
|
|
10
|
+
Object.keys(coreInput).forEach((key) => coreInput[key] === undefined && delete coreInput[key]);
|
|
11
|
+
return coreInput;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.CoreInput = CoreInput;
|
|
15
|
+
//# sourceMappingURL=core-input.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-input.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/core-input.input.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AACtD,iEAAuD;AAYvD,MAAsB,SAAU,SAAQ,4BAAS;IAIxC,GAAG,CACR,IAAyC,EACzC,UAII,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,MAAM,SAAS,GAAG,0BAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/F,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,8BAsBC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { CombinedFilterInput } from './combined-filter.input';
|
|
2
|
+
import { CoreInput } from './core-input.input';
|
|
2
3
|
import { SingleFilterInput } from './single-filter.input';
|
|
3
|
-
export declare class FilterInput {
|
|
4
|
+
export declare class FilterInput extends CoreInput {
|
|
4
5
|
combinedFilter?: CombinedFilterInput;
|
|
5
6
|
singleFilter?: SingleFilterInput;
|
|
7
|
+
map(data: Partial<this> | Record<string, any>, options?: {
|
|
8
|
+
cloneDeep?: boolean;
|
|
9
|
+
funcAllowed?: boolean;
|
|
10
|
+
mapId?: boolean;
|
|
11
|
+
}): this;
|
|
6
12
|
}
|
|
@@ -12,8 +12,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.FilterInput = void 0;
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
14
|
const combined_filter_input_1 = require("./combined-filter.input");
|
|
15
|
+
const core_input_input_1 = require("./core-input.input");
|
|
15
16
|
const single_filter_input_1 = require("./single-filter.input");
|
|
16
|
-
let FilterInput = class FilterInput {
|
|
17
|
+
let FilterInput = class FilterInput extends core_input_input_1.CoreInput {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.combinedFilter = undefined;
|
|
21
|
+
this.singleFilter = undefined;
|
|
22
|
+
}
|
|
23
|
+
map(data, options = {}) {
|
|
24
|
+
super.map(data, options);
|
|
25
|
+
this.combinedFilter = data.combinedFilter ? combined_filter_input_1.CombinedFilterInput.map(data.combinedFilter, options) : undefined;
|
|
26
|
+
this.singleFilter = data.singleFilter ? single_filter_input_1.SingleFilterInput.map(data.singleFilter, options) : undefined;
|
|
27
|
+
Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
17
30
|
};
|
|
18
31
|
__decorate([
|
|
19
32
|
(0, graphql_1.Field)((type) => combined_filter_input_1.CombinedFilterInput, {
|