@lenne.tech/nest-server 3.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/core/common/args/filter.args.d.ts +5 -0
  2. package/dist/core/common/args/filter.args.js +10 -0
  3. package/dist/core/common/args/filter.args.js.map +1 -1
  4. package/dist/core/common/args/pagination.args.d.ts +8 -1
  5. package/dist/core/common/args/pagination.args.js +24 -6
  6. package/dist/core/common/args/pagination.args.js.map +1 -1
  7. package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
  8. package/dist/core/common/decorators/restricted.decorator.js +14 -5
  9. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  10. package/dist/core/common/helpers/context.helper.js +15 -5
  11. package/dist/core/common/helpers/context.helper.js.map +1 -1
  12. package/dist/core/common/helpers/filter.helper.d.ts +3 -3
  13. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  14. package/dist/core/common/helpers/input.helper.js +13 -7
  15. package/dist/core/common/helpers/input.helper.js.map +1 -1
  16. package/dist/core/common/helpers/model.helper.js +0 -1
  17. package/dist/core/common/helpers/model.helper.js.map +1 -1
  18. package/dist/core/common/helpers/service.helper.d.ts +6 -8
  19. package/dist/core/common/helpers/service.helper.js +34 -12
  20. package/dist/core/common/helpers/service.helper.js.map +1 -1
  21. package/dist/core/common/inputs/combined-filter.input.d.ts +8 -2
  22. package/dist/core/common/inputs/combined-filter.input.js +16 -5
  23. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  24. package/dist/core/common/inputs/core-input.input.d.ts +8 -0
  25. package/dist/core/common/inputs/core-input.input.js +15 -0
  26. package/dist/core/common/inputs/core-input.input.js.map +1 -0
  27. package/dist/core/common/inputs/filter.input.d.ts +7 -1
  28. package/dist/core/common/inputs/filter.input.js +14 -1
  29. package/dist/core/common/inputs/filter.input.js.map +1 -1
  30. package/dist/core/common/inputs/single-filter.input.d.ts +2 -1
  31. package/dist/core/common/inputs/single-filter.input.js +10 -1
  32. package/dist/core/common/inputs/single-filter.input.js.map +1 -1
  33. package/dist/core/common/inputs/sort.input.d.ts +2 -1
  34. package/dist/core/common/inputs/sort.input.js +7 -1
  35. package/dist/core/common/inputs/sort.input.js.map +1 -1
  36. package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
  37. package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
  38. package/dist/core/common/models/core-model.model.d.ts +6 -0
  39. package/dist/core/common/models/core-model.model.js +10 -3
  40. package/dist/core/common/models/core-model.model.js.map +1 -1
  41. package/dist/core/common/models/core-persistence.model.d.ts +5 -29
  42. package/dist/core/common/models/core-persistence.model.js +19 -41
  43. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  44. package/dist/core/common/pipes/check-input.pipe.d.ts +2 -3
  45. package/dist/core/common/pipes/check-input.pipe.js +5 -20
  46. package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
  47. package/dist/core/common/pipes/map-and-validate.pipe.d.ts +4 -0
  48. package/dist/core/common/pipes/map-and-validate.pipe.js +40 -0
  49. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -0
  50. package/dist/core/common/types/plain-input.type.d.ts +3 -0
  51. package/dist/core/common/types/plain-input.type.js +3 -0
  52. package/dist/core/common/types/plain-input.type.js.map +1 -0
  53. package/dist/core/modules/auth/core-auth.model.d.ts +3 -1
  54. package/dist/core/modules/auth/core-auth.model.js +7 -1
  55. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  56. package/dist/core/modules/auth/core-auth.resolver.d.ts +1 -1
  57. package/dist/core/modules/user/core-user.model.d.ts +3 -0
  58. package/dist/core/modules/user/core-user.model.js +9 -4
  59. package/dist/core/modules/user/core-user.model.js.map +1 -1
  60. package/dist/core/modules/user/core-user.service.d.ts +9 -13
  61. package/dist/core/modules/user/core-user.service.js +37 -62
  62. package/dist/core/modules/user/core-user.service.js.map +1 -1
  63. package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
  64. package/dist/core/modules/user/inputs/core-user.input.d.ts +2 -2
  65. package/dist/core/modules/user/inputs/core-user.input.js +3 -3
  66. package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
  67. package/dist/core.module.js +2 -3
  68. package/dist/core.module.js.map +1 -1
  69. package/dist/index.d.ts +6 -2
  70. package/dist/index.js +6 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/main.js +0 -2
  73. package/dist/main.js.map +1 -1
  74. package/dist/server/common/models/persistence.model.d.ts +1 -0
  75. package/dist/server/common/models/persistence.model.js +4 -0
  76. package/dist/server/common/models/persistence.model.js.map +1 -1
  77. package/dist/server/modules/auth/auth.model.d.ts +1 -0
  78. package/dist/server/modules/auth/auth.model.js +4 -0
  79. package/dist/server/modules/auth/auth.model.js.map +1 -1
  80. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  81. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  82. package/dist/server/modules/user/user.model.d.ts +3 -2
  83. package/dist/server/modules/user/user.model.js +9 -5
  84. package/dist/server/modules/user/user.model.js.map +1 -1
  85. package/dist/server/modules/user/user.resolver.d.ts +2 -2
  86. package/dist/server/modules/user/user.resolver.js +11 -13
  87. package/dist/server/modules/user/user.resolver.js.map +1 -1
  88. package/dist/server/modules/user/user.service.d.ts +7 -10
  89. package/dist/server/modules/user/user.service.js +7 -7
  90. package/dist/server/modules/user/user.service.js.map +1 -1
  91. package/dist/tsconfig.build.tsbuildinfo +1 -1
  92. package/package.json +1 -1
  93. package/src/core/common/args/filter.args.ts +22 -1
  94. package/src/core/common/args/pagination.args.ts +42 -7
  95. package/src/core/common/decorators/restricted.decorator.ts +22 -5
  96. package/src/core/common/helpers/context.helper.ts +14 -3
  97. package/src/core/common/helpers/filter.helper.ts +3 -3
  98. package/src/core/common/helpers/input.helper.ts +17 -11
  99. package/src/core/common/helpers/model.helper.ts +0 -3
  100. package/src/core/common/helpers/service.helper.ts +41 -18
  101. package/src/core/common/inputs/combined-filter.input.ts +30 -9
  102. package/src/core/common/inputs/core-input.input.ts +36 -0
  103. package/src/core/common/inputs/filter.input.ts +27 -3
  104. package/src/core/common/inputs/single-filter.input.ts +7 -6
  105. package/src/core/common/inputs/sort.input.ts +4 -3
  106. package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
  107. package/src/core/common/models/core-model.model.ts +30 -1
  108. package/src/core/common/models/core-persistence.model.ts +33 -120
  109. package/src/core/common/pipes/check-input.pipe.ts +13 -33
  110. package/src/core/common/pipes/map-and-validate.pipe.ts +32 -0
  111. package/src/core/common/types/plain-input.type.ts +6 -0
  112. package/src/core/modules/auth/core-auth.model.ts +15 -1
  113. package/src/core/modules/auth/core-auth.resolver.ts +1 -1
  114. package/src/core/modules/user/core-user.model.ts +16 -4
  115. package/src/core/modules/user/core-user.service.ts +58 -110
  116. package/src/core/modules/user/inputs/core-user-create.input.ts +4 -0
  117. package/src/core/modules/user/inputs/core-user.input.ts +7 -3
  118. package/src/core.module.ts +11 -5
  119. package/src/index.ts +6 -2
  120. package/src/main.ts +0 -4
  121. package/src/server/common/models/persistence.model.ts +13 -0
  122. package/src/server/modules/auth/auth.model.ts +13 -0
  123. package/src/server/modules/user/inputs/user-create.input.ts +4 -0
  124. package/src/server/modules/user/inputs/user.input.ts +4 -0
  125. package/src/server/modules/user/user.model.ts +18 -5
  126. package/src/server/modules/user/user.resolver.ts +15 -19
  127. package/src/server/modules/user/user.service.ts +9 -10
  128. package/dist/core/common/pipes/map.pipe.d.ts +0 -4
  129. package/dist/core/common/pipes/map.pipe.js +0 -25
  130. package/dist/core/common/pipes/map.pipe.js.map +0 -1
  131. package/src/core/common/pipes/map.pipe.ts +0 -16
