@lenne.tech/nest-server 8.0.0 → 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 (151) 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/plugins/mongoose-id.plugin.js +1 -1
  50. package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
  51. package/dist/core/common/services/crud.service.d.ts +13 -0
  52. package/dist/core/common/services/crud.service.js +59 -0
  53. package/dist/core/common/services/crud.service.js.map +1 -0
  54. package/dist/core/common/services/email.service.js +8 -8
  55. package/dist/core/common/services/email.service.js.map +1 -1
  56. package/dist/core/common/services/module.service.d.ts +27 -0
  57. package/dist/core/common/services/module.service.js +41 -0
  58. package/dist/core/common/services/module.service.js.map +1 -0
  59. package/dist/core/common/types/core-model-constructor.type.d.ts +21 -0
  60. package/dist/core/common/types/core-model-constructor.type.js +3 -0
  61. package/dist/core/common/types/core-model-constructor.type.js.map +1 -0
  62. package/dist/core/common/types/field-selection.type.d.ts +4 -0
  63. package/dist/core/common/types/field-selection.type.js +3 -0
  64. package/dist/core/common/types/field-selection.type.js.map +1 -0
  65. package/dist/core/common/types/string-or-object-id.type.d.ts +2 -0
  66. package/dist/core/common/types/string-or-object-id.type.js +3 -0
  67. package/dist/core/common/types/string-or-object-id.type.js.map +1 -0
  68. package/dist/core/modules/auth/core-auth.resolver.d.ts +2 -1
  69. package/dist/core/modules/auth/core-auth.resolver.js +4 -3
  70. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  71. package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -1
  72. package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
  73. package/dist/core/modules/auth/services/core-auth.service.d.ts +2 -1
  74. package/dist/core/modules/auth/services/core-auth.service.js +6 -4
  75. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  76. package/dist/core/modules/user/core-user.model.js +1 -1
  77. package/dist/core/modules/user/core-user.model.js.map +1 -1
  78. package/dist/core/modules/user/core-user.service.d.ts +16 -25
  79. package/dist/core/modules/user/core-user.service.js +79 -98
  80. package/dist/core/modules/user/core-user.service.js.map +1 -1
  81. package/dist/core.module.js +22 -19
  82. package/dist/core.module.js.map +1 -1
  83. package/dist/index.d.ts +8 -1
  84. package/dist/index.js +8 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/server/modules/auth/auth.resolver.d.ts +2 -1
  87. package/dist/server/modules/auth/auth.resolver.js +4 -3
  88. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  89. package/dist/server/modules/file/file.controller.js +1 -1
  90. package/dist/server/modules/file/file.controller.js.map +1 -1
  91. package/dist/server/modules/user/avatar.controller.js +1 -1
  92. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  93. package/dist/server/modules/user/user.model.d.ts +3 -1
  94. package/dist/server/modules/user/user.module.js +7 -3
  95. package/dist/server/modules/user/user.module.js.map +1 -1
  96. package/dist/server/modules/user/user.resolver.d.ts +8 -7
  97. package/dist/server/modules/user/user.resolver.js +65 -45
  98. package/dist/server/modules/user/user.resolver.js.map +1 -1
  99. package/dist/server/modules/user/user.service.d.ts +9 -18
  100. package/dist/server/modules/user/user.service.js +19 -30
  101. package/dist/server/modules/user/user.service.js.map +1 -1
  102. package/dist/test/test.helper.d.ts +1 -2
  103. package/dist/test/test.helper.js +1 -16
  104. package/dist/test/test.helper.js.map +1 -1
  105. package/dist/tsconfig.build.tsbuildinfo +1 -1
  106. package/package.json +45 -47
  107. package/src/core/common/args/pagination.args.ts +2 -2
  108. package/src/core/common/helpers/config.helper.ts +26 -6
  109. package/src/core/common/helpers/context.helper.ts +42 -33
  110. package/src/core/common/helpers/db.helper.ts +580 -0
  111. package/src/core/common/helpers/file.helper.ts +76 -49
  112. package/src/core/common/helpers/filter.helper.ts +119 -96
  113. package/src/core/common/helpers/graphql.helper.ts +219 -117
  114. package/src/core/common/helpers/input.helper.ts +296 -106
  115. package/src/core/common/helpers/model.helper.ts +102 -57
  116. package/src/core/common/helpers/service.helper.ts +149 -117
  117. package/src/core/common/inputs/combined-filter.input.ts +2 -2
  118. package/src/core/common/inputs/core-input.input.ts +2 -2
  119. package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
  120. package/src/core/common/interfaces/resolve-selector.interface.ts +9 -0
  121. package/src/core/common/interfaces/service-options.interface.ts +53 -0
  122. package/src/core/common/models/core-model.model.ts +6 -2
  123. package/src/core/common/pipes/check-input.pipe.ts +4 -4
  124. package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
  125. package/src/core/common/plugins/mongoose-id.plugin.js +1 -1
  126. package/src/core/common/services/crud.service.ts +105 -0
  127. package/src/core/common/services/email.service.ts +9 -9
  128. package/src/core/common/services/module.service.ts +114 -0
  129. package/src/core/common/types/core-model-constructor.type.ts +30 -0
  130. package/src/core/common/types/field-selection.type.ts +8 -0
  131. package/src/core/common/types/string-or-object-id.type.ts +3 -0
  132. package/src/core/modules/auth/core-auth.module.ts +1 -1
  133. package/src/core/modules/auth/core-auth.resolver.ts +8 -3
  134. package/src/core/modules/auth/services/core-auth-user.service.ts +7 -1
  135. package/src/core/modules/auth/services/core-auth.service.ts +14 -4
  136. package/src/core/modules/user/core-user.model.ts +2 -1
  137. package/src/core/modules/user/core-user.service.ts +131 -194
  138. package/src/core.module.ts +28 -24
  139. package/src/index.ts +8 -1
  140. package/src/main.ts +1 -1
  141. package/src/server/modules/auth/auth.resolver.ts +8 -3
  142. package/src/server/modules/file/file.controller.ts +2 -2
  143. package/src/server/modules/user/avatar.controller.ts +2 -2
  144. package/src/server/modules/user/user.module.ts +7 -3
  145. package/src/server/modules/user/user.resolver.ts +62 -37
  146. package/src/server/modules/user/user.service.ts +23 -53
  147. package/src/test/test.helper.ts +31 -30
  148. package/dist/core/modules/user/core-basic-user.service.d.ts +0 -17
  149. package/dist/core/modules/user/core-basic-user.service.js +0 -73
  150. package/dist/core/modules/user/core-basic-user.service.js.map +0 -1
  151. package/src/core/modules/user/core-basic-user.service.ts +0 -138
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-model-constructor.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/core-model-constructor.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { SelectionNode } from 'graphql';
2
+ import { PopulateOptions } from 'mongoose';
3
+ import { ResolveSelector } from '../interfaces/resolve-selector.interface';
4
+ export declare type FieldSelection = PopulateOptions[] | SelectionNode[] | ResolveSelector;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=field-selection.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-selection.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/field-selection.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { Types } from 'mongoose';
2
+ export declare type StringOrObjectId = string | Types.ObjectId | any;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=string-or-object-id.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-or-object-id.type.js","sourceRoot":"","sources":["../../../../src/core/common/types/string-or-object-id.type.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
+ import { GraphQLResolveInfo } from 'graphql';
1
2
  import { CoreAuthModel } from './core-auth.model';
