@lenne.tech/nest-server 8.0.2 → 8.1.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 (148) hide show
  1. package/dist/core/common/args/pagination.args.js +1 -1
  2. package/dist/core/common/args/pagination.args.js.map +1 -1
  3. package/dist/core/common/helpers/config.helper.d.ts +2 -1
  4. package/dist/core/common/helpers/config.helper.js +11 -7
  5. package/dist/core/common/helpers/config.helper.js.map +1 -1
  6. package/dist/core/common/helpers/context.helper.d.ts +7 -1
  7. package/dist/core/common/helpers/context.helper.js +33 -29
  8. package/dist/core/common/helpers/context.helper.js.map +1 -1
  9. package/dist/core/common/helpers/db.helper.d.ts +35 -0
  10. package/dist/core/common/helpers/db.helper.js +345 -0
  11. package/dist/core/common/helpers/db.helper.js.map +1 -0
  12. package/dist/core/common/helpers/file.helper.d.ts +8 -1
  13. package/dist/core/common/helpers/file.helper.js +43 -31
  14. package/dist/core/common/helpers/file.helper.js.map +1 -1
  15. package/dist/core/common/helpers/filter.helper.d.ts +3 -0
  16. package/dist/core/common/helpers/filter.helper.js +93 -81
  17. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  18. package/dist/core/common/helpers/graphql.helper.d.ts +24 -1
  19. package/dist/core/common/helpers/graphql.helper.js +144 -96
  20. package/dist/core/common/helpers/graphql.helper.js.map +1 -1
  21. package/dist/core/common/helpers/input.helper.d.ts +29 -3
  22. package/dist/core/common/helpers/input.helper.js +222 -105
  23. package/dist/core/common/helpers/input.helper.js.map +1 -1
  24. package/dist/core/common/helpers/model.helper.d.ts +11 -0
  25. package/dist/core/common/helpers/model.helper.js +41 -29
  26. package/dist/core/common/helpers/model.helper.js.map +1 -1
  27. package/dist/core/common/helpers/service.helper.d.ts +21 -1
  28. package/dist/core/common/helpers/service.helper.js +80 -72
  29. package/dist/core/common/helpers/service.helper.js.map +1 -1
  30. package/dist/core/common/inputs/combined-filter.input.js +1 -1
  31. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  32. package/dist/core/common/inputs/core-input.input.js +1 -1
  33. package/dist/core/common/inputs/core-input.input.js.map +1 -1
  34. package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
  35. package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
  36. package/dist/core/common/interfaces/resolve-selector.interface.d.ts +5 -0
  37. package/dist/core/common/interfaces/resolve-selector.interface.js +3 -0
  38. package/dist/core/common/interfaces/resolve-selector.interface.js.map +1 -0
  39. package/dist/core/common/interfaces/service-options.interface.d.ts +30 -0
  40. package/dist/core/common/interfaces/service-options.interface.js +3 -0
  41. package/dist/core/common/interfaces/service-options.interface.js.map +1 -0
  42. package/dist/core/common/models/core-model.model.d.ts +4 -0
  43. package/dist/core/common/models/core-model.model.js +1 -1
  44. package/dist/core/common/models/core-model.model.js.map +1 -1
  45. package/dist/core/common/pipes/check-input.pipe.js +2 -2
  46. package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
  47. package/dist/core/common/pipes/map-and-validate.pipe.js +1 -1
  48. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
  49. package/dist/core/common/services/crud.service.d.ts +13 -0
  50. package/dist/core/common/services/crud.service.js +59 -0
  51. package/dist/core/common/services/crud.service.js.map +1 -0
  52. package/dist/core/common/services/email.service.js +8 -8
  53. package/dist/core/common/services/email.service.js.map +1 -1
  54. package/dist/core/common/services/module.service.d.ts +27 -0
  55. package/dist/core/common/services/module.service.js +41 -0
  56. package/dist/core/common/services/module.service.js.map +1 -0
  57. package/dist/core/common/types/core-model-constructor.type.d.ts +21 -0
  58. package/dist/core/common/types/core-model-constructor.type.js +3 -0
  59. package/dist/core/common/types/core-model-constructor.type.js.map +1 -0
  60. package/dist/core/common/types/field-selection.type.d.ts +4 -0
  61. package/dist/core/common/types/field-selection.type.js +3 -0
  62. package/dist/core/common/types/field-selection.type.js.map +1 -0
  63. package/dist/core/common/types/string-or-object-id.type.d.ts +2 -0
  64. package/dist/core/common/types/string-or-object-id.type.js +3 -0
  65. package/dist/core/common/types/string-or-object-id.type.js.map +1 -0
  66. package/dist/core/modules/auth/core-auth.resolver.d.ts +2 -1
  67. package/dist/core/modules/auth/core-auth.resolver.js +4 -3
  68. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  69. package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -1
  70. package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
  71. package/dist/core/modules/auth/services/core-auth.service.d.ts +2 -1
  72. package/dist/core/modules/auth/services/core-auth.service.js +6 -4
  73. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  74. package/dist/core/modules/user/core-user.model.js +1 -1
  75. package/dist/core/modules/user/core-user.model.js.map +1 -1
  76. package/dist/core/modules/user/core-user.service.d.ts +16 -25
  77. package/dist/core/modules/user/core-user.service.js +79 -98
  78. package/dist/core/modules/user/core-user.service.js.map +1 -1
  79. package/dist/core.module.js +1 -1
  80. package/dist/core.module.js.map +1 -1
  81. package/dist/index.d.ts +8 -1
  82. package/dist/index.js +8 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/server/modules/auth/auth.resolver.d.ts +2 -1
  85. package/dist/server/modules/auth/auth.resolver.js +4 -3
  86. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  87. package/dist/server/modules/file/file.controller.js +1 -1
  88. package/dist/server/modules/file/file.controller.js.map +1 -1
  89. package/dist/server/modules/user/avatar.controller.js +1 -1
  90. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  91. package/dist/server/modules/user/user.model.d.ts +1 -0
  92. package/dist/server/modules/user/user.module.js +7 -3
  93. package/dist/server/modules/user/user.module.js.map +1 -1
  94. package/dist/server/modules/user/user.resolver.d.ts +8 -7
  95. package/dist/server/modules/user/user.resolver.js +65 -45
  96. package/dist/server/modules/user/user.resolver.js.map +1 -1
  97. package/dist/server/modules/user/user.service.d.ts +9 -18
  98. package/dist/server/modules/user/user.service.js +19 -30
  99. package/dist/server/modules/user/user.service.js.map +1 -1
  100. package/dist/test/test.helper.d.ts +1 -2
  101. package/dist/test/test.helper.js +1 -16
  102. package/dist/test/test.helper.js.map +1 -1
  103. package/dist/tsconfig.build.tsbuildinfo +1 -1
  104. package/package.json +44 -45
  105. package/src/core/common/args/pagination.args.ts +2 -2
  106. package/src/core/common/helpers/config.helper.ts +26 -6
  107. package/src/core/common/helpers/context.helper.ts +42 -33
  108. package/src/core/common/helpers/db.helper.ts +580 -0
  109. package/src/core/common/helpers/file.helper.ts +76 -49
  110. package/src/core/common/helpers/filter.helper.ts +119 -96
  111. package/src/core/common/helpers/graphql.helper.ts +219 -117
  112. package/src/core/common/helpers/input.helper.ts +296 -106
  113. package/src/core/common/helpers/model.helper.ts +102 -57
  114. package/src/core/common/helpers/service.helper.ts +149 -117
  115. package/src/core/common/inputs/combined-filter.input.ts +2 -2
  116. package/src/core/common/inputs/core-input.input.ts +2 -2
  117. package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
  118. package/src/core/common/interfaces/resolve-selector.interface.ts +9 -0
  119. package/src/core/common/interfaces/service-options.interface.ts +53 -0
  120. package/src/core/common/models/core-model.model.ts +6 -2
  121. package/src/core/common/pipes/check-input.pipe.ts +4 -4
  122. package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
  123. package/src/core/common/services/crud.service.ts +105 -0
  124. package/src/core/common/services/email.service.ts +9 -9
  125. package/src/core/common/services/module.service.ts +114 -0
  126. package/src/core/common/types/core-model-constructor.type.ts +30 -0
  127. package/src/core/common/types/field-selection.type.ts +8 -0
  128. package/src/core/common/types/string-or-object-id.type.ts +3 -0
  129. package/src/core/modules/auth/core-auth.module.ts +1 -1
  130. package/src/core/modules/auth/core-auth.resolver.ts +8 -3
  131. package/src/core/modules/auth/services/core-auth-user.service.ts +7 -1
  132. package/src/core/modules/auth/services/core-auth.service.ts +14 -4
  133. package/src/core/modules/user/core-user.model.ts +2 -1
  134. package/src/core/modules/user/core-user.service.ts +131 -194
  135. package/src/core.module.ts +2 -2
  136. package/src/index.ts +8 -1
  137. package/src/main.ts +1 -1
  138. package/src/server/modules/auth/auth.resolver.ts +8 -3
  139. package/src/server/modules/file/file.controller.ts +2 -2
  140. package/src/server/modules/user/avatar.controller.ts +2 -2
  141. package/src/server/modules/user/user.module.ts +7 -3
  142. package/src/server/modules/user/user.resolver.ts +62 -37
  143. package/src/server/modules/user/user.service.ts +23 -53
  144. package/src/test/test.helper.ts +31 -30
  145. package/dist/core/modules/user/core-basic-user.service.d.ts +0 -17
  146. package/dist/core/modules/user/core-basic-user.service.js +0 -73
  147. package/dist/core/modules/user/core-basic-user.service.js.map +0 -1
  148. package/src/core/modules/user/core-basic-user.service.ts +0 -138