@@ -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;CAU7C,CAAA;AADC;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;0CAAC;AATV,UAAU;IADtB,IAAA,kBAAQ,GAAE;GACE,UAAU,CAUtB;AAVY,gCAAU"}
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
- this.limit = 25;
19
- this.offset = 0;
20
- this.skip = 0;
21
- this.take = 25;
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: 0,
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,cAAc;IAA3B;QAWE,UAAK,GAAY,EAAE,CAAC;QAWpB,WAAM,GAAY,CAAC,CAAC;QAWpB,SAAI,GAAY,CAAC,CAAC;QAsBlB,SAAI,GAAY,EAAE,CAAC;IACrB,CAAC;CAAA,CAAA;AA7CC;IAPC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,EAAE;QACpB,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,EAAE;KACjB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAG,EAAC,GAAG,CAAC;;6CACW;AAWpB;IANC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,EAAE;QACpB,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,CAAC;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;;8CACO;AAWpB;IANC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,EAAE;QACpB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,CAAC;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;;4CACK;AAUlB;IALC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAS,CAAC,EAAE;QAC5B,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;;4CACM;AAYnB;IAPC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,EAAE;QACpB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,EAAE;KACjB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAG,EAAC,GAAG,CAAC;;4CACU;AAvDR,cAAc;IAD1B,IAAA,kBAAQ,GAAE;GACE,cAAc,CAwD1B;AAxDY,wCAAc"}
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,17 +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
- delete data[propertyKey];
41
+ if (config.throwError) {
42
+ throw new common_1.UnauthorizedException('Current user is not allowed to set ' + propertyKey);
43
+ }
37
44
  continue;
