@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
@@ -17,16 +17,17 @@ const graphql_1 = require("@nestjs/graphql");
17
17
  const core_auth_resolver_1 = require("../../../core/modules/auth/core-auth.resolver");
18
18
  const auth_model_1 = require("./auth.model");
19
19
  let AuthResolver = class AuthResolver extends core_auth_resolver_1.CoreAuthResolver {
20
- async signIn(email, password) {
21
- return (await this.authService.signIn(email, password));
20
+ async signIn(email, password, info) {
21
+ return (await this.authService.signIn(email, password, { fieldSelection: { info, select: 'signIn' } }));
22
22
  }
23
23
  };
24
24
  __decorate([
25
25
  (0, graphql_1.Query)((returns) => auth_model_1.Auth, { description: 'Get JWT token' }),
26
26
  __param(0, (0, graphql_1.Args)('email')),
27
27
  __param(1, (0, graphql_1.Args)('password')),
28
+ __param(2, (0, graphql_1.Info)()),
28
29
  __metadata("design:type", Function),
29
- __metadata("design:paramtypes", [String, String]),
30
+ __metadata("design:paramtypes", [String, String, Object]),
30
31
  __metadata("design:returntype", Promise)
31
32
  ], AuthResolver.prototype, "signIn", null);
32
33
  AuthResolver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAwD;AACxD,sFAAiF;AACjF,6CAAoC;AAMpC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,qCAAgB;IAKhD,KAAK,CAAC,MAAM,CAAgB,KAAa,EAAoB,QAAgB;QAC3E,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAS,CAAC;IAClE,CAAC;CACF,CAAA;AAHC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC7C,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;;;;0CAE3D;AAPU,YAAY;IADxB,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAI,CAAC;GACV,YAAY,CAQxB;AARY,oCAAY"}
1
+ {"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA8D;AAE9D,sFAAiF;AACjF,6CAAoC;AAMpC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,qCAAgB;IAKhD,KAAK,CAAC,MAAM,CACK,KAAa,EACV,QAAgB,EAC1B,IAAwB;QAEhC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAS,CAAC;IAClH,CAAC;CACF,CAAA;AAPC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAExD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;IAChB,WAAA,IAAA,cAAI,GAAE,CAAA;;;;0CAGR;AAXU,YAAY;IADxB,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAI,CAAC;GACV,YAAY,CAYxB;AAZY,oCAAY"}
@@ -31,7 +31,7 @@ __decorate([
31
31
  (0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)('files', null, {
32
32
  storage: (0, multer_1.diskStorage)({
33
33
  destination: config_env_1.default.staticAssets.path,
34
- filename: file_helper_1.FileHelper.multerRandomFileName(),
34
+ filename: (0, file_helper_1.multerRandomFileName)(),
35
35
  }),
36
36
  })),
37
37
  __param(0, (0, common_1.UploadedFiles)()),
@@ -1 +1 @@
1
- {"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,0EAAsE;AAMtE,IAAa,cAAc,GAA3B,MAAa,cAAc;IAqBzB,UAAU,CAAkB,KAAK,EAAU,MAAW;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAHC;IAjBC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE;QAG9B,OAAO,EAAE,IAAA,oBAAW,EAAC;YAInB,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI;YAGxC,QAAQ,EAAE,wBAAU,CAAC,oBAAoB,EAAE;SAC5C,CAAC;KACH,CAAC,CACH;IACW,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAS,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAEzC;AAvBU,cAAc;IAD1B,IAAA,mBAAU,EAAC,OAAO,CAAC;GACP,cAAc,CAwB1B;AAxBY,wCAAc"}
1
+ {"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,0EAAgF;AAMhF,IAAa,cAAc,GAA3B,MAAa,cAAc;IAqBzB,UAAU,CAAkB,KAAK,EAAU,MAAW;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAHC;IAjBC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE;QAG9B,OAAO,EAAE,IAAA,oBAAW,EAAC;YAInB,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI;YAGxC,QAAQ,EAAE,IAAA,kCAAoB,GAAE;SACjC,CAAC;KACH,CAAC,CACH;IACW,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAS,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAEzC;AAvBU,cAAc;IAD1B,IAAA,mBAAU,EAAC,OAAO,CAAC;GACP,cAAc,CAwB1B;AAxBY,wCAAc"}
@@ -34,7 +34,7 @@ let AvatarController = class AvatarController {
34
34
  __decorate([
35
35
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.USER),
36
36
  (0, common_1.Post)('upload'),
37
- (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file', file_helper_1.FileHelper.multerOptionsForImageUpload({
37
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file', (0, file_helper_1.multerOptionsForImageUpload)({
38
38
  destination: config_env_1.default.staticAssets.path + '/avatars',
39
39
  }))),
40
40
  __param(0, (0, common_1.UploadedFile)()),
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,6FAA+E;AAC/E,qFAAwE;AACxE,oEAAgE;AAChE,0EAAsE;AACtE,6CAAoC;AACpC,iDAA6C;AAM7C,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAe5D,UAAU,CAAiB,IAAyB,EAAc,IAAU;QAC1E,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAHC;IAVC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,IAAI,CAAC;IACpB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,kCAAe,EACb,MAAM,EACN,wBAAU,CAAC,2BAA2B,CAAC;QACrC,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI,GAAG,UAAU;KACtD,CAAC,CACH,CACF;IACW,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,8BAAQ,GAAE,CAAA;;6CAAO,iBAAI;;kDAE3E;AArBU,gBAAgB;IAD5B,IAAA,iCAAU,EAAC,QAAQ,CAAC;qCAK0B,0BAAW;GAJ7C,gBAAgB,CAsB5B;AAtBY,4CAAgB"}
1
+ {"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,6FAA+E;AAC/E,qFAAwE;AACxE,oEAAgE;AAChE,0EAAuF;AACvF,6CAAoC;AACpC,iDAA6C;AAM7C,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAe5D,UAAU,CAAiB,IAAyB,EAAc,IAAU;QAC1E,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAHC;IAVC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,IAAI,CAAC;IACpB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,kCAAe,EACb,MAAM,EACN,IAAA,yCAA2B,EAAC;QAC1B,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI,GAAG,UAAU;KACtD,CAAC,CACH,CACF;IACW,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,8BAAQ,GAAE,CAAA;;6CAAO,iBAAI;;kDAE3E;AArBU,gBAAgB;IAD5B,IAAA,iCAAU,EAAC,QAAQ,CAAC;qCAK0B,0BAAW;GAJ7C,gBAAgB,CAsB5B;AAtBY,4CAAgB"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="mongoose/types/pipelinestage" />
2
+ /// <reference types="mongoose/types/aggregate" />
2
3
  /// <reference types="mongoose/types/connection" />
3
4
  /// <reference types="mongoose/types/cursor" />
4
5
  /// <reference types="mongoose/types/document" />
@@ -8,13 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.UserModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const mongoose_1 = require("@nestjs/mongoose");
12
+ const graphql_subscriptions_1 = require("graphql-subscriptions");
11
13
  const json_scalar_1 = require("../../../core/common/scalars/json.scalar");
12
14
  const avatar_controller_1 = require("./avatar.controller");
13
15
  const user_model_1 = require("./user.model");
14
16
  const user_resolver_1 = require("./user.resolver");
15
17
  const user_service_1 = require("./user.service");
16
- const mongoose_1 = require("@nestjs/mongoose");
17
- const graphql_subscriptions_1 = require("graphql-subscriptions");
18
18
  let UserModule = class UserModule {
19
19
  };
20
20
  UserModule = __decorate([
@@ -25,12 +25,16 @@ UserModule = __decorate([
25
25
  json_scalar_1.JSON,
26
26
  user_resolver_1.UserResolver,
27
27
  user_service_1.UserService,
28
+ {
29
+ provide: 'USER_CLASS',
30
+ useValue: user_model_1.User,
31
+ },
28
32
  {
29
33
  provide: 'PUB_SUB',
30
34
  useValue: new graphql_subscriptions_1.PubSub(),
31
35
  },
32
36
  ],
33
- exports: [mongoose_1.MongooseModule, user_resolver_1.UserResolver, user_service_1.UserService],
37
+ exports: [mongoose_1.MongooseModule, user_resolver_1.UserResolver, user_service_1.UserService, 'USER_CLASS'],
34
38
  })
35
39
  ], UserModule);
36
40
  exports.UserModule = UserModule;
@@ -1 +1 @@
1
- {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0EAAgE;AAChE,2DAAuD;AACvD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;AAC7C,+CAAkD;AAClD,iEAA+C;AAmB/C,IAAa,UAAU,GAAvB,MAAa,UAAU;CAAG,CAAA;AAAb,UAAU;IAdtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAU,EAAE,CAAC,CAAC,CAAC;QAC/E,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE;YACT,kBAAI;YACJ,4BAAY;YACZ,0BAAW;YACX;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;SACF;QACD,OAAO,EAAE,CAAC,yBAAc,EAAE,4BAAY,EAAE,0BAAW,CAAC;KACrD,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,iEAA+C;AAC/C,0EAAgE;AAChE,2DAAuD;AACvD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;AAuB7C,IAAa,UAAU,GAAvB,MAAa,UAAU;CAAG,CAAA;AAAb,UAAU;IAlBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAU,EAAE,CAAC,CAAC,CAAC;QAC/E,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE;YACT,kBAAI;YACJ,4BAAY;YACZ,0BAAW;YACX;gBACE,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,iBAAI;aACf;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;SACF;QACD,OAAO,EAAE,CAAC,yBAAc,EAAE,4BAAY,EAAE,0BAAW,EAAE,YAAY,CAAC;KACnE,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
@@ -6,16 +6,17 @@ import { UserInput } from './inputs/user.input';
6
6
  import { User } from './user.model';
7
7
  import { UserService } from './user.service';
8
8
  export declare class UserResolver {
9
- protected readonly usersService: UserService;
9
+ protected readonly userService: UserService;
10
10
  protected readonly pubSub: PubSub;
11
- constructor(usersService: UserService, pubSub: PubSub);
12
- getUser(id: string, info: GraphQLResolveInfo): Promise<User>;
11
+ constructor(userService: UserService, pubSub: PubSub);
13
12
  findUsers(info: GraphQLResolveInfo, args?: FilterArgs): Promise<User[]>;
13
+ getUser(id: string, info: GraphQLResolveInfo): Promise<User>;
14
+ getVerifiedState(token: string): Promise<boolean>;
14
15
  requestPasswordResetMail(email: string): Promise<boolean>;
15
- verifyUser(token: string): Promise<boolean>;
16
- resetPassword(token: string, password: string): Promise<boolean>;
17
- createUser(input: UserCreateInput, user: User): Promise<User>;
18
- updateUser(input: UserInput, id: string, user: User): Promise<User>;
16
+ createUser(input: UserCreateInput, user: User, info: GraphQLResolveInfo): Promise<User>;
19
17
  deleteUser(id: string, info: GraphQLResolveInfo): Promise<User>;
18
+ resetPassword(token: string, password: string): Promise<boolean>;
19
+ updateUser(input: UserInput, id: string, user: User, info: GraphQLResolveInfo): Promise<User>;
20
+ verifyUser(token: string): Promise<boolean>;
20
21
  userCreated(): Promise<AsyncIterator<unknown, any, undefined>>;
21
22
  }
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.UserResolver = void 0;
16
+ const common_1 = require("@nestjs/common");
16
17
  const graphql_1 = require("@nestjs/graphql");
17
18
  const graphql_subscriptions_1 = require("graphql-subscriptions");
18
19
  const filter_args_1 = require("../../../core/common/args/filter.args");
@@ -24,43 +25,58 @@ const user_create_input_1 = require("./inputs/user-create.input");
24
25
  const user_input_1 = require("./inputs/user.input");
25
26
  const user_model_1 = require("./user.model");
26
27
  const user_service_1 = require("./user.service");
27
- const common_1 = require("@nestjs/common");
28
28
  let UserResolver = class UserResolver {
29
- constructor(usersService, pubSub) {
30
- this.usersService = usersService;
29
+ constructor(userService, pubSub) {
30
+ this.userService = userService;
31
31
  this.pubSub = pubSub;
32
32
  }
33
+ async findUsers(info, args) {
34
+ return await this.userService.find(args, { fieldSelection: { info, select: 'findUsers' } });
35
+ }
33
36
  async getUser(id, info) {
34
- return await this.usersService.get(id, info);
37
+ return await this.userService.get(id, { fieldSelection: { info, select: 'getUser' } });
35
38
  }
36
- async findUsers(info, args) {
37
- return await this.usersService.find(args, info);
39
+ async getVerifiedState(token) {
40
+ return await this.userService.getVerifiedState(token);
38
41
  }
39
42
  async requestPasswordResetMail(email) {
40
- return !!(await this.usersService.sendPasswordResetMail(email));
43
+ return !!(await this.userService.sendPasswordResetMail(email));
41
44
  }
42
- async verifyUser(token) {
43
- return !!(await this.usersService.verify(token));
45
+ async createUser(input, user, info) {
46
+ input = await (0, input_helper_1.check)(input, user, user_create_input_1.UserCreateInput);
47
+ return await this.userService.create(input, { currentUser: user, fieldSelection: { info, select: 'createUser' } });
44
48
  }
45
- async resetPassword(token, password) {
46
- return !!(await this.usersService.resetPassword(token, password));
49
+ async deleteUser(id, info) {
50
+ return await this.userService.delete(id, { fieldSelection: { info, select: 'deleteUser' } });
47
51
  }
48
- async createUser(input, user) {
49
- input = await input_helper_1.InputHelper.check(input, user, user_create_input_1.UserCreateInput);
50
- return await this.usersService.create(input, user);
52
+ async resetPassword(token, password) {
53
+ return !!(await this.userService.resetPassword(token, password));
51
54
  }
52
- async updateUser(input, id, user) {
53
- input = await input_helper_1.InputHelper.check(input, user, user_input_1.UserInput);
54
- return await this.usersService.update(id, input, user);
55
+ async updateUser(input, id, user, info) {
56
+ input = await (0, input_helper_1.check)(input, user, user_input_1.UserInput);
57
+ return await this.userService.update(id, input, {
58
+ currentUser: user,
59
+ fieldSelection: { info, select: 'updateUser' },
60
+ });
55
61
  }
56
- async deleteUser(id, info) {
57
- return await this.usersService.delete(id, info);
62
+ async verifyUser(token) {
63
+ return !!(await this.userService.verify(token));
58
64
  }
59
65
  async userCreated() {
60
66
  return this.pubSub.asyncIterator('userCreated');
61
67
  }
62
68
  };
63
69
  __decorate([
70
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
71
+ (0, graphql_1.Query)((returns) => [user_model_1.User], { description: 'Find users (via filter)' }),
72
+ __param(0, (0, graphql_1.Info)()),
73
+ __param(1, (0, graphql_1.Args)()),
74
+ __metadata("design:type", Function),
75
+ __metadata("design:paramtypes", [Object, filter_args_1.FilterArgs]),
76
+ __metadata("design:returntype", Promise)
77
+ ], UserResolver.prototype, "findUsers", null);
78
+ __decorate([
79
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.OWNER, role_enum_1.RoleEnum.ADMIN),
64
80
  (0, graphql_1.Query)((returns) => user_model_1.User, { description: 'Get user with specified ID' }),
65
81
  __param(0, (0, graphql_1.Args)('id')),
66
82
  __param(1, (0, graphql_1.Info)()),
@@ -69,14 +85,12 @@ __decorate([
69
85
  __metadata("design:returntype", Promise)
70
86
  ], UserResolver.prototype, "getUser", null);
71
87
  __decorate([
72
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.USER),
73
- (0, graphql_1.Query)((returns) => [user_model_1.User], { description: 'Find users (via filter)' }),
74
- __param(0, (0, graphql_1.Info)()),
75
- __param(1, (0, graphql_1.Args)()),
88
+ (0, graphql_1.Query)((returns) => Boolean, { description: 'Get verified state of user with token' }),
89
+ __param(0, (0, graphql_1.Args)('token')),
76
90
  __metadata("design:type", Function),
77
- __metadata("design:paramtypes", [Object, filter_args_1.FilterArgs]),
91
+ __metadata("design:paramtypes", [String]),
78
92
  __metadata("design:returntype", Promise)
79
- ], UserResolver.prototype, "findUsers", null);
93
+ ], UserResolver.prototype, "getVerifiedState", null);
80
94
  __decorate([
81
95
  (0, graphql_1.Query)((returns) => Boolean, { description: 'Request new password for user with email' }),
82
96
  __param(0, (0, graphql_1.Args)('email')),
@@ -85,12 +99,24 @@ __decorate([
85
99
  __metadata("design:returntype", Promise)
86
100
  ], UserResolver.prototype, "requestPasswordResetMail", null);
87
101
  __decorate([
88
- (0, graphql_1.Mutation)((returns) => Boolean, { description: 'Verify user with email' }),
89
- __param(0, (0, graphql_1.Args)('token')),
102
+ (0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Create a new user' }),
103
+ __param(0, (0, graphql_1.Args)('input')),
104
+ __param(1, (0, graphql_user_decorator_1.GraphQLUser)()),
105
+ __param(2, (0, graphql_1.Info)()),
90
106
  __metadata("design:type", Function),
91
- __metadata("design:paramtypes", [String]),
107
+ __metadata("design:paramtypes", [user_create_input_1.UserCreateInput,
108
+ user_model_1.User, Object]),
92
109
  __metadata("design:returntype", Promise)
93
- ], UserResolver.prototype, "verifyUser", null);
110
+ ], UserResolver.prototype, "createUser", null);
111
+ __decorate([
112
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
113
+ (0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Delete existing user' }),
114
+ __param(0, (0, graphql_1.Args)('id')),
115
+ __param(1, (0, graphql_1.Info)()),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [String, Object]),
118
+ __metadata("design:returntype", Promise)
119
+ ], UserResolver.prototype, "deleteUser", null);
94
120
  __decorate([
95
121
  (0, graphql_1.Mutation)((returns) => Boolean, { description: 'Set new password for user with token' }),
96
122
  __param(0, (0, graphql_1.Args)('token')),
@@ -99,36 +125,30 @@ __decorate([
99
125
  __metadata("design:paramtypes", [String, String]),
100
126
  __metadata("design:returntype", Promise)
101
127
  ], UserResolver.prototype, "resetPassword", null);
102
- __decorate([
103
- (0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Create a new user' }),
104
- __param(0, (0, graphql_1.Args)('input')),
105
- __param(1, (0, graphql_user_decorator_1.GraphQLUser)()),
106
- __metadata("design:type", Function),
107
- __metadata("design:paramtypes", [user_create_input_1.UserCreateInput, user_model_1.User]),
108
- __metadata("design:returntype", Promise)
109
- ], UserResolver.prototype, "createUser", null);
110
128
  __decorate([
111
129
  (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
112
130
  (0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Update existing user' }),
113
131
  __param(0, (0, graphql_1.Args)('input')),
114
132
  __param(1, (0, graphql_1.Args)('id')),
115
133
  __param(2, (0, graphql_user_decorator_1.GraphQLUser)()),
134
+ __param(3, (0, graphql_1.Info)()),
116
135
  __metadata("design:type", Function),
117
- __metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User]),
136
+ __metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User, Object]),
118
137
  __metadata("design:returntype", Promise)
119
138
  ], UserResolver.prototype, "updateUser", null);
120
139
  __decorate([
121
- (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
122
- (0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Delete existing user' }),
123
- __param(0, (0, graphql_1.Args)('id')),
124
- __param(1, (0, graphql_1.Info)()),
140
+ (0, graphql_1.Mutation)((returns) => Boolean, { description: 'Verify user with email' }),
141
+ __param(0, (0, graphql_1.Args)('token')),
125
142
  __metadata("design:type", Function),
126
- __metadata("design:paramtypes", [String, Object]),
143
+ __metadata("design:paramtypes", [String]),
127
144
  __metadata("design:returntype", Promise)
128
- ], UserResolver.prototype, "deleteUser", null);
145
+ ], UserResolver.prototype, "verifyUser", null);
129
146
  __decorate([
130
147
  (0, graphql_1.Subscription)((returns) => user_model_1.User, {
131
- resolve: (value) => value,
148
+ filter(payload, variables, context) {
149
+ return context.user.roles.include(role_enum_1.RoleEnum.ADMIN);
150
+ },
151
+ resolve: (user) => user,
132
152
  }),
133
153
  __metadata("design:type", Function),
134
154
  __metadata("design:paramtypes", []),
@@ -1 +1 @@
1
- {"version":3,"file":"user.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.resolver.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,22 @@
1
1
  /// <reference types="multer" />
2
- import { FilterArgs } from '../../../core/common/args/filter.args';
2
+ import { PubSub } from 'graphql-subscriptions';
3
+ import { Model } from 'mongoose';
4
+ import { ServiceOptions } from '../../../core/common/interfaces/service-options.interface';
3
5
  import { ConfigService } from '../../../core/common/services/config.service';
4
6
  import { EmailService } from '../../../core/common/services/email.service';
7
+ import { CoreModelConstructor } from '../../../core/common/types/core-model-constructor.type';
5
8
  import { CoreUserService } from '../../../core/modules/user/core-user.service';
6
9
  import { UserCreateInput } from './inputs/user-create.input';
7
10
  import { UserInput } from './inputs/user.input';
8
11
  import { User, UserDocument } from './user.model';
9
- import { Model } from 'mongoose';
10
- import { ICorePersistenceModel } from '../../../core/common/interfaces/core-persistence-model.interface';
11
- import { PubSub } from 'graphql-subscriptions';
12
12
  export declare class UserService extends CoreUserService<User, UserInput, UserCreateInput> {
13
13
  protected readonly configService: ConfigService;
14
14
  protected readonly emailService: EmailService;
15
- protected readonly userModel: Model<UserDocument>;
15
+ protected readonly mainModelConstructor: CoreModelConstructor<User>;
16
+ protected readonly mainDbModel: Model<UserDocument>;
16
17
  protected readonly pubSub: PubSub;
17
- protected readonly model: ICorePersistenceModel;
18
- constructor(configService: ConfigService, emailService: EmailService, userModel: Model<UserDocument>, pubSub: PubSub);
19
- create(input: UserCreateInput, currentUser?: User): Promise<User>;
20
- find(filterArgs?: FilterArgs, ...args: any[]): Promise<User[]>;
21
- sendPasswordResetMail(email: string): Promise<User>;
18
+ constructor(configService: ConfigService, emailService: EmailService, mainModelConstructor: CoreModelConstructor<User>, mainDbModel: Model<UserDocument>, pubSub: PubSub);
19
+ create(input: UserCreateInput, serviceOptions?: ServiceOptions): Promise<User>;
20
+ sendPasswordResetMail(email: string, serviceOptions?: ServiceOptions): Promise<User>;
22
21
  setAvatar(file: Express.Multer.File, user: User): Promise<string>;
23
- protected prepareInput(input: {
24
- [key: string]: any;
25
- }, currentUser: User, options?: {
26
- create?: boolean;
27
- }): Promise<{
28
- [key: string]: any;
29
- }>;
30
- protected prepareOutput(user: User): Promise<User>;
31
22
  }
@@ -14,42 +14,37 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.UserService = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const mongoose_1 = require("@nestjs/mongoose");
17
18
  const fs = require("fs");
19
+ const graphql_subscriptions_1 = require("graphql-subscriptions");
20
+ const mongoose_2 = require("mongoose");
18
21
  const config_env_1 = require("../../../config.env");
19
- const filter_helper_1 = require("../../../core/common/helpers/filter.helper");
20
- const service_helper_1 = require("../../../core/common/helpers/service.helper");
21
22
  const config_service_1 = require("../../../core/common/services/config.service");
22
23
  const email_service_1 = require("../../../core/common/services/email.service");
23
24
  const core_user_service_1 = require("../../../core/modules/user/core-user.service");
24
25
  const user_model_1 = require("./user.model");
25
- const mongoose_1 = require("@nestjs/mongoose");
26
- const mongoose_2 = require("mongoose");
27
- const graphql_subscriptions_1 = require("graphql-subscriptions");
28
26
  let UserService = class UserService extends core_user_service_1.CoreUserService {
29
- constructor(configService, emailService, userModel, pubSub) {
30
- super(userModel, emailService);
27
+ constructor(configService, emailService, mainModelConstructor, mainDbModel, pubSub) {
28
+ super(emailService, mainDbModel, mainModelConstructor);
31
29
  this.configService = configService;
32
30
  this.emailService = emailService;
33
- this.userModel = userModel;
31
+ this.mainModelConstructor = mainModelConstructor;
32
+ this.mainDbModel = mainDbModel;
34
33
  this.pubSub = pubSub;
35
- this.model = user_model_1.User;
36
34
  }
37
- async create(input, currentUser) {
38
- const user = await super.create(input, currentUser);
39
- await this.prepareOutput(user);
40
- await this.pubSub.publish('userCreated', user_model_1.User.map(user));
35
+ async create(input, serviceOptions) {
36
+ const user = await super.create(input, serviceOptions);
37
+ if ((serviceOptions === null || serviceOptions === void 0 ? void 0 : serviceOptions.pubSub) === undefined || serviceOptions.pubSub) {
38
+ await this.pubSub.publish('userCreated', user_model_1.User.map(user));
39
+ }
41
40
  await this.emailService.sendMail(user.email, 'Welcome', {
42
41
  htmlTemplate: 'welcome',
43
42
  templateData: { name: user.username, link: config_env_1.default.email.verificationLink + '/' + user.verificationToken },
44
43
  });
45
44
  return user;
46
45
  }
47
- find(filterArgs, ...args) {
48
- const filterQuery = filter_helper_1.Filter.convertFilterArgsToQuery(filterArgs);
49
- return this.userModel.find(filterQuery[0], null, filterQuery[1]).exec();
50
- }
51
- async sendPasswordResetMail(email) {
52
- const user = await super.setPasswordResetTokenForEmail(email);
46
+ async sendPasswordResetMail(email, serviceOptions) {
47
+ const user = await super.setPasswordResetTokenForEmail(email, serviceOptions);
53
48
  await this.emailService.sendMail(user.email, 'Password reset', {
54
49
  htmlTemplate: 'password-reset',
55
50
  templateData: { name: user.username, link: config_env_1.default.email.passwordResetLink + '/' + user.passwordResetToken },
@@ -57,7 +52,7 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
57
52
  return user;
58
53
  }
59
54
  async setAvatar(file, user) {
60
- const dbUser = await this.userModel.findOne({ id: user.id }).exec();
55
+ const dbUser = await this.mainDbModel.findOne({ id: user.id }).exec();
61
56
  if (!dbUser) {
62
57
  throw new common_1.UnauthorizedException();
63
58
  }
@@ -75,20 +70,14 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
75
70
  await dbUser.save();
76
71
  return file.filename;
77
72
  }
78
- async prepareInput(input, currentUser, options = {}) {
79
- return service_helper_1.ServiceHelper.prepareInput(input, currentUser, options);
80
- }
81
- async prepareOutput(user) {
82
- return service_helper_1.ServiceHelper.prepareOutput(user);
83
- }
84
73
  };
85
74
  UserService = __decorate([
86
75
  (0, common_1.Injectable)(),
87
- __param(2, (0, mongoose_1.InjectModel)('User')),
88
- __param(3, (0, common_1.Inject)('PUB_SUB')),
76
+ __param(2, (0, common_1.Inject)('USER_CLASS')),
77
+ __param(3, (0, mongoose_1.InjectModel)('User')),
78
+ __param(4, (0, common_1.Inject)('PUB_SUB')),
89
79
  __metadata("design:paramtypes", [config_service_1.ConfigService,
90
- email_service_1.EmailService,
91
- mongoose_2.Model,
80
+ email_service_1.EmailService, Object, mongoose_2.Model,
92
81
  graphql_subscriptions_1.PubSub])
93
82
  ], UserService);
94
83
  exports.UserService = UserService;
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { INestApplication } from '@nestjs/common';
2
- import { FastifyInstance } from 'fastify';
3
2
  import * as LightMyRequest from 'light-my-request';
4
3
  export declare enum TestGraphQLType {
5
4
  QUERY = "query",
@@ -34,7 +33,7 @@ export interface TestRestOptions {
34
33
  method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
35
34
  }
36
35
  export declare class TestHelper {
37
- app: FastifyInstance | INestApplication;
36
+ app: INestApplication;
38
37
  constructor(app: any);
39
38
  graphQl(graphql: string | TestGraphQLConfig, options?: TestGraphQLOptions): Promise<any>;
40
39
  rest(url: string, options?: TestRestOptions): Promise<any>;
@@ -66,12 +66,6 @@ class TestHelper {
66
66
  requestConfig.headers = { authorization: `Bearer ${token}` };
67
67
  }
68
68
  const response = await this.getResponse(token, requestConfig, statusCode, log, logError);
69
- if (this.app.inject) {
70
- expect(response.headers['content-type']).toBe('application/json');
71
- return JSON.parse(response.payload).data
72
- ? JSON.parse(response.payload).data[graphql.name]
73
- : JSON.parse(response.payload);
74
- }
75
69
  expect(response.headers['content-type']).toMatch('application/json');
76
70
  return response.body.data ? response.body.data[graphql.name] : response.body;
77
71
  }
@@ -135,21 +129,12 @@ class TestHelper {
135
129
  if (token) {
136
130
  requestConfig.headers = { authorization: `Bearer ${token}` };
137
131
  }
138
- let response;
139
- if (this.app.inject) {
140
- response = await this.app.inject(requestConfig);
141
- if (log) {
142
- console.log(response);
143
- }
144
- expect(response.statusCode).toBe(statusCode);
145
- return response;
146
- }
147
132
  const method = requestConfig.method.toLowerCase();
148
133
  let request = supertest(this.app.getHttpServer())[method](requestConfig.url);
149
134
  if (token) {
150
135
  request = request.set('Authorization', 'bearer ' + token);
151
136
  }
152
- response = await request.send(requestConfig.payload);
137
+ const response = await request.send(requestConfig.payload);
153
138
  if (log) {
154
139
  console.log(response);
155
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.helper.js","sourceRoot":"","sources":["../../src/test/test.helper.ts"],"names":[],"mappings":"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"}