@@ -1,91 +1,99 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServiceHelper = void 0;
3
+ exports.prepareOutput = exports.prepareInput = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const bcrypt = require("bcrypt");
6
6
  const _ = require("lodash");
7
7
  const role_enum_1 = require("../enums/role.enum");
8
8
  class ServiceHelper {
9
9
  static async prepareInput(input, currentUser, options = {}) {
10
- const config = Object.assign({ checkRoles: false, clone: false, create: false, getNewArray: false, removeUndefined: false }, options);
11
- if (typeof input !== 'object') {
12
- return input;
13
- }
14
- if (Array.isArray(input)) {
15
- const processedArray = input.map(async (item) => await ServiceHelper.prepareInput(item, currentUser, options));
16
- return config.getNewArray ? processedArray : input;
17
- }
18
- if (config.clone) {
19
- if (input.mapDeep && typeof input.mapDeep === 'function') {
20
- input = await Object.getPrototypeOf(input).mapDeep(input);
21
- }
22
- else {
23
- input = _.cloneDeep(input);
24
- }
25
- }
26
- if (config.removeUndefined) {
27
- Object.keys(input).forEach((key) => input[key] === undefined && delete input[key]);
28
- }
29
- if (config.checkRoles &&
30
- input.roles &&
31
- (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.hasRole) || !currentUser.hasRole(role_enum_1.RoleEnum.ADMIN))) {
32
- if (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.roles)) {
33
- throw new common_1.UnauthorizedException('Missing roles of current user');
34
- }
35
- else {
36
- const allowedRoles = _.intersection(input.roles, currentUser.roles);
37
- if (allowedRoles.length !== input.roles.length) {
38
- const missingRoles = _.difference(input.roles, currentUser.roles);
39
- throw new common_1.UnauthorizedException('Current user not allowed setting roles: ' + missingRoles);
40
- }
41
- input.roles = allowedRoles;
42
- }
43
- }
44
- if (input.password) {
45
- input.password = await bcrypt.hash(input.password, 10);
46
- }
47
- if (config.create && currentUser) {
48
- input.createdBy = currentUser.id;
49
- }
50
- if (currentUser) {
51
- input.updatedBy = currentUser.id;
52
- }
53
- return input;
10
+ return prepareInput(input, currentUser, options);
54
11
  }
