@lenne.tech/nest-server 3.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/core/common/args/filter.args.d.ts +5 -0
  2. package/dist/core/common/args/filter.args.js +10 -0
  3. package/dist/core/common/args/filter.args.js.map +1 -1
  4. package/dist/core/common/args/pagination.args.d.ts +8 -1
  5. package/dist/core/common/args/pagination.args.js +24 -6
  6. package/dist/core/common/args/pagination.args.js.map +1 -1
  7. package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
  8. package/dist/core/common/decorators/restricted.decorator.js +14 -5
  9. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  10. package/dist/core/common/helpers/context.helper.js +15 -5
  11. package/dist/core/common/helpers/context.helper.js.map +1 -1
  12. package/dist/core/common/helpers/filter.helper.d.ts +3 -3
  13. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  14. package/dist/core/common/helpers/input.helper.js +13 -7
  15. package/dist/core/common/helpers/input.helper.js.map +1 -1
  16. package/dist/core/common/helpers/model.helper.js +0 -1
  17. package/dist/core/common/helpers/model.helper.js.map +1 -1
  18. package/dist/core/common/helpers/service.helper.d.ts +6 -8
  19. package/dist/core/common/helpers/service.helper.js +34 -12
  20. package/dist/core/common/helpers/service.helper.js.map +1 -1
  21. package/dist/core/common/inputs/combined-filter.input.d.ts +8 -2
  22. package/dist/core/common/inputs/combined-filter.input.js +16 -5
  23. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  24. package/dist/core/common/inputs/core-input.input.d.ts +8 -0
  25. package/dist/core/common/inputs/core-input.input.js +15 -0
  26. package/dist/core/common/inputs/core-input.input.js.map +1 -0
  27. package/dist/core/common/inputs/filter.input.d.ts +7 -1
  28. package/dist/core/common/inputs/filter.input.js +14 -1
  29. package/dist/core/common/inputs/filter.input.js.map +1 -1
  30. package/dist/core/common/inputs/single-filter.input.d.ts +2 -1
  31. package/dist/core/common/inputs/single-filter.input.js +10 -1
  32. package/dist/core/common/inputs/single-filter.input.js.map +1 -1
  33. package/dist/core/common/inputs/sort.input.d.ts +2 -1
  34. package/dist/core/common/inputs/sort.input.js +7 -1
  35. package/dist/core/common/inputs/sort.input.js.map +1 -1
  36. package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
  37. package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
  38. package/dist/core/common/models/core-model.model.d.ts +6 -0
  39. package/dist/core/common/models/core-model.model.js +10 -3
  40. package/dist/core/common/models/core-model.model.js.map +1 -1
  41. package/dist/core/common/models/core-persistence.model.d.ts +5 -29
  42. package/dist/core/common/models/core-persistence.model.js +19 -41
  43. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  44. package/dist/core/common/pipes/check-input.pipe.d.ts +2 -3
  45. package/dist/core/common/pipes/check-input.pipe.js +5 -20
  46. package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
  47. package/dist/core/common/pipes/map-and-validate.pipe.d.ts +4 -0
  48. package/dist/core/common/pipes/map-and-validate.pipe.js +40 -0
  49. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -0
  50. package/dist/core/common/types/plain-input.type.d.ts +3 -0
  51. package/dist/core/common/types/plain-input.type.js +3 -0
  52. package/dist/core/common/types/plain-input.type.js.map +1 -0
  53. package/dist/core/modules/auth/core-auth.model.d.ts +3 -1
  54. package/dist/core/modules/auth/core-auth.model.js +7 -1
  55. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  56. package/dist/core/modules/auth/core-auth.resolver.d.ts +1 -1
  57. package/dist/core/modules/user/core-user.model.d.ts +3 -0
  58. package/dist/core/modules/user/core-user.model.js +9 -4
  59. package/dist/core/modules/user/core-user.model.js.map +1 -1
  60. package/dist/core/modules/user/core-user.service.d.ts +9 -13
  61. package/dist/core/modules/user/core-user.service.js +37 -62
  62. package/dist/core/modules/user/core-user.service.js.map +1 -1
  63. package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
  64. package/dist/core/modules/user/inputs/core-user.input.d.ts +2 -2
  65. package/dist/core/modules/user/inputs/core-user.input.js +3 -3
  66. package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
  67. package/dist/core.module.js +2 -3
  68. package/dist/core.module.js.map +1 -1
  69. package/dist/index.d.ts +6 -2
  70. package/dist/index.js +6 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/main.js +0 -2
  73. package/dist/main.js.map +1 -1
  74. package/dist/server/common/models/persistence.model.d.ts +1 -0
  75. package/dist/server/common/models/persistence.model.js +4 -0
  76. package/dist/server/common/models/persistence.model.js.map +1 -1
  77. package/dist/server/modules/auth/auth.model.d.ts +1 -0
  78. package/dist/server/modules/auth/auth.model.js +4 -0
  79. package/dist/server/modules/auth/auth.model.js.map +1 -1
  80. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  81. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  82. package/dist/server/modules/user/user.model.d.ts +3 -2
  83. package/dist/server/modules/user/user.model.js +9 -5
  84. package/dist/server/modules/user/user.model.js.map +1 -1
  85. package/dist/server/modules/user/user.resolver.d.ts +2 -2
  86. package/dist/server/modules/user/user.resolver.js +11 -13
  87. package/dist/server/modules/user/user.resolver.js.map +1 -1
  88. package/dist/server/modules/user/user.service.d.ts +7 -10
  89. package/dist/server/modules/user/user.service.js +7 -7
  90. package/dist/server/modules/user/user.service.js.map +1 -1
  91. package/dist/tsconfig.build.tsbuildinfo +1 -1
  92. package/package.json +1 -1
  93. package/src/core/common/args/filter.args.ts +22 -1
  94. package/src/core/common/args/pagination.args.ts +42 -7
  95. package/src/core/common/decorators/restricted.decorator.ts +22 -5
  96. package/src/core/common/helpers/context.helper.ts +14 -3
  97. package/src/core/common/helpers/filter.helper.ts +3 -3
  98. package/src/core/common/helpers/input.helper.ts +17 -11
  99. package/src/core/common/helpers/model.helper.ts +0 -3
  100. package/src/core/common/helpers/service.helper.ts +41 -18
  101. package/src/core/common/inputs/combined-filter.input.ts +30 -9
  102. package/src/core/common/inputs/core-input.input.ts +36 -0
  103. package/src/core/common/inputs/filter.input.ts +27 -3
  104. package/src/core/common/inputs/single-filter.input.ts +7 -6
  105. package/src/core/common/inputs/sort.input.ts +4 -3
  106. package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
  107. package/src/core/common/models/core-model.model.ts +30 -1
  108. package/src/core/common/models/core-persistence.model.ts +33 -120
  109. package/src/core/common/pipes/check-input.pipe.ts +13 -33
  110. package/src/core/common/pipes/map-and-validate.pipe.ts +32 -0
  111. package/src/core/common/types/plain-input.type.ts +6 -0
  112. package/src/core/modules/auth/core-auth.model.ts +15 -1
  113. package/src/core/modules/auth/core-auth.resolver.ts +1 -1
  114. package/src/core/modules/user/core-user.model.ts +16 -4
  115. package/src/core/modules/user/core-user.service.ts +58 -110
  116. package/src/core/modules/user/inputs/core-user-create.input.ts +4 -0
  117. package/src/core/modules/user/inputs/core-user.input.ts +7 -3
  118. package/src/core.module.ts +11 -5
  119. package/src/index.ts +6 -2
  120. package/src/main.ts +0 -4
  121. package/src/server/common/models/persistence.model.ts +13 -0
  122. package/src/server/modules/auth/auth.model.ts +13 -0
  123. package/src/server/modules/user/inputs/user-create.input.ts +4 -0
  124. package/src/server/modules/user/inputs/user.input.ts +4 -0
  125. package/src/server/modules/user/user.model.ts +18 -5
  126. package/src/server/modules/user/user.resolver.ts +15 -19
  127. package/src/server/modules/user/user.service.ts +9 -10
  128. package/dist/core/common/pipes/map.pipe.d.ts +0 -4
  129. package/dist/core/common/pipes/map.pipe.js +0 -25
  130. package/dist/core/common/pipes/map.pipe.js.map +0 -1
  131. package/src/core/common/pipes/map.pipe.ts +0 -16