38
45
  }
39
46
  }
40
47
  else {
41
- delete data[propertyKey];
48
+ if (config.throwError) {
49
+ throw new common_1.UnauthorizedException('Current user is not allowed to set ' + propertyKey);
50
+ }
42
51
  continue;
43
52
  }
44
53
  }
45
54
  }
46
- data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, processedObjects);
55
+ data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, options, processedObjects);
47
56
  }
48
57
  return data;
49
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;IAEF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAGD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IACD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAG5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;KAC1E;IAGD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAE3C,MAAM,KAAK,GAAG,IAAA,qBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAG/C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAE3C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAEjC,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAQ,CAAC,KAAK,CAAC,EAAE;oBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAElC,IACE,CAAC,IAAI,CAAC,QAAQ;wBACd,CAAC,CACC,IAAI,CAAC,QAAQ,KAAK,MAAM;4BACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gCAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CACxG,EACD;wBAEA,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;wBACzB,SAAS;qBACV;iBACF;qBAAM;oBAEL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzB,SAAS;iBACV;aACF;SACF;QAGD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;KAChF;IAGD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA7DW,QAAA,eAAe,mBA6D1B"}
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
- const ctx = graphql_1.GqlExecutionContext.create(context).getContext();
13
- let args = graphql_1.GqlExecutionContext.create(context).getArgs();
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) || ((_a = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _a === void 0 ? void 0 : _a.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,MAAM,GAAG,GAAQ,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QAClE,IAAI,IAAI,GAAQ,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAG9D,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,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACpD,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;AAhCD,0BAgCC"}
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":"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"}
1
+ {"version":3,"file":"filter.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/filter.helper.ts"],"names":[],"mappings":"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"}
@@ -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
- if (!metatype || this.isBasicType(metatype)) {
11
+ var _a, _b;
12
+ if (typeof value !== 'object' || !metatype || this.isBasicType(metatype)) {
12
13
  return value;
13
14
  }
14
- value = (0, restricted_decorator_1.checkRestricted)(value, user);
15
- if (metatype) {
16
- const object = (0, class_transformer_1.plainToClass)(metatype, value);
17
- const errors = await (0, class_validator_1.validate)(object);
18
- if (errors.length > 0) {
19
- throw new common_1.BadRequestException('Validation failed');
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":"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"}
1
+ {"version":3,"file":"input.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/input.helper.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,6 @@ class ModelHelper {
25
25
  }
26
26
  const preparedSource = ModelHelper.prepareMap(source, target, config);
27
27
  Object.assign(target, preparedSource);
28
- Object.keys(target).forEach((key) => target[key] === undefined && delete target[key]);
29
28
  return target;
30
29
  }
31
30
  static maps(data, targetClass, cloneDeep = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"model.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/model.helper.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAK5B,MAAa,WAAW;IAOf,MAAM,CAAC,UAAU,CACtB,MAAwC,EACxC,MAAS,EACT,UAII,EAAE;QAGN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QAGF,MAAM,MAAM,GAAG,EAAE,CAAC;QAGlB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrC,IACE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;gBAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;gBACzB,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,EAC3D;gBACA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACvG;iBAAM,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAKM,MAAM,CAAC,GAAG,CACf,MAAwC,EACxC,MAAS,EACT,UAII,EAAE;QAGN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QAGF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxD;QAGD,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAGtE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAGtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAGtF,OAAO,MAAM,CAAC;IAChB,CAAC;IAKM,MAAM,CAAC,IAAI,CAChB,IAA6E,EAC7E,WAAsC,EACtC,SAAS,GAAG,IAAI;QAGhB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,OAAO,SAAS,CAAC;SAClB;QAGD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;SACf;QAGD,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,OAAQ,WAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxGD,kCAwGC"}
1
+ {"version":3,"file":"model.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/model.helper.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAK5B,MAAa,WAAW;IAOf,MAAM,CAAC,UAAU,CACtB,MAAwC,EACxC,MAAS,EACT,UAII,EAAE;QAGN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QAGF,MAAM,MAAM,GAAG,EAAE,CAAC;QAGlB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrC,IACE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;gBAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;gBACzB,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,EAC3D;gBACA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACvG;iBAAM,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAKM,MAAM,CAAC,GAAG,CACf,MAAwC,EACxC,MAAS,EACT,UAII,EAAE;QAGN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QAGF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxD;QAGD,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAGtE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAGtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAKM,MAAM,CAAC,IAAI,CAChB,IAA6E,EAC7E,WAAsC,EACtC,SAAS,GAAG,IAAI;QAGhB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,OAAO,SAAS,CAAC;SAClB;QAGD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;SACf;QAGD,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,OAAQ,WAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArGD,kCAqGC"}
@@ -1,19 +1,17 @@
1
1
  export declare class ServiceHelper {
2
- static prepareInput(input: {
3
- [key: string]: any;
4
- }, currentUser: {
2
+ static prepareInput(input: Record<string, any>, 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
- }, ...args: any[]): Promise<{
12
- [key: string]: any;
13
- }>;
14
- static prepareOutput<T = Record<string, any>>(output: any, userModel: new () => any, userService: any, options?: {
9
+ removeUndefined?: boolean;
10
+ }): Promise<Record<string, any>>;
11
+ static prepareOutput<T = Record<string, any>>(output: any, options?: {
15
12
  [key: string]: any;
16
13
  clone?: boolean;
14
+ removeUndefined?: boolean;
17
15
  targetModel?: Partial<T>;
18
- }, ...args: any[]): Promise<any>;
16
+ }): Promise<any>;
19
17
  }
@@ -6,13 +6,21 @@ 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 = {}, ...args) {
9
+ static async prepareInput(input, currentUser, options = {}) {
10
10
  var _a;
11
- const config = Object.assign({ checkRoles: false, clone: false, create: false }, options);
11
+ const config = Object.assign({ checkRoles: false, clone: false, create: false, removeUndefined: false }, options);
12
12
  if (config.clone) {
13
- input = JSON.parse(JSON.stringify(input));
13
+ if (input.mapDeep && typeof input.mapDeep === 'function') {
14
+ input = Object.getPrototypeOf(input).mapDeep(input);
15
+ }
16
+ else {
17
+ input = _.cloneDeep(input);
18
+ }
14
19
  }
15
- if (input.roles && config.checkRoles && (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.hasRole) || !currentUser.hasRole(role_enum_1.RoleEnum.ADMIN))) {
20
+ if (config.removeUndefined) {
21
+ Object.keys(input).forEach((key) => input[key] === undefined && delete input[key]);
22
+ }
23
+ if (config.checkRoles && input.roles && (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.hasRole) || !currentUser.hasRole(role_enum_1.RoleEnum.ADMIN))) {
16
24
  if (!((_a = currentUser) === null || _a === void 0 ? void 0 : _a.roles)) {
17
25
  throw new common_1.UnauthorizedException('Missing roles of current user');
18
26
  }
@@ -36,17 +44,31 @@ class ServiceHelper {
36
44
  }
37
45
  return input;
38
46
  }
39
- static async prepareOutput(output, userModel, userService, options = {}, ...args) {
40
- const config = Object.assign({ clone: true }, options);
47
+ static async prepareOutput(output, options = {}) {
48
+ const config = Object.assign({ clone: false, removeUndefined: false, targetModel: undefined }, options);
41
49
  if (config.clone) {
42
- output = JSON.parse(JSON.stringify(output));
50
+ if (output.cloneDeep && typeof output.cloneDeep === 'function') {
51
+ output = Object.getPrototypeOf(output).cloneDeep(output);
52
+ }
53
+ else {
54
+ output = _.cloneDeep(output);
55
+ }
56
+ }
57
+ if (config.targetModel) {
58
+ output = config.targetModel.map(output);
59
+ }
60
+ if (output.password) {
61
+ output.password = undefined;
62
+ }
63
+ if (output.verificationToken) {
64
+ output.verificationToken = undefined;
65
+ }
66
+ if (output.passwordResetToken) {
67
+ output.passwordResetToken = undefined;
43
68
  }
44
- if (options.targetModel) {
45
- options.targetModel.map(output);
69
+ if (config.removeUndefined) {
70
+ Object.keys(output).forEach((key) => output[key] === undefined && delete output[key]);
46
71
  }
47
- delete output.password;
48
- delete output.verificationToken;
49
- delete output.passwordResetToken;
50
72
  return output;
51
73
  }
52
74
  }
@@ -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,KAA6B,EAC7B,WAA+C,EAC/C,UAAqE,EAAE,EACvE,GAAG,IAAW;;QAGd,MAAM,MAAM,mBACV,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,IACV,OAAO,CACX,CAAC;QAGF,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3C;QAGD,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACvG,IAAI,CAAC,CAAA,MAAC,WAAmB,0CAAE,KAAK,CAAA,EAAE;gBAChC,MAAM,IAAI,8BAAqB,CAAC,+BAA+B,CAAC,CAAC;aAClE;iBAAM;gBACL,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAG,WAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7E,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAG,WAAmB,CAAC,KAAK,CAAC,CAAC;oBAC3E,MAAM,IAAI,8BAAqB,CAAC,0CAA0C,GAAG,YAAY,CAAC,CAAC;iBAC5F;gBACD,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;aAC5B;SACF;QAGD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,KAAK,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAE,KAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACjE;QAGD,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE;YAChC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;SAClC;QAGD,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;SAClC;QAGD,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,MAAW,EACX,SAAwB,EACxB,WAAgB,EAChB,UAA6E,EAAE,EAC/E,GAAG,IAAW;QAGd,MAAM,MAAM,mBACV,KAAK,EAAE,IAAI,IACR,OAAO,CACX,CAAC;QAGF,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7C;QAGD,IAAI,OAAO,CAAC,WAAW,EAAE;YACtB,OAAO,CAAC,WAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC1C;QAGD,OAAO,MAAM,CAAC,QAAQ,CAAC;QAGvB,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAGhC,OAAO,MAAM,CAAC,kBAAkB,CAAC;QAGjC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA9FD,sCA8FC"}
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?: LogicalOperatorEnum;
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. If set the `filters` must be also set.',
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. If set `logicalOperator` must be also set.',
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,mBAAmB;CAkB/B,CAAA;AAVC;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2CAAmB,EAAE;QACpC,WAAW,EAAE,6EAA6E;QAC1F,QAAQ,EAAE,IAAI;KACf,CAAC;;4DACoC;AAStC;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,0BAAW,CAAC,EAAE;QAC9B,WAAW,EAAE,qFAAqF;QAClG,QAAQ,EAAE,IAAI;KACf,CAAC;;oDACqB;AAjBZ,mBAAmB;IAH/B,IAAA,mBAAS,EAAC;QACT,WAAW,EAAE,sDAAsD;KACpE,CAAC;GACW,mBAAmB,CAkB/B;AAlBY,kDAAmB"}
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,8 @@
1
+ import { CoreModel } from '../models/core-model.model';
2
+ export declare abstract class CoreInput extends CoreModel {
3
+ map(data: Partial<this> | Record<string, any>, options?: {
4
+ cloneDeep?: boolean;
5
+ funcAllowed?: boolean;
6
+ mapId?: boolean;
7
+ }): this;
8
+ }
@@ -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, {
@@ -1 +1 @@
1
- {"version":3,"file":"filter.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/filter.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AACnD,mEAA8D;AAC9D,+DAA0D;AAQ1D,IAAa,WAAW,GAAxB,MAAa,WAAW;CAkBvB,CAAA;AAVC;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2CAAmB,EAAE;QACpC,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,IAAI;KACf,CAAC;8BACe,2CAAmB;mDAAC;AASrC;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uCAAiB,EAAE;QAClC,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC;8BACa,uCAAiB;iDAAC;AAjBtB,WAAW;IAHvB,IAAA,mBAAS,EAAC;QACT,WAAW,EAAE,yFAAyF;KACvG,CAAC;GACW,WAAW,CAkBvB;AAlBY,kCAAW"}
1
+ {"version":3,"file":"filter.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/filter.input.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmD;AAEnD,mEAA8D;AAC9D,yDAA+C;AAC/C,+DAA0D;AAQ1D,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,4BAAS;IAA1C;;QAQE,mBAAc,GAAyB,SAAS,CAAC;QASjD,iBAAY,GAAuB,SAAS,CAAC;IAuB/C,CAAC;IAdC,GAAG,CACD,IAAyC,EACzC,UAII,EAAE;QAEN,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,2CAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uCAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,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;AAhCC;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2CAAmB,EAAE;QACpC,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,IAAI;KACf,CAAC;8BACe,2CAAmB;mDAAa;AASjD;IAJC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uCAAiB,EAAE;QAClC,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC;8BACa,uCAAiB;iDAAa;AAjBlC,WAAW;IAHvB,IAAA,mBAAS,EAAC;QACT,WAAW,EAAE,yFAAyF;KACvG,CAAC;GACW,WAAW,CAwCvB;AAxCY,kCAAW"}
@@ -1,5 +1,6 @@
1
1
  import { ComparisonOperatorEnum } from '../enums/comparison-operator.enum';
2
- export declare class SingleFilterInput {
2
+ import { CoreInput } from './core-input.input';
3
+ export declare class SingleFilterInput extends CoreInput {
3
4
  field: string;
4
5
  not?: boolean;
5
6
  operator: ComparisonOperatorEnum;