@lenne.tech/nest-server 3.1.2 → 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.
- package/dist/core/common/args/filter.args.d.ts +5 -0
- package/dist/core/common/args/filter.args.js +10 -0
- package/dist/core/common/args/filter.args.js.map +1 -1
- package/dist/core/common/args/pagination.args.d.ts +8 -1
- package/dist/core/common/args/pagination.args.js +24 -6
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
- package/dist/core/common/decorators/restricted.decorator.js +16 -5
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/helpers/context.helper.js +15 -5
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +3 -3
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.js +13 -7
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +6 -8
- package/dist/core/common/helpers/service.helper.js +34 -12
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.d.ts +8 -2
- package/dist/core/common/inputs/combined-filter.input.js +16 -5
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.d.ts +8 -0
- package/dist/core/common/inputs/core-input.input.js +15 -0
- package/dist/core/common/inputs/core-input.input.js.map +1 -0
- package/dist/core/common/inputs/filter.input.d.ts +7 -1
- package/dist/core/common/inputs/filter.input.js +14 -1
- package/dist/core/common/inputs/filter.input.js.map +1 -1
- package/dist/core/common/inputs/single-filter.input.d.ts +2 -1
- package/dist/core/common/inputs/single-filter.input.js +10 -1
- package/dist/core/common/inputs/single-filter.input.js.map +1 -1
- package/dist/core/common/inputs/sort.input.d.ts +2 -1
- package/dist/core/common/inputs/sort.input.js +7 -1
- package/dist/core/common/inputs/sort.input.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/models/core-model.model.d.ts +6 -0
- package/dist/core/common/models/core-model.model.js +10 -3
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/models/core-persistence.model.d.ts +5 -29
- package/dist/core/common/models/core-persistence.model.js +19 -41
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.d.ts +2 -3
- package/dist/core/common/pipes/check-input.pipe.js +5 -20
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.d.ts +4 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js +40 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -0
- package/dist/core/common/types/plain-input.type.d.ts +3 -0
- package/dist/core/common/types/plain-input.type.js +3 -0
- package/dist/core/common/types/plain-input.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.model.d.ts +3 -1
- package/dist/core/modules/auth/core-auth.model.js +7 -1
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +3 -0
- package/dist/core/modules/user/core-user.model.js +10 -4
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +9 -13
- package/dist/core/modules/user/core-user.service.js +38 -67
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user-create.input.js +4 -0
- package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user.input.d.ts +2 -1
- package/dist/core/modules/user/inputs/core-user.input.js +12 -2
- package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
- package/dist/core.module.js +2 -3
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +1 -0
- package/dist/server/common/models/persistence.model.js +4 -0
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/modules/auth/auth.model.d.ts +1 -0
- package/dist/server/modules/auth/auth.model.js +4 -0
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
- package/dist/server/modules/user/inputs/user.input.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +3 -2
- package/dist/server/modules/user/user.model.js +9 -5
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +2 -2
- package/dist/server/modules/user/user.resolver.js +10 -12
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +7 -9
- package/dist/server/modules/user/user.service.js +12 -4
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/common/args/filter.args.ts +22 -1
- package/src/core/common/args/pagination.args.ts +42 -7
- package/src/core/common/decorators/restricted.decorator.ts +24 -5
- package/src/core/common/helpers/context.helper.ts +14 -3
- package/src/core/common/helpers/filter.helper.ts +3 -3
- package/src/core/common/helpers/input.helper.ts +17 -11
- package/src/core/common/helpers/service.helper.ts +42 -19
- package/src/core/common/inputs/combined-filter.input.ts +30 -9
- package/src/core/common/inputs/core-input.input.ts +36 -0
- package/src/core/common/inputs/filter.input.ts +27 -3
- package/src/core/common/inputs/single-filter.input.ts +7 -6
- package/src/core/common/inputs/sort.input.ts +4 -3
- package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
- package/src/core/common/models/core-model.model.ts +30 -1
- package/src/core/common/models/core-persistence.model.ts +33 -120
- package/src/core/common/pipes/check-input.pipe.ts +13 -33
- package/src/core/common/pipes/map-and-validate.pipe.ts +32 -0
- package/src/core/common/types/plain-input.type.ts +6 -0
- package/src/core/modules/auth/core-auth.model.ts +15 -1
- package/src/core/modules/auth/core-auth.resolver.ts +1 -1
- package/src/core/modules/user/core-user.model.ts +17 -4
- package/src/core/modules/user/core-user.service.ts +59 -115
- package/src/core/modules/user/inputs/core-user-create.input.ts +5 -1
- package/src/core/modules/user/inputs/core-user.input.ts +13 -8
- package/src/core.module.ts +11 -5
- package/src/index.ts +6 -2
- package/src/server/common/models/persistence.model.ts +13 -0
- package/src/server/modules/auth/auth.model.ts +13 -0
- package/src/server/modules/user/inputs/user-create.input.ts +4 -0
- package/src/server/modules/user/inputs/user.input.ts +4 -0
- package/src/server/modules/user/user.model.ts +18 -5
- package/src/server/modules/user/user.resolver.ts +15 -19
- package/src/server/modules/user/user.service.ts +22 -7
|
@@ -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<
|
|
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
|
|
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
|
|
58
|
+
await this.prepareOutput(user);
|
|
60
59
|
|
|
61
60
|
await this.pubSub.publish('userCreated', User.map(user));
|
|
62
61
|
|
|
@@ -77,6 +76,22 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
|
|
|
77
76
|
return this.userModel.find(filterQuery[0], null, filterQuery[1]).exec();
|
|
78
77
|
}
|
|
79
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Request password reset mail
|
|
81
|
+
*
|
|
82
|
+
* @param email
|
|
83
|
+
*/
|
|
84
|
+
async sendPasswordResetMail(email: string): Promise<User> {
|
|
85
|
+
const user = await super.setPasswordResetTokenForEmail(email);
|
|
86
|
+
|
|
87
|
+
await this.emailService.sendMail(user.email, 'Password reset', {
|
|
88
|
+
htmlTemplate: 'password-reset',
|
|
89
|
+
templateData: { name: user.username, link: envConfig.email.passwordResetLink + '/' + user.passwordResetToken },
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
return user;
|
|
93
|
+
}
|
|
94
|
+
|
|
80
95
|
/**
|
|
81
96
|
* Set avatar image
|
|
82
97
|
*/
|
|
@@ -124,7 +139,7 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
|
|
|
124
139
|
/**
|
|
125
140
|
* Prepare output before return
|
|
126
141
|
*/
|
|
127
|
-
protected async prepareOutput(user: User
|
|
128
|
-
return ServiceHelper.prepareOutput(user
|
|
142
|
+
protected async prepareOutput(user: User): Promise<User> {
|
|
143
|
+
return ServiceHelper.prepareOutput(user);
|
|
129
144
|
}
|
|
130
145
|
}
|