2
3
  import { CoreAuthService } from './services/core-auth.service';
3
4
  export declare class CoreAuthResolver {
4
5
  protected readonly authService: CoreAuthService;
5
6
  constructor(authService: CoreAuthService);
6
- signIn(email: string, password: string): Promise<Partial<CoreAuthModel>>;
7
+ signIn(email: string, password: string, info: GraphQLResolveInfo): Promise<Partial<CoreAuthModel>>;
7
8
  }
@@ -20,16 +20,17 @@ let CoreAuthResolver = class CoreAuthResolver {
20
20
  constructor(authService) {
21
21
  this.authService = authService;
22
22
  }
23
- async signIn(email, password) {
24
- return await this.authService.signIn(email, password);
23
+ async signIn(email, password, info) {
24
+ return await this.authService.signIn(email, password, { fieldSelection: { info, select: 'signIn' } });
25
25
  }
26
26
  };
27
27
  __decorate([
28
28
  (0, graphql_1.Query)((returns) => core_auth_model_1.CoreAuthModel, { description: 'Get JWT token' }),
29
29
  __param(0, (0, graphql_1.Args)('email')),
30
30
  __param(1, (0, graphql_1.Args)('password')),
31
+ __param(2, (0, graphql_1.Info)()),
31
32
  __metadata("design:type", Function),
32
- __metadata("design:paramtypes", [String, String]),
33
+ __metadata("design:paramtypes", [String, String, Object]),
33
34
  __metadata("design:returntype", Promise)
34
35
  ], CoreAuthResolver.prototype, "signIn", null);
35
36
  CoreAuthResolver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAwD;AACxD,uDAAkD;AAClD,oEAA+D;AAM/D,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAU/D,KAAK,CAAC,MAAM,CAAgB,KAAa,EAAoB,QAAgB;QAC3E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAHC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACtD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;;;;8CAE3D;AAhBU,gBAAgB;IAD5B,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qCAKR,mCAAe;GAJhD,gBAAgB,CAiB5B;AAjBY,4CAAgB"}
1
+ {"version":3,"file":"core-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA8D;AAE9D,uDAAkD;AAClD,oEAA+D;AAM/D,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAU/D,KAAK,CAAC,MAAM,CACK,KAAa,EACV,QAAgB,EAC1B,IAAwB;QAEhC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxG,CAAC;CACF,CAAA;AAPC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAEjE,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;IAChB,WAAA,IAAA,cAAI,GAAE,CAAA;;;;8CAGR;AApBU,gBAAgB;IAD5B,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,+BAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qCAKR,mCAAe;GAJhD,gBAAgB,CAqB5B;AArBY,4CAAgB"}
@@ -1,4 +1,6 @@
1
+ import { ServiceOptions } from '../../../common/interfaces/service-options.interface';
1
2
  import { ICoreAuthUser } from '../interfaces/core-auth-user.interface';
2
3
  export declare abstract class CoreAuthUserService {
3
- abstract getViaEmail(email: string): Promise<ICoreAuthUser>;
4
+ abstract getViaEmail(email: string, serviceOptions?: ServiceOptions): Promise<ICoreAuthUser>;
5
+ abstract prepareOutput(output: any, options?: ServiceOptions): Promise<ICoreAuthUser>;
4
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth-user.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth-user.service.ts"],"names":[],"mappings":";;;AAKA,MAAsB,mBAAmB;CAKxC;AALD,kDAKC"}
1
+ {"version":3,"file":"core-auth-user.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth-user.service.ts"],"names":[],"mappings":";;;AAMA,MAAsB,mBAAmB;CAUxC;AAVD,kDAUC"}
@@ -1,4 +1,5 @@
1
1
  import { JwtService } from '@nestjs/jwt';
2
+ import { ServiceOptions } from '../../../common/interfaces/service-options.interface';
2
3
  import { ICoreAuthUser } from '../interfaces/core-auth-user.interface';
3
4
  import { JwtPayload } from '../interfaces/jwt-payload.interface';
4
5
  import { CoreAuthUserService } from './core-auth-user.service';
@@ -6,7 +7,7 @@ export declare class CoreAuthService {
6
7
  protected readonly userService: CoreAuthUserService;
7
8
  protected readonly jwtService: JwtService;
8
9
  constructor(userService: CoreAuthUserService, jwtService: JwtService);
9
- signIn(email: string, password: string): Promise<{
10
+ signIn(email: string, password: string, serviceOptions?: ServiceOptions): Promise<{
10
11
  token: string;
11
12
  user: ICoreAuthUser;
12
13
  }>;
@@ -13,21 +13,23 @@ exports.CoreAuthService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const jwt_1 = require("@nestjs/jwt");
15
15
  const bcrypt = require("bcrypt");
16
+ const config_helper_1 = require("../../../common/helpers/config.helper");
16
17
  const core_auth_user_service_1 = require("./core-auth-user.service");
17
18
  let CoreAuthService = class CoreAuthService {
18
19
  constructor(userService, jwtService) {
19
20
  this.userService = userService;
20
21
  this.jwtService = jwtService;
21
22
  }
22
- async signIn(email, password) {
23
- const user = await this.userService.getViaEmail(email);
24
- if (!(await bcrypt.compare(password, user.password))) {
23
+ async signIn(email, password, serviceOptions) {
24
+ serviceOptions = (0, config_helper_1.merge)(serviceOptions || {}, { prepareOutput: null });
25
+ const user = await this.userService.getViaEmail(email, serviceOptions);
26
+ if (!user || !(await bcrypt.compare(password, user.password))) {
25
27
  throw new common_1.UnauthorizedException();
26
28
  }
27
29
  const payload = { email: user.email };
28
30
  return {
29
31
  token: this.jwtService.sign(payload),
30
- user,
32
+ user: await this.userService.prepareOutput(user),
31
33
  };
32
34
  }
33
35
  async validateUser(payload) {
@@ -1 +1 @@
1
- {"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,iCAAiC;AAGjC,qEAA+D;AAM/D,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,YAA+B,WAAgC,EAAqB,UAAsB;QAA3E,gBAAW,GAAX,WAAW,CAAqB;QAAqB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAK9G,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACpD,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,IAAI;SACL,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAmB;QACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAe,CAAC;IACrD,CAAC;CACF,CAAA;AA5BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEiC,4CAAmB,EAAiC,gBAAU;GAD/F,eAAe,CA4B3B;AA5BY,0CAAe"}
1
+ {"version":3,"file":"core-auth.service.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/services/core-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAyC;AACzC,iCAAiC;AACjC,yEAA8D;AAI9D,qEAA+D;AAM/D,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,YAA+B,WAAgC,EAAqB,UAAsB;QAA3E,gBAAW,GAAX,WAAW,CAAqB;QAAqB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAK9G,KAAK,CAAC,MAAM,CACV,KAAa,EACb,QAAgB,EAChB,cAA+B;QAE/B,cAAc,GAAG,IAAA,qBAAK,EAAC,cAAc,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC7D,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QACD,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC;SACjD,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,OAAmB;QACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAKD,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAe,CAAC;IACrD,CAAC;CACF,CAAA;AApCY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEiC,4CAAmB,EAAiC,gBAAU;GAD/F,eAAe,CAoC3B;AApCY,0CAAe"}
@@ -11,9 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CoreUserModel = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
+ const mongoose_1 = require("@nestjs/mongoose");
14
15
  const class_validator_1 = require("class-validator");
15
16
  const core_persistence_model_1 = require("../../common/models/core-persistence.model");
16
- const mongoose_1 = require("@nestjs/mongoose");
17
17
  let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePersistenceModel {
18
18
  constructor() {
19
19
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,21 @@
1
- import { FilterArgs } from '../../common/args/filter.args';
2
- import { CoreBasicUserService } from './core-basic-user.service';
1
+ import { Document, Model } from 'mongoose';
2
+ import { ServiceOptions } from '../../common/interfaces/service-options.interface';
3
+ import { CrudService } from '../../common/services/crud.service';
4
+ import { EmailService } from '../../common/services/email.service';
5
+ import { CoreModelConstructor } from '../../common/types/core-model-constructor.type';
3
6
  import { CoreUserModel } from './core-user.model';
4
7
  import { CoreUserCreateInput } from './inputs/core-user-create.input';
5
8
  import { CoreUserInput } from './inputs/core-user.input';
6
- import { Model, Document } from 'mongoose';
7
- import { EmailService } from '../../common/services/email.service';
8
- export declare abstract class CoreUserService<TUser extends CoreUserModel, TUserInput extends CoreUserInput, TUserCreateInput extends CoreUserCreateInput> extends CoreBasicUserService<TUser, TUserInput, TUserCreateInput> {
9
- protected readonly userModel: Model<TUser & Document>;
9
+ export declare abstract class CoreUserService<TUser extends CoreUserModel, TUserInput extends CoreUserInput, TUserCreateInput extends CoreUserCreateInput> extends CrudService<TUser> {
10
10
  protected emailService: EmailService;
11
- protected constructor(userModel: Model<TUser & Document>, emailService: EmailService);
12
- create(input: TUserCreateInput, currentUser?: TUser, ...args: any[]): Promise<TUser>;
13
- delete(id: string, ...args: any[]): Promise<TUser>;
14
- get(id: string, ...args: any[]): Promise<TUser>;
15
- find(filterArgs?: FilterArgs, ...args: any[]): Promise<TUser[]>;
16
- verify(token: string, ...args: any[]): Promise<TUser>;
17
- resetPassword(token: string, newPassword: string, ...args: any[]): Promise<TUser>;
18
- setPasswordResetTokenForEmail(email: string, ...args: any[]): Promise<TUser>;
19
- setRoles(userId: string, roles: string[], ...args: any[]): Promise<TUser>;
20
- update(id: string, input: TUserInput, currentUser: TUser, ...args: any[]): Promise<TUser>;
21
- protected prepareInput(input: Record<string, any>, currentUser?: TUser, options?: {
22
- [key: string]: any;
23
- checkRoles?: boolean;
24
- clone?: boolean;
25
- }, ...args: any[]): Promise<Record<string, any>>;
26
- protected prepareOutput(user: TUser, options?: {
27
- [key: string]: any;
28
- clone?: boolean;
29
- }, ...args: any[]): Promise<TUser>;
11
+ protected readonly mainDbModel: Model<TUser & Document>;
12
+ protected mainModelConstructor: CoreModelConstructor<TUser>;
13
+ protected constructor(emailService: EmailService, mainDbModel: Model<TUser & Document>, mainModelConstructor: CoreModelConstructor<TUser>);
14
+ create(input: any, serviceOptions?: ServiceOptions): Promise<TUser>;
15
+ getViaEmail(email: string, serviceOptions?: ServiceOptions): Promise<TUser>;
16
+ getVerifiedState(token: string, serviceOptions?: ServiceOptions): Promise<boolean>;
17
+ verify(token: string, serviceOptions?: ServiceOptions): Promise<TUser>;
18
+ resetPassword(token: string, newPassword: string, serviceOptions?: ServiceOptions): Promise<TUser>;
19
+ setPasswordResetTokenForEmail(email: string, serviceOptions?: ServiceOptions): Promise<TUser>;
20
+ setRoles(userId: string, roles: string[], serviceOptions?: ServiceOptions): Promise<TUser>;
30
21
  }
@@ -3,123 +3,104 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoreUserService = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const bcrypt = require("bcrypt");
6
- const graphql_subscriptions_1 = require("graphql-subscriptions");
7
- const filter_helper_1 = require("../../common/helpers/filter.helper");
8
- const service_helper_1 = require("../../common/helpers/service.helper");
9
- const core_basic_user_service_1 = require("./core-basic-user.service");
10
6
  const crypto = require("crypto");
11
- const pubSub = new graphql_subscriptions_1.PubSub();
12
- class CoreUserService extends core_basic_user_service_1.CoreBasicUserService {
13
- constructor(userModel, emailService) {
14
- super(userModel);
15
- this.userModel = userModel;
7
+ const config_helper_1 = require("../../common/helpers/config.helper");
8
+ const crud_service_1 = require("../../common/services/crud.service");
9
+ class CoreUserService extends crud_service_1.CrudService {
10
+ constructor(emailService, mainDbModel, mainModelConstructor) {
11
+ super();
16
12
  this.emailService = emailService;
13
+ this.mainDbModel = mainDbModel;
14
+ this.mainModelConstructor = mainModelConstructor;
17
15
  }
18
- async create(input, currentUser, ...args) {
19
- await this.prepareInput(input, currentUser, { create: true });
20
- const createdUser = new this.userModel(Object.assign(Object.assign({}, input), { verificationToken: crypto.randomBytes(32).toString('hex') }));
21
- try {
22
- await createdUser.save();
23
- }
24
- catch (error) {
25
- if (error.code === 11000) {
26
- throw new common_1.UnprocessableEntityException(`User with email address "${input.email}" already exists`);
16
+ async create(input, serviceOptions) {
17
+ (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
18
+ return this.process(async (data) => {
19
+ const createdUser = new this.mainDbModel(Object.assign(Object.assign({}, data.input), { verificationToken: crypto.randomBytes(32).toString('hex') }));
20
+ try {
21
+ await createdUser.save();
27
22
  }
28
- else {
29
- throw new common_1.UnprocessableEntityException();
23
+ catch (error) {
24
+ if (error.code === 11000) {
25
+ throw new common_1.UnprocessableEntityException(`User with email address "${data.input.email}" already exists`);
26
+ }
27
+ else {
28
+ throw new common_1.UnprocessableEntityException();
29
+ }
30
30
  }
31
- }
32
- const preparedUser = await this.prepareOutput(this.model.map(createdUser), args[0]);
33
- pubSub.publish('userCreated', { userCreated: preparedUser });
34
- return preparedUser;
31
+ return createdUser;
32
+ }, { input, serviceOptions });
35
33
  }
36
- async delete(id, ...args) {
37
- const user = await this.userModel.findById(id).exec();
38
- if (!user) {
39
- throw new common_1.NotFoundException();
40
- }
41
- await user.delete();
42
- const deletedUser = await this.prepareOutput(this.model.map(user), args[0]);
43
- pubSub.publish('userDeleted', { userDeleted: deletedUser });
44
- return deletedUser;
34
+ async getViaEmail(email, serviceOptions) {
35
+ return this.process(async () => {
36
+ const user = await this.mainDbModel.findOne({ email }).exec();
37
+ if (!user) {
38
+ throw new common_1.NotFoundException(`No user found with email: ${email}`);
39
+ }
40
+ return user;
41
+ }, { serviceOptions });
45
42
  }
46
- async get(id, ...args) {
47
- const user = await this.userModel.findById(id).exec();
43
+ async getVerifiedState(token, serviceOptions) {
44
+ const user = await this.mainDbModel.findOne({ verificationToken: token }).exec();
48
45
  if (!user) {
49
- throw new common_1.NotFoundException();
46
+ throw new common_1.NotFoundException(`No user found with verify token: ${token}`);
50
47
  }
51
- return this.prepareOutput(this.model.map(user), args[0]);
52
- }
53
- async find(filterArgs, ...args) {
54
- const filterQuery = filter_helper_1.Filter.convertFilterArgsToQuery(filterArgs);
55
- return await Promise.all((await this.userModel.find(filterQuery[0], null, filterQuery[1]).exec()).map((user) => {
56
- return this.prepareOutput(this.model.map(user), args[0]);
57
- }));
48
+ return user.verified;
58
49
  }
59
- async verify(token, ...args) {
60
- const user = await this.userModel.findOne({ verificationToken: token }).exec();
61
- if (!user) {
62
- throw new common_1.NotFoundException();
63
- }
64
- if (!user.verificationToken) {
65
- throw new Error('User has no token');
66
- }
67
- if (user.verified) {
68
- throw new Error('User already verified');
69
- }
70
- await Object.assign(user, {
71
- verified: true,
72
- verificationToken: null,
73
- }).save();
74
- const verifiedUser = this.prepareOutput(this.model.map(user), args[0]);
75
- pubSub.publish('userVerified', { userVerified: verifiedUser });
76
- return verifiedUser;
50
+ async verify(token, serviceOptions) {
51
+ return this.process(async () => {
52
+ const user = await this.mainDbModel.findOne({ verificationToken: token }).exec();
53
+ if (!user) {
54
+ throw new common_1.NotFoundException(`No user found with verify token: ${token}`);
55
+ }
56
+ if (!user.verificationToken) {
57
+ throw new Error('User has no token');
58
+ }
59
+ if (user.verified) {
60
+ throw new Error('User already verified');
61
+ }
62
+ await Object.assign(user, {
63
+ verified: true,
64
+ verificationToken: null,
65
+ }).save();
66
+ return user;
67
+ }, { serviceOptions });
77
68
  }
78
- async resetPassword(token, newPassword, ...args) {
79
- const user = await this.userModel.findOne({ passwordResetToken: token }).exec();
80
- if (!user) {
81
- throw new common_1.NotFoundException();
82
- }
83
- await Object.assign(user, {
84
- password: await bcrypt.hash(newPassword, 10),
85
- passwordResetToken: null,
86
- }).save();
87
- return this.prepareOutput(this.model.map(user), args[0]);
69
+ async resetPassword(token, newPassword, serviceOptions) {
70
+ return this.process(async () => {
71
+ const user = await this.mainDbModel.findOne({ passwordResetToken: token }).exec();
72
+ if (!user) {
73
+ throw new common_1.NotFoundException(`No user found with password reset token: ${token}`);
74
+ }
75
+ await Object.assign(user, {
76
+ password: await bcrypt.hash(newPassword, 10),
77
+ passwordResetToken: null,
78
+ }).save();
79
+ return user;
80
+ }, { serviceOptions });
88
81
  }
89
- async setPasswordResetTokenForEmail(email, ...args) {
90
- const user = await this.userModel.findOne({ email }).exec();
91
- if (!user) {
92
- throw new common_1.NotFoundException();
93
- }
94
- const resetToken = crypto.randomBytes(32).toString('hex');
95
- user.passwordResetToken = resetToken;
96
- await user.save();
97
- return this.prepareOutput(this.model.map(user), args[0]);
82
+ async setPasswordResetTokenForEmail(email, serviceOptions) {
83
+ return this.process(async () => {
84
+ const user = await this.mainDbModel.findOne({ email }).exec();
85
+ if (!user) {
86
+ throw new common_1.NotFoundException(`No user found with email: ${email}`);
87
+ }
88
+ const resetToken = crypto.randomBytes(32).toString('hex');
89
+ user.passwordResetToken = resetToken;
90
+ await user.save();
91
+ return user;
92
+ }, { serviceOptions });
98
93
  }
99
- async setRoles(userId, roles, ...args) {
94
+ async setRoles(userId, roles, serviceOptions) {
100
95
  if (!Array.isArray(roles)) {
101
96
  throw new common_1.BadRequestException('Missing roles');
102
97
  }
103
98
  if (roles.some((role) => typeof role !== 'string')) {
104
99
  throw new common_1.BadRequestException('roles contains invalid values');
105
100
  }
106
- const user = await this.userModel.findByIdAndUpdate(userId, { roles }).exec();
107
- return this.prepareOutput(this.model.map(user), args[0]);
108
- }
109
- async update(id, input, currentUser, ...args) {
110
- const user = await this.userModel.findById(id).exec();
111
- if (!user) {
112
- throw new common_1.NotFoundException(`User not found with ID: ${id}`);
113
- }
114
- await this.prepareInput(input, currentUser);
115
- await Object.assign(user, input).save();
116
- return await this.prepareOutput(this.model.map(user), args[0]);
117
- }
118
- async prepareInput(input, currentUser, options = {}, ...args) {
119
- return service_helper_1.ServiceHelper.prepareInput(input, currentUser, options);
120
- }
121
- async prepareOutput(user, options = {}, ...args) {
122
- return service_helper_1.ServiceHelper.prepareOutput(user, options);
101
+ return this.process(async (data) => {
102
+ return await this.mainDbModel.findByIdAndUpdate(userId, { roles }).exec();
103
+ }, { serviceOptions });
123
104
  }
124
105
  }
125
106
  exports.CoreUserService = CoreUserService;
@@ -1 +1 @@
1
- {"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":";;;AAAA,2CAAsG;AACtG,iCAAiC;AACjC,iEAA+C;AAE/C,sEAA4D;AAC5D,wEAAoE;AACpE,uEAAiE;AAKjE,iCAAiC;AAKjC,MAAM,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAC;AAK5B,MAAsB,eAIpB,SAAQ,8CAAyD;IACjE,YAAyC,SAAkC,EAAY,YAA0B;QAC/G,KAAK,CAAC,SAAS,CAAC,CAAC;QADsB,cAAS,GAAT,SAAS,CAAyB;QAAY,iBAAY,GAAZ,YAAY,CAAc;IAEjH,CAAC;IASD,KAAK,CAAC,MAAM,CAAC,KAAuB,EAAE,WAAmB,EAAE,GAAG,IAAW;QAEvE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAG9D,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,iCACjC,KAAK,KACR,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IACzD,CAAC;QAEH,IAAI;YAEF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;SAC1B;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;gBACxB,MAAM,IAAI,qCAA4B,CAAC,4BAA6B,KAAa,CAAC,KAAK,kBAAkB,CAAC,CAAC;aAC5G;iBAAM;gBACL,MAAM,IAAI,qCAA4B,EAAE,CAAC;aAC1C;SACF;QAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAGpF,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;QAG7D,OAAO,YAAY,CAAC;IACtB,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,GAAG,IAAW;QAErC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAGtD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,EAAE,CAAC;SAC/B;QAGD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAGpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAG5E,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAG5D,OAAO,WAAW,CAAC;IACrB,CAAC;IAKD,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,GAAG,IAAW;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,EAAE,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,KAAK,CAAC,IAAI,CAAC,UAAuB,EAAE,GAAG,IAAW;QAChD,MAAM,WAAW,GAAG,sBAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,CACE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,GAAG,IAAW;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/E,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAGD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACxB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC,IAAI,EAAE,CAAC;QAGV,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAGvE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;QAG/D,OAAO,YAAY,CAAC;IACtB,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,WAAmB,EAAE,GAAG,IAAW;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhF,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,EAAE,CAAC;SAC/B;QAGD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACxB,QAAQ,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC,IAAI,EAAE,CAAC;QAGV,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,GAAG,IAAW;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,EAAE,CAAC;SAC/B;QAGD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAGlB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,KAAe,EAAE,GAAG,IAAW;QAE5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,4BAAmB,CAAC,eAAe,CAAC,CAAC;SAChD;QAGD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE;YAClD,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;SAChE;QAGD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAiB,EAAE,WAAkB,EAAE,GAAG,IAAW;QAE5E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;SAC9D;QAGD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAG5C,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAGxC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IASS,KAAK,CAAC,YAAY,CAC1B,KAA0B,EAC1B,WAAmB,EACnB,UAAyE,EAAE,EAC3E,GAAG,IAAW;QAEd,OAAO,8BAAa,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAKS,KAAK,CAAC,aAAa,CAC3B,IAAW,EACX,UAAmD,EAAE,EACrD,GAAG,IAAW;QAEd,OAAO,8BAAa,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AA/OD,0CA+OC"}
1
+ {"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":"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"}
@@ -22,33 +22,36 @@ const mailjet_service_1 = require("./core/common/services/mailjet.service");
22
22
  const apollo_1 = require("@nestjs/apollo");
23
23
  let CoreModule = CoreModule_1 = class CoreModule {
24
24
  static forRoot(AuthService, AuthModule, options) {
25
- const config = config_helper_1.Config.merge({
25
+ const config = (0, config_helper_1.merge)({
26
26
  env: 'develop',
27
27
  graphQl: {
28
28
  driver: {
29
29
  imports: [AuthModule],
30
30
  inject: [AuthService],
31
- useFactory: async (authService) => ({
32
- autoSchemaFile: 'schema.gql',
33
- context: ({ req }) => ({ req }),
34
- installSubscriptionHandlers: true,
35
- subscriptions: {
36
- 'subscriptions-transport-ws': {
37
- onConnect: async (connectionParams) => {
38
- var _a;
39
- if (config.graphQl.enableSubscriptionAuth) {
40
- const authToken = 'Authorization' in connectionParams && ((_a = connectionParams === null || connectionParams === void 0 ? void 0 : connectionParams.Authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1]);
41
- if (authToken) {
42
- const payload = authService.decodeJwt(authToken);
43
- const user = await authService.validateUser(payload);
44
- return { user: user, headers: connectionParams };
31
+ useFactory: async (authService) => {
32
+ var _a;
33
+ return Object.assign({
34
+ autoSchemaFile: 'schema.gql',
35
+ context: ({ req }) => ({ req }),
36
+ installSubscriptionHandlers: true,
37
+ subscriptions: {
38
+ 'subscriptions-transport-ws': {
39
+ onConnect: async (connectionParams) => {
40
+ var _a;
41
+ if (config.graphQl.enableSubscriptionAuth) {
42
+ const authToken = 'Authorization' in connectionParams && ((_a = connectionParams === null || connectionParams === void 0 ? void 0 : connectionParams.Authorization) === null || _a === void 0 ? void 0 : _a.split(' ')[1]);
43
+ if (authToken) {
44
+ const payload = authService.decodeJwt(authToken);
45
+ const user = await authService.validateUser(payload);
46
+ return { user: user, headers: connectionParams };
47
+ }
48
+ throw new common_1.UnauthorizedException();
45
49
  }
46
- throw new common_1.UnauthorizedException();
47
- }
50
+ },
48
51
  },
49
52
  },
50
- },
51
- }),
53
+ }, (_a = options === null || options === void 0 ? void 0 : options.graphQl) === null || _a === void 0 ? void 0 : _a.driver);
54
+ },
52
55
  },
53
56
  enableSubscriptionAuth: true,
54
57
  },
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './core/common/enums/role.enum';
11
11
  export * from './core/common/enums/sort-order.emum';
12
12
  export * from './core/common/helpers/config.helper';
13
13
  export * from './core/common/helpers/context.helper';
14
+ export * from './core/common/helpers/db.helper';
14
15
  export * from './core/common/helpers/file.helper';
15
16
  export * from './core/common/helpers/filter.helper';
16
17
  export * from './core/common/helpers/graphql.helper';
@@ -25,7 +26,9 @@ export * from './core/common/inputs/sort.input';
25
26
  export * from './core/common/interceptors/check-response.interceptor';
26
27
  export * from './core/common/interfaces/core-persistence-model.interface';
27
28
  export * from './core/common/interfaces/mailjet-options.interface';
29
+ export * from './core/common/interfaces/resolve-selector.interface';
28
30
  export * from './core/common/interfaces/server-options.interface';
31
+ export * from './core/common/interfaces/service-options.interface';
29
32
  export * from './core/common/models/core-model.model';
30
33
  export * from './core/common/models/core-persistence.model';
31
34
  export * from './core/common/pipes/check-input.pipe';
@@ -34,10 +37,15 @@ export * from './core/common/scalars/any.scalar';
34
37
  export * from './core/common/scalars/date.scalar';
35
38
  export * from './core/common/scalars/json.scalar';
36
39
  export * from './core/common/services/config.service';
40
+ export * from './core/common/services/crud.service';
37
41
  export * from './core/common/services/email.service';
38
42
  export * from './core/common/services/mailjet.service';
43
+ export * from './core/common/services/module.service';
39
44
  export * from './core/common/services/template.service';
45
+ export * from './core/common/types/core-model-constructor.type';
46
+ export * from './core/common/types/field-selection.type';
40
47
  export * from './core/common/types/plain-input.type';
48
+ export * from './core/common/types/string-or-object-id.type';
41
49
  export * from './core/modules/auth/guards/auth.guard';
42
50
  export * from './core/modules/auth/guards/roles.guard';
43
51
  export * from './core/modules/auth/interfaces/core-auth-user.interface';
@@ -50,7 +58,6 @@ export * from './core/modules/auth/core-auth.resolver';
50
58
  export * from './core/modules/auth/jwt.strategy';
51
59
  export * from './core/modules/user/inputs/core-user.input';
52
60
  export * from './core/modules/user/inputs/core-user-create.input';
53
- export * from './core/modules/user/core-basic-user.service';
54
61
  export * from './core/modules/user/core-user.model';
55
62
  export * from './core/modules/user/core-user.service';
56
63
  export * from './test/test.helper';