55
12
  static async prepareOutput(output, options = {}) {
56
- const config = Object.assign({ clone: false, getNewArray: false, removeUndefined: false, targetModel: undefined }, options);
57
- if (typeof output !== 'object') {
58
- return output;
13
+ return prepareOutput(output, options);
14
+ }
15
+ }
16
+ exports.default = ServiceHelper;
17
+ async function prepareInput(input, currentUser, options = {}) {
18
+ const config = Object.assign({ checkRoles: false, clone: false, create: false, getNewArray: false, removeUndefined: false }, options);
19
+ if (typeof input !== 'object') {
20
+ return input;
21
+ }
22
+ if (Array.isArray(input)) {
23
+ const processedArray = input.map(async (item) => await prepareInput(item, currentUser, options));
24
+ return config.getNewArray ? processedArray : input;
25
+ }
26
+ if (config.clone) {
27
+ if (input.mapDeep && typeof input.mapDeep === 'function') {
28
+ input = await Object.getPrototypeOf(input).mapDeep(input);
59
29
  }
60
- if (Array.isArray(output)) {
61
- const processedArray = output.map(async (item) => await ServiceHelper.prepareOutput(item, options));
62
- return config.getNewArray ? processedArray : output;
30
+ else {
31
+ input = _.cloneDeep(input);
63
32
  }
64
- if (config.clone) {
65
- if (output.mapDeep && typeof output.mapDeep === 'function') {
66
- output = await Object.getPrototypeOf(output).mapDeep(output);
67
- }
68
- else {
69
- output = _.cloneDeep(output);
33
+ }
34
+ if (config.removeUndefined) {
35
+ Object.keys(input).forEach((key) => input[key] === undefined && delete input[key]);
36
+ }
37
+ if (config.checkRoles &&
38
+ input.roles &&
39
+ (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.hasRole) || !currentUser.hasRole(role_enum_1.RoleEnum.ADMIN))) {
40
+ if (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.roles)) {
41
+ throw new common_1.UnauthorizedException('Missing roles of current user');
42
+ }
43
+ else {
44
+ const allowedRoles = _.intersection(input.roles, currentUser.roles);
45
+ if (allowedRoles.length !== input.roles.length) {
46
+ const missingRoles = _.difference(input.roles, currentUser.roles);
47
+ throw new common_1.UnauthorizedException('Current user not allowed setting roles: ' + missingRoles);
70
48
  }
49
+ input.roles = allowedRoles;
71
50
  }
72
- if (config.targetModel) {
73
- output = await config.targetModel.map(output);
74
- }
75
- if (output.password) {
76
- output.password = undefined;
77
- }
78
- if (output.verificationToken) {
79
- output.verificationToken = undefined;
80
- }
81
- if (output.passwordResetToken) {
82
- output.passwordResetToken = undefined;
51
+ }
52
+ if (input.password) {
53
+ input.password = await bcrypt.hash(input.password, 10);
54
+ }
55
+ if (config.create && currentUser) {
56
+ input.createdBy = currentUser.id;
57
+ }
58
+ if (currentUser) {
59
+ input.updatedBy = currentUser.id;
60
+ }
61
+ return input;
62
+ }
63
+ exports.prepareInput = prepareInput;
64
+ async function prepareOutput(output, options = {}) {
65
+ const config = Object.assign({ clone: false, getNewArray: false, removeUndefined: false, targetModel: undefined }, options);
66
+ if (typeof output !== 'object') {
67
+ return output;
68
+ }
69
+ if (Array.isArray(output)) {
70
+ const processedArray = output.map(async (item) => await prepareOutput(item, options));
71
+ return config.getNewArray ? processedArray : output;
72
+ }
73
+ if (config.clone) {
74
+ if (output.mapDeep && typeof output.mapDeep === 'function') {
75
+ output = await Object.getPrototypeOf(output).mapDeep(output);
83
76
  }
84
- if (config.removeUndefined) {
85
- Object.keys(output).forEach((key) => output[key] === undefined && delete output[key]);
77
+ else {
78
+ output = _.cloneDeep(output);
86
79
  }
87
- return output;
88
80
  }
81
+ if (config.targetModel) {
82
+ output = await config.targetModel.map(output);
83
+ }
84
+ if (output.password) {
85
+ output.password = undefined;
86
+ }
87
+ if (output.verificationToken) {
88
+ output.verificationToken = undefined;
89
+ }
90
+ if (output.passwordResetToken) {
91
+ output.passwordResetToken = undefined;
92
+ }
93
+ if (config.removeUndefined) {
94
+ Object.keys(output).forEach((key) => output[key] === undefined && delete output[key]);
95
+ }
96
+ return output;
89
97
  }
90
- exports.ServiceHelper = ServiceHelper;
98
+ exports.prepareOutput = prepareOutput;
91
99
  //# sourceMappingURL=service.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/service.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/service.helper.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ let CombinedFilterInput = class CombinedFilterInput extends core_input_input_1.C
23
23
  }
24
24
  map(data, options = {}) {
25
25
  super.map(data, options);
26
- this.filters = model_helper_1.ModelHelper.maps(data.filters, filter_input_1.FilterInput, options.cloneDeep);
26
+ this.filters = (0, model_helper_1.maps)(data.filters, filter_input_1.FilterInput, options.cloneDeep);
27
27
  Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
28
28
  return this;
29
29
  }
@@ -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,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"}
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,0DAA+C;AAC/C,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,IAAA,mBAAI,EAAC,IAAI,CAAC,OAAO,EAAE,0BAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,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"}
@@ -6,7 +6,7 @@ const core_model_model_1 = require("../models/core-model.model");
6
6
  class CoreInput extends core_model_model_1.CoreModel {
7
7
  map(data, options = {}) {
8
8
  const config = Object.assign({ cloneDeep: false, funcAllowed: false, mapId: false }, options);
9
- const coreInput = model_helper_1.ModelHelper.map(data, this, config);
9
+ const coreInput = (0, model_helper_1.map)(data, this, config);
10
10
  Object.keys(coreInput).forEach((key) => coreInput[key] === undefined && delete coreInput[key]);
11
11
  return coreInput;
12
12
  }
@@ -1 +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
+ {"version":3,"file":"core-input.input.js","sourceRoot":"","sources":["../../../../src/core/common/inputs/core-input.input.ts"],"names":[],"mappings":";;;AAAA,0DAA8C;AAC9C,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,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,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"}
@@ -13,7 +13,7 @@ const restricted_decorator_1 = require("../decorators/restricted.decorator");
13
13
  const context_helper_1 = require("../helpers/context.helper");
14
14
  let CheckResponseInterceptor = class CheckResponseInterceptor {
15
15
  intercept(context, next) {
16
- const { currentUser } = context_helper_1.Context.getData(context);
16
+ const { currentUser } = (0, context_helper_1.getContextData)(context);
17
17
  return next.handle().pipe((0, operators_1.map)((data) => {
18
18
  return (0, restricted_decorator_1.checkRestricted)(data, currentUser, { throwError: false });
19
19
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"check-response.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAE5F,8CAAqC;AACrC,6EAAqE;AACrE,8DAAoD;AAMpD,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAInC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,MAAM,EAAE,WAAW,EAAE,GAAQ,wBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAGtD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,OAAO,IAAA,sCAAe,EAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAgBpC;AAhBY,4DAAwB"}
1
+ {"version":3,"file":"check-response.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAE5F,8CAAqC;AACrC,6EAAqE;AACrE,8DAA2D;AAM3D,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAInC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,MAAM,EAAE,WAAW,EAAE,GAAQ,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC;QAGrD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,OAAO,IAAA,sCAAe,EAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAgBpC;AAhBY,4DAAwB"}
@@ -0,0 +1,5 @@
1
+ import { GraphQLResolveInfo } from 'graphql';
2
+ export interface ResolveSelector {
3
+ info: GraphQLResolveInfo;
4
+ select?: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=resolve-selector.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-selector.interface.js","sourceRoot":"","sources":["../../../../src/core/common/interfaces/resolve-selector.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { Model } from 'mongoose';
2
+ import { FieldSelection } from '../types/field-selection.type';
3
+ export interface ServiceOptions {
4
+ [key: string]: any;
5
+ currentUser?: {
6
+ [key: string]: any;
7
+ id: string;
8
+ roles?: string[];
9
+ };
10
+ fieldSelection?: FieldSelection;
11
+ processFieldSelection?: {
12
+ model?: new (...args: any[]) => any;
13
+ dbModel?: Model<any>;
14
+ };
15
+ prepareInput?: {
16
+ [key: string]: any;
17
+ create?: boolean;
18
+ clone?: boolean;
19
+ getNewArray?: boolean;
20
+ removeUndefined?: boolean;
21
+ };
22
+ prepareOutput?: {
23
+ [key: string]: any;
24
+ clone?: boolean;
25
+ getNewArray?: boolean;
26
+ removeUndefined?: boolean;
27
+ targetModel?: new (...args: any[]) => any;
28
+ };
29
+ pubSub?: boolean;
30
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-options.interface.js","sourceRoot":"","sources":["../../../../src/core/common/interfaces/service-options.interface.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  export declare abstract class CoreModel {
2
2
  static init<T extends CoreModel>(this: new (...args: any[]) => T, ...args: any[]): T;
3
3
  static map<T extends CoreModel>(this: new (...args: any[]) => T, data: Partial<T> | Record<string, any>, options?: {
4
+ [key: string]: any;
4
5
  cloneDeep?: boolean;
5
6
  funcAllowed?: boolean;
6
7
  init?: any;
@@ -8,6 +9,7 @@ export declare abstract class CoreModel {
8
9
  mapId?: boolean;
9
10
  }): T;
10
11
  static mapDeep<T extends CoreModel>(this: new (...args: any[]) => T, data: Partial<T> | Record<string, any>, options?: {
12
+ [key: string]: any;
11
13
  cloneDeep?: boolean;
12
14
  funcAllowed?: boolean;
13
15
  init?: any;
@@ -16,12 +18,14 @@ export declare abstract class CoreModel {
16
18
  }): T;
17
19
  init<T extends CoreModel>(...args: any[]): this;
18
20
  map(data: Partial<this> | Record<string, any>, options?: {
21
+ [key: string]: any;
19
22
  cloneDeep?: boolean;
20
23
  funcAllowed?: boolean;
21
24
  init?: any;
22
25
  mapId?: boolean;
23
26
  }): this;
24
27
  mapDeep(data: Partial<this> | Record<string, any>, options?: {
28
+ [key: string]: any;
25
29
  cloneDeep?: boolean;
26
30
  funcAllowed?: boolean;
27
31
  init?: any;
@@ -24,7 +24,7 @@ class CoreModel {
24
24
  }
25
25
  map(data, options = {}) {
26
26
  const config = Object.assign({ cloneDeep: false, funcAllowed: false, init: undefined, mapId: false }, options);
27
- return config.init ? model_helper_1.ModelHelper.map(data, this, config).init(config.init) : model_helper_1.ModelHelper.map(data, this, config);
27
+ return config.init ? (0, model_helper_1.map)(data, this, config).init(config.init) : (0, model_helper_1.map)(data, this, config);
28
28
  }
29
29
  mapDeep(data, options = {}) {
30
30
  const config = Object.assign({ cloneDeep: true, funcAllowed: false, init: undefined, mapId: false }, options);
@@ -1 +1 @@
1
- {"version":3,"file":"core-model.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-model.model.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AAYtD,MAAsB,SAAS;IAItB,MAAM,CAAC,IAAI,CAAuD,GAAG,IAAW;QACrF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKM,MAAM,CAAC,GAAG,CAEf,IAAsC,EACtC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,IAAI,EAAE,IAAI,IACP,OAAO,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAUM,MAAM,CAAC,OAAO,CAEnB,IAAsC,EACtC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,IAAI,EAAE,IAAI,IACP,OAAO,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAMM,IAAI,CAAsB,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAKM,GAAG,CACR,IAAyC,EACzC,UAKI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnH,CAAC;IAUM,OAAO,CACZ,IAAyC,EACzC,UAKI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AAtHD,8BAsHC"}
1
+ {"version":3,"file":"core-model.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-model.model.ts"],"names":[],"mappings":";;;AAAA,0DAA8C;AAY9C,MAAsB,SAAS;IAItB,MAAM,CAAC,IAAI,CAAuD,GAAG,IAAW;QACrF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKM,MAAM,CAAC,GAAG,CAEf,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,MAAM,mBACV,IAAI,EAAE,IAAI,IACP,OAAO,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAUM,MAAM,CAAC,OAAO,CAEnB,IAAsC,EACtC,UAOI,EAAE;QAEN,MAAM,MAAM,mBACV,IAAI,EAAE,IAAI,IACP,OAAO,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAMM,IAAI,CAAsB,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAKM,GAAG,CACR,IAAyC,EACzC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAG,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAUM,OAAO,CACZ,IAAyC,EACzC,UAMI,EAAE;QAEN,MAAM,MAAM,mBACV,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IACT,OAAO,CACX,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AA1HD,8BA0HC"}
@@ -23,8 +23,8 @@ let CheckInputPipe = class CheckInputPipe {
23
23
  }
24
24
  async transform(value, metadata) {
25
25
  const metatype = metadata === null || metadata === void 0 ? void 0 : metadata.metatype;
26
- const { user } = context_helper_1.Context.getData(this.context);
27
- return input_helper_1.InputHelper.check(value, user, metatype);
26
+ const { user } = (0, context_helper_1.getContextData)(this.context);
27
+ return (0, input_helper_1.check)(value, user, metatype);
28
28
  }
29
29
  };
30
30
  CheckInputPipe = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"check-input.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/check-input.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,6CAA0C;AAC1C,8DAAoD;AACpD,0DAAsD;AAUtD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,YAAgD,OAAO;QAAP,YAAO,GAAP,OAAO,CAAA;IAAG,CAAC;IAK3D,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAEpD,MAAM,QAAQ,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC;QAGpC,MAAM,EAAE,IAAI,EAAE,GAAQ,wBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAGpD,OAAO,0BAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAnBY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAKE,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,CAAA;;GAJjB,cAAc,CAmB1B;AAnBY,wCAAc"}
1
+ {"version":3,"file":"check-input.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/check-input.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,6CAA0C;AAC1C,8DAA2D;AAC3D,0DAAgD;AAUhD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,YAAgD,OAAO;QAAP,YAAO,GAAP,OAAO,CAAA;IAAG,CAAC;IAK3D,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAEpD,MAAM,QAAQ,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC;QAGpC,MAAM,EAAE,IAAI,EAAE,GAAQ,IAAA,+BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAGnD,OAAO,IAAA,oBAAK,EAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF,CAAA;AAnBY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAKE,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,CAAA;;GAJjB,cAAc,CAmB1B;AAnBY,wCAAc"}
@@ -14,7 +14,7 @@ const input_helper_1 = require("../helpers/input.helper");
14
14
  let MapAndValidatePipe = class MapAndValidatePipe {
15
15
  async transform(value, metadata) {
16
16
  const { metatype } = metadata;
17
- if (typeof value !== 'object' || !metatype || input_helper_1.InputHelper.isBasicType(metatype)) {
17
+ if (typeof value !== 'object' || !metatype || (0, input_helper_1.isBasicType)(metatype)) {
18
18
  return value;
19
19
  }
20
20
  if (!(value instanceof metatype)) {
@@ -1 +1 @@
1
- {"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAClG,yDAAoD;AACpD,qDAA2C;AAC3C,0DAAsD;AAGtD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAC7B,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,0BAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAC/E,OAAO,KAAK,CAAC;SACd;QAGD,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE;YAChC,IAAK,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,GAAG,EAAE;gBAC1B,KAAK,GAAI,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,GAAG,CAAC,KAAK,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAK,GAAG,IAAA,mCAAe,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC1C;SACF;QAGD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;SAC1D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzBY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAyB9B;AAzBY,gDAAkB"}
1
+ {"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAClG,yDAAoD;AACpD,qDAA2C;AAC3C,0DAAsD;AAGtD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAC7B,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAA,0BAAW,EAAC,QAAQ,CAAC,EAAE;YACnE,OAAO,KAAK,CAAC;SACd;QAGD,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE;YAChC,IAAK,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,GAAG,EAAE;gBAC1B,KAAK,GAAI,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,GAAG,CAAC,KAAK,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAK,GAAG,IAAA,mCAAe,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC1C;SACF;QAGD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;SAC1D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzBY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAyB9B;AAzBY,gDAAkB"}
@@ -0,0 +1,13 @@
1
+ import { FilterArgs } from '../args/filter.args';
2
+ import { ServiceOptions } from '../interfaces/service-options.interface';
3
+ import { CoreModel } from '../models/core-model.model';
4
+ import { ModuleService } from './module.service';
5
+ export declare abstract class CrudService<T extends CoreModel = any> extends ModuleService<T> {
6
+ create(input: any, serviceOptions?: ServiceOptions): Promise<T>;
7
+ get(id: string, serviceOptions?: ServiceOptions): Promise<T>;
8
+ find(filterArgs?: FilterArgs, serviceOptions?: ServiceOptions): Promise<T[]>;
9
+ read(id: string, serviceOptions?: ServiceOptions): Promise<T>;
10
+ read(filterArgs?: FilterArgs, serviceOptions?: ServiceOptions): Promise<T[]>;
11
+ update(id: string, input: any, serviceOptions?: ServiceOptions): Promise<T>;
12
+ delete(id: string, serviceOptions?: ServiceOptions): Promise<T>;
13
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudService = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const config_helper_1 = require("../helpers/config.helper");
6
+ const filter_helper_1 = require("../helpers/filter.helper");
7
+ const module_service_1 = require("./module.service");
8
+ class CrudService extends module_service_1.ModuleService {
9
+ async create(input, serviceOptions) {
10
+ (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
11
+ return this.process(async (data) => {
12
+ return new this.mainDbModel(Object.assign({}, data.input)).save();
13
+ }, { input, serviceOptions });
14
+ }
15
+ async get(id, serviceOptions) {
16
+ return this.process(async (data) => {
17
+ const item = await this.mainDbModel.findById(data.input).exec();
18
+ if (!item) {
19
+ throw new common_1.NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
20
+ }
21
+ return item;
22
+ }, { input: id, serviceOptions });
23
+ }
24
+ async find(filterArgs, serviceOptions) {
25
+ return this.process(async (data) => {
26
+ const filterQuery = (0, filter_helper_1.convertFilterArgsToQuery)(data.input);
27
+ return this.mainDbModel.find(filterQuery[0], null, filterQuery[1]).exec();
28
+ }, { input: filterArgs, serviceOptions });
29
+ }
30
+ async read(input, serviceOptions) {
31
+ if (typeof input === 'string') {
32
+ return this.get(input, serviceOptions);
33
+ }
34
+ else {
35
+ return this.find(input, serviceOptions);
36
+ }
37
+ }
38
+ async update(id, input, serviceOptions) {
39
+ return this.process(async (data) => {
40
+ const item = await this.mainDbModel.findById(id).exec();
41
+ if (!item) {
42
+ throw new common_1.NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
43
+ }
44
+ return await Object.assign(item, data.input).save();
45
+ }, { input, serviceOptions });
46
+ }
47
+ async delete(id, serviceOptions) {
48
+ return this.process(async (data) => {
49
+ const item = await this.mainDbModel.findById(id).exec();
50
+ if (!item) {
51
+ throw new common_1.NotFoundException(`No ${this.mainModelConstructor.name} found with ID: ${id}`);
52
+ }
53
+ await this.mainDbModel.findByIdAndDelete(id).exec();
54
+ return item;
55
+ }, { input: id, serviceOptions });
56
+ }
57
+ }
58
+ exports.CrudService = CrudService;
59
+ //# sourceMappingURL=crud.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/crud.service.ts"],"names":[],"mappings":"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"}
@@ -24,21 +24,21 @@ let EmailService = class EmailService {
24
24
  const { attachments, htmlTemplate, senderName, senderEmail, templateData, textTemplate } = Object.assign({ senderEmail: this.configService.get('email.defaultSender.email'), senderName: this.configService.get('email.defaultSender.name') }, config);
25
25
  let html = config.html;
26
26
  let text = config.text;
27
- input_helper_1.InputHelper.isTrue(recipients);
28
- input_helper_1.InputHelper.isNonEmptyString(subject);
29
- input_helper_1.InputHelper.isNonEmptyString(senderName);
30
- input_helper_1.InputHelper.isNonEmptyString(senderEmail);
27
+ (0, input_helper_1.isTrue)(recipients);
28
+ (0, input_helper_1.isNonEmptyString)(subject);
29
+ (0, input_helper_1.isNonEmptyString)(senderName);
30
+ (0, input_helper_1.isNonEmptyString)(senderEmail);
31
31
  if (htmlTemplate) {
32
32
  html = await this.templateService.renderTemplate(htmlTemplate, templateData);
33
33
  }
34
34
  if (textTemplate) {
35
35
  text = await this.templateService.renderTemplate(textTemplate, templateData);
36
36
  }
37
- if (!input_helper_1.InputHelper.isNonEmptyString(html, input_helper_1.InputHelper.returnFalse)) {
38
- input_helper_1.InputHelper.isNonEmptyString(text);
37
+ if (!(0, input_helper_1.isNonEmptyString)(html, input_helper_1.returnFalse)) {
38
+ (0, input_helper_1.isNonEmptyString)(text);
39
39
  }
40
- if (!input_helper_1.InputHelper.isNonEmptyString(text, input_helper_1.InputHelper.returnFalse)) {
41
- input_helper_1.InputHelper.isNonEmptyString(html);
40
+ if (!(0, input_helper_1.isNonEmptyString)(text, input_helper_1.returnFalse)) {
41
+ (0, input_helper_1.isNonEmptyString)(html);
42
42
  }
43
43
  const transporter = nodemailer.createTransport(this.configService.get('email.smtp'));
44
44
  return transporter.sendMail({
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yCAAyC;AAEzC,0DAAsD;AACtD,qDAAiD;AACjD,yDAAqD;AAMrD,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YAAsB,aAA4B,EAAY,eAAgC;QAAxE,kBAAa,GAAb,aAAa,CAAe;QAAY,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAK3F,KAAK,CAAC,QAAQ,CACnB,UAA6B,EAC7B,OAAe,EACf,MASC;QAGD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,mBACtF,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAChE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAC3D,MAAM,CACV,CAAC;QAEF,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAGvB,0BAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,0BAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtC,0BAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzC,0BAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAG1C,IAAI,YAAY,EAAE;YAChB,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9E;QAGD,IAAI,YAAY,EAAE;YAChB,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9E;QAGD,IAAI,CAAC,0BAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,0BAAW,CAAC,WAAW,CAAC,EAAE;YAChE,0BAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,0BAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,0BAAW,CAAC,WAAW,CAAC,EAAE;YAChE,0BAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACpC;QAGD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAGrF,OAAO,WAAW,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,IAAI,UAAU,MAAM,WAAW,GAAG;YACxC,EAAE,EAAE,UAAU;YACd,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtEY,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAK0B,8BAAa,EAA6B,kCAAe;GAJnF,YAAY,CAsExB;AAtEY,oCAAY"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yCAAyC;AAEzC,0DAAgF;AAChF,qDAAiD;AACjD,yDAAqD;AAMrD,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YAAsB,aAA4B,EAAY,eAAgC;QAAxE,kBAAa,GAAb,aAAa,CAAe;QAAY,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAK3F,KAAK,CAAC,QAAQ,CACnB,UAA6B,EAC7B,OAAe,EACf,MASC;QAGD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,mBACtF,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAChE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAC3D,MAAM,CACV,CAAC;QAEF,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAGvB,IAAA,qBAAM,EAAC,UAAU,CAAC,CAAC;QACnB,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;QAC1B,IAAA,+BAAgB,EAAC,UAAU,CAAC,CAAC;QAC7B,IAAA,+BAAgB,EAAC,WAAW,CAAC,CAAC;QAG9B,IAAI,YAAY,EAAE;YAChB,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9E;QAGD,IAAI,YAAY,EAAE;YAChB,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9E;QAGD,IAAI,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,0BAAW,CAAC,EAAE;YACxC,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,0BAAW,CAAC,EAAE;YACxC,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;SACxB;QAGD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAGrF,OAAO,WAAW,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,IAAI,UAAU,MAAM,WAAW,GAAG;YACxC,EAAE,EAAE,UAAU;YACd,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtEY,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAK0B,8BAAa,EAA6B,kCAAe;GAJnF,YAAY,CAsExB;AAtEY,oCAAY"}
@@ -0,0 +1,27 @@
1
+ import { Document, Model } from 'mongoose';
2
+ import { ServiceOptions } from '../interfaces/service-options.interface';
3
+ import { CoreModel } from '../models/core-model.model';
4
+ import { FieldSelection } from '../types/field-selection.type';
5
+ export declare abstract class ModuleService<T extends CoreModel = any> {
6
+ protected mainModelConstructor: new (...args: any[]) => T;
7
+ protected mainDbModel: Model<T & Document>;
8
+ protected constructor(options?: {
9
+ mainDbModel: Model<T & Document>;
10
+ mainModelConstructor?: new (...args: any[]) => T;
11
+ });
12
+ process(serviceFunc: (options?: {
13
+ [key: string]: any;
14
+ input?: any;
15
+ serviceOptions?: ServiceOptions;
16
+ }) => any, options?: {
17
+ [key: string]: any;
18
+ input?: any;
19
+ serviceOptions?: ServiceOptions;
20
+ }): Promise<any>;
21
+ prepareInput(input: Record<string, any>, options?: ServiceOptions): Promise<Record<string, any>>;
22
+ prepareOutput(output: any, options?: ServiceOptions): Promise<any>;
23
+ processFieldSelection(data: any, fieldsSelection: FieldSelection, options?: {
24
+ model?: new (...args: any[]) => T;
25
+ dbModel?: Model<T & Document>;
26
+ }): Promise<T | T[]>;
27
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModuleService = void 0;
4
+ const db_helper_1 = require("../helpers/db.helper");
5
+ const service_helper_1 = require("../helpers/service.helper");
6
+ class ModuleService {
7
+ constructor(options) {
8
+ this.mainDbModel = options === null || options === void 0 ? void 0 : options.mainDbModel;
9
+ this.mainModelConstructor = options === null || options === void 0 ? void 0 : options.mainModelConstructor;
10
+ }
11
+ async process(serviceFunc, options) {
12
+ const config = Object.assign({ currentUser: null, fieldSelection: null, processFieldSelection: {}, prepareInput: {}, prepareOutput: {}, pubSub: true }, options === null || options === void 0 ? void 0 : options.serviceOptions);
13
+ if (config.prepareInput && this.prepareInput) {
14
+ await this.prepareInput(options === null || options === void 0 ? void 0 : options.input, config.prepareInput);
15
+ }
16
+ const result = await serviceFunc(options);
17
+ if (config.processFieldSelection && config.fieldSelection && this.processFieldSelection) {
18
+ await this.processFieldSelection(result, config.fieldSelection, config.processFieldSelection);
19
+ }
20
+ if (config.prepareOutput && this.prepareOutput) {
21
+ if (config.processFieldSelection && config.fieldSelection && this.processFieldSelection) {
22
+ config.prepareOutput.targetModel = null;
23
+ }
24
+ return this.prepareOutput(result, config.prepareOutput);
25
+ }
26
+ return result;
27
+ }
28
+ async prepareInput(input, options = {}) {
29
+ return (0, service_helper_1.prepareInput)(input, options.currentUser, options.prepareInput);
30
+ }
31
+ async prepareOutput(output, options = {}) {
32
+ const config = Object.assign({ targetModel: this.mainModelConstructor }, options === null || options === void 0 ? void 0 : options.prepareOutput);
33
+ return (0, service_helper_1.prepareOutput)(output, config);
34
+ }
35
+ async processFieldSelection(data, fieldsSelection, options = {}) {
36
+ const config = Object.assign({ model: this.mainModelConstructor, dbModel: this.mainDbModel }, options);
37
+ return (0, db_helper_1.popAndMap)(data, fieldsSelection, config.model, config.dbModel);
38
+ }
39
+ }
40
+ exports.ModuleService = ModuleService;
41
+ //# sourceMappingURL=module.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":";;;AACA,oDAAiD;AACjD,8DAAwE;AAQxE,MAAsB,aAAa;IAcjC,YAAsB,OAGrB;QACC,IAAI,CAAC,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC;IAC5D,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,WAAoG,EACpG,OAA8E;QAG9E,MAAM,MAAM,mBACV,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,EACpB,qBAAqB,EAAE,EAAE,EACzB,YAAY,EAAE,EAAE,EAChB,aAAa,EAAE,EAAE,EACjB,MAAM,EAAE,IAAI,IACT,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAC3B,CAAC;QAGF,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;SAC9D;QAGD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAG1C,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAAE;YACvF,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAC/F;QAGD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE;YAE9C,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBACvF,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;aACzC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;SACzD;QAGD,OAAO,MAAM,CAAC;IAChB,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,KAA0B,EAAE,UAA0B,EAAE;QACzE,OAAO,IAAA,6BAAY,EAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,MAAW,EAAE,UAA0B,EAAE;QAC3D,MAAM,MAAM,mBACV,WAAW,EAAE,IAAI,CAAC,oBAAoB,IACnC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAC1B,CAAC;QACF,OAAO,IAAA,8BAAa,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAMD,KAAK,CAAC,qBAAqB,CACzB,IAAS,EACT,eAA+B,EAC/B,UAGI,EAAE;QAEN,MAAM,MAAM,mBACV,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,IACtB,OAAO,CACX,CAAC;QACF,OAAO,IAAA,qBAAS,EAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;CACF;AAvGD,sCAuGC"}
@@ -0,0 +1,21 @@
1
+ import { CoreModel } from '../models/core-model.model';
2
+ export declare type CoreModelConstructor<T extends CoreModel> = {
3
+ new (): T;
4
+ init(this: new (...args: any[]) => T, ...args: any[]): T;
5
+ map(this: new (...args: any[]) => T, data: Partial<T> | Record<string, any>, options?: {
6
+ [key: string]: any;
7
+ cloneDeep?: boolean;
8
+ funcAllowed?: boolean;
9
+ init?: any;
10
+ item?: T;
11
+ mapId?: boolean;
12
+ }): T;
13
+ mapDeep(this: new (...args: any[]) => T, data: Partial<T> | Record<string, any>, options: {
14
+ [key: string]: any;
15
+ cloneDeep?: boolean;
16
+ funcAllowed?: boolean;
17
+ init?: any;
18
+ item?: T;
19
+ mapId?: boolean;
20
+ }): T;
21
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=core-model-constructor.type.js.map