@@ -1,6 +1,5 @@
1
1
  import { Inject, Injectable, UnauthorizedException, UnprocessableEntityException } from '@nestjs/common';
2
2
  import * as fs from 'fs';
3
- import { GraphQLResolveInfo } from 'graphql';
4
3
  import envConfig from '../../../config.env';
5
4
  import { FilterArgs } from '../../../core/common/args/filter.args';
6
5
  import { Filter } from '../../../core/common/helpers/filter.helper';
@@ -10,7 +9,7 @@ import { EmailService } from '../../../core/common/services/email.service';
10
9
  import { CoreUserService } from '../../../core/modules/user/core-user.service';
11
10
  import { UserCreateInput } from './inputs/user-create.input';
12
11
  import { UserInput } from './inputs/user.input';
13
- import { User } from './user.model';
12
+ import { User, UserDocument } from './user.model';
14
13
  import { InjectModel } from '@nestjs/mongoose';
15
14
  import { Model } from 'mongoose';
16
15
  import { ICorePersistenceModel } from '../../../core/common/interfaces/core-persistence-model.interface';
@@ -39,7 +38,7 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
39
38
  constructor(
40
39
  protected readonly configService: ConfigService,
41
40
  protected readonly emailService: EmailService,
42
- @InjectModel('User') protected readonly userModel: Model<User>,
41
+ @InjectModel('User') protected readonly userModel: Model<UserDocument>,
43
42
  @Inject('PUB_SUB') protected readonly pubSub: PubSub
44
43
  ) {
45
44
  super(userModel, emailService);
@@ -53,10 +52,10 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
53
52
  /**
54
53
  * Create new user and send welcome email
55
54
  */
56
- async create(input: UserCreateInput, currentUser?: User, ...args: any[]): Promise<User> {
55
+ async create(input: UserCreateInput, currentUser?: User): Promise<User> {
57
56
  const user = await super.create(input, currentUser);
58
57
 
59
- await this.prepareOutput(user, args[0]);
58
+ await this.prepareOutput(user);
60
59
 
61
60
  await this.pubSub.publish('userCreated', User.map(user));
62
61
 
@@ -82,15 +81,15 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
82
81
  *
83
82
  * @param email
84
83
  */
85
- async requestPasswordResetMail(email: string): Promise<boolean> {
86
- const user = await super.sentResetPasswordMail(email);
84
+ async sendPasswordResetMail(email: string): Promise<User> {
85
+ const user = await super.setPasswordResetTokenForEmail(email);
87
86
 
88
87
  await this.emailService.sendMail(user.email, 'Password reset', {
89
88
  htmlTemplate: 'password-reset',
90
89
  templateData: { name: user.username, link: envConfig.email.passwordResetLink + '/' + user.passwordResetToken },
91
90
  });
92
91
 
93
- return true;
92
+ return user;
94
93
  }
95
94
 
96
95
  /**
@@ -140,7 +139,7 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
140
139
  /**
141
140
  * Prepare output before return
142
141
  */
143
- protected async prepareOutput(user: User, info?: GraphQLResolveInfo) {
144
- return ServiceHelper.prepareOutput(user, User, this);
142
+ protected async prepareOutput(user: User): Promise<User> {
143
+ return ServiceHelper.prepareOutput(user);
145
144
  }
146
145
  }
@@ -1,4 +0,0 @@
1
- import { PipeTransform, ArgumentMetadata } from '@nestjs/common';
2
- export declare class MapPipe implements PipeTransform {
3
- transform(value: any, metadata: ArgumentMetadata): any;
4
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MapPipe = void 0;
10
- const common_1 = require("@nestjs/common");
11
- let MapPipe = class MapPipe {
12
- transform(value, metadata) {
13
- var _a;
14
- let result = value;
15
- if ((_a = metadata.metatype) === null || _a === void 0 ? void 0 : _a.map) {
16
- result = metadata.metatype.map(value);
17
- }
18
- return result;
19
- }
20
- };
21
- MapPipe = __decorate([
22
- (0, common_1.Injectable)()
23
- ], MapPipe);
24
- exports.MapPipe = MapPipe;
25
- //# sourceMappingURL=map.pipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA6E;AAG7E,IAAa,OAAO,GAApB,MAAa,OAAO;IAClB,SAAS,CAAC,KAAU,EAAE,QAA0B;;QAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,MAAC,QAAQ,CAAC,QAAgB,0CAAE,GAAG,EAAE;YAEnC,MAAM,GAAI,QAAQ,CAAC,QAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAZY,OAAO;IADnB,IAAA,mBAAU,GAAE;GACA,OAAO,CAYnB;AAZY,0BAAO"}
@@ -1,16 +0,0 @@
1
- import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
2
-
3
- @Injectable()
4
- export class MapPipe implements PipeTransform {
5
- transform(value: any, metadata: ArgumentMetadata) {
6
- let result = value;
7
-
8
- // Check map function is available
9
- if ((metadata.metatype as any)?.map) {
10
- // Map object to correct type
11
- result = (metadata.metatype as any).map(value);
12
- }
13
-
14
- return result;
15
- }
16
- }