@lenne.tech/nest-server 2.0.4 → 3.1.2
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/config.env.js +14 -1
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +3 -1
- package/dist/core/common/helpers/service.helper.js +23 -1
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/interfaces/mailjet-options.interface.d.ts +4 -0
- package/dist/core/common/interfaces/mailjet-options.interface.js +3 -0
- package/dist/core/common/interfaces/mailjet-options.interface.js.map +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +4 -0
- package/dist/core/common/services/mailjet.service.d.ts +15 -0
- package/dist/core/common/services/mailjet.service.js +64 -0
- package/dist/core/common/services/mailjet.service.js.map +1 -0
- package/dist/core/modules/user/core-basic-user.service.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 +17 -0
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +10 -4
- package/dist/core/modules/user/core-user.service.js +72 -3
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +3 -1
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +3 -0
- package/dist/server/modules/user/user.resolver.js +31 -0
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.js +3 -4
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/server/server.module.js.map +1 -1
- package/dist/test/test.helper.js +1 -1
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +42 -48
- package/src/config.env.ts +14 -1
- package/src/core/common/helpers/service.helper.ts +34 -4
- package/src/core/common/interfaces/mailjet-options.interface.ts +4 -0
- package/src/core/common/interfaces/server-options.interface.ts +12 -0
- package/src/core/common/services/mailjet.service.ts +84 -0
- package/src/core/modules/user/core-basic-user.service.ts +3 -3
- package/src/core/modules/user/core-user.model.ts +20 -0
- package/src/core/modules/user/core-user.service.ts +131 -10
- package/src/core.module.ts +3 -1
- package/src/index.ts +1 -0
- package/src/server/modules/user/user.resolver.ts +24 -0
- package/src/server/modules/user/user.service.ts +6 -4
- package/src/server/server.module.ts +0 -1
- package/src/templates/password-reset.ejs +3 -0
- package/src/templates/welcome.ejs +3 -2
- package/src/test/test.helper.ts +2 -2
|
@@ -43,9 +43,33 @@ export class UserResolver {
|
|
|
43
43
|
return await this.usersService.find(args, info);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Request new password for user with email
|
|
48
|
+
*/
|
|
49
|
+
@Query((returns) => Boolean, { description: 'Request new password for user with email' })
|
|
50
|
+
async requestPasswordResetMail(@Args('email') email: string) {
|
|
51
|
+
return await this.usersService.requestPasswordResetMail(email);
|
|
52
|
+
}
|
|
53
|
+
|
|
46
54
|
// ===========================================================================
|
|
47
55
|
// Mutations
|
|
48
56
|
// ===========================================================================
|
|
57
|
+
/**
|
|
58
|
+
* Verify user with email
|
|
59
|
+
*/
|
|
60
|
+
@Mutation((returns) => Boolean, { description: 'Verify user with email' })
|
|
61
|
+
async verifyUser(@Args('token') token: string) {
|
|
62
|
+
return await this.usersService.verify(token);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Set new password for user with token
|
|
67
|
+
*/
|
|
68
|
+
@Mutation((returns) => Boolean, { description: 'Set new password for user with token' })
|
|
69
|
+
async resetPassword(@Args('token') token: string, @Args('password') password: string) {
|
|
70
|
+
return await this.usersService.resetPassword(token, password);
|
|
71
|
+
}
|
|
72
|
+
|
|
49
73
|
/**
|
|
50
74
|
* Create new user
|
|
51
75
|
*/
|
|
@@ -42,7 +42,7 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
|
|
|
42
42
|
@InjectModel('User') protected readonly userModel: Model<User>,
|
|
43
43
|
@Inject('PUB_SUB') protected readonly pubSub: PubSub
|
|
44
44
|
) {
|
|
45
|
-
super(userModel);
|
|
45
|
+
super(userModel, emailService);
|
|
46
46
|
this.model = User;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -55,12 +55,14 @@ export class UserService extends CoreUserService<User, UserInput, UserCreateInpu
|
|
|
55
55
|
*/
|
|
56
56
|
async create(input: UserCreateInput, currentUser?: User, ...args: any[]): Promise<User> {
|
|
57
57
|
const user = await super.create(input, currentUser);
|
|
58
|
-
|
|
58
|
+
|
|
59
|
+
await this.prepareOutput(user, args[0]);
|
|
60
|
+
|
|
59
61
|
await this.pubSub.publish('userCreated', User.map(user));
|
|
62
|
+
|
|
60
63
|
await this.emailService.sendMail(user.email, 'Welcome', {
|
|
61
64
|
htmlTemplate: 'welcome',
|
|
62
|
-
templateData: user,
|
|
63
|
-
text,
|
|
65
|
+
templateData: { name: user.username, link: envConfig.email.verificationLink + '/' + user.verificationToken },
|
|
64
66
|
});
|
|
65
67
|
|
|
66
68
|
return user;
|
|
@@ -4,7 +4,6 @@ import { CoreModule } from '../core.module';
|
|
|
4
4
|
import { AuthModule } from './modules/auth/auth.module';
|
|
5
5
|
import { FileController } from './modules/file/file.controller';
|
|
6
6
|
import { ServerController } from './server.controller';
|
|
7
|
-
import { PubSub } from 'graphql-subscriptions';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Server module (dynamic)
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
<h1>Welcome <%=
|
|
2
|
-
<p>
|
|
1
|
+
<h1>Welcome <%= name %>,</h1>
|
|
2
|
+
<p>please confirm your email address.</p>
|
|
3
|
+
<a href="<%= link %>">E-Mail bestätigen</a>
|
package/src/test/test.helper.ts
CHANGED
|
@@ -113,7 +113,7 @@ export class TestHelper {
|
|
|
113
113
|
/**
|
|
114
114
|
* GraphQL request
|
|
115
115
|
* @param graphql
|
|
116
|
-
* @param
|
|
116
|
+
* @param options
|
|
117
117
|
*/
|
|
118
118
|
async graphQl(graphql: string | TestGraphQLConfig, options: TestGraphQLOptions = {}): Promise<any> {
|
|
119
119
|
// Default options
|
|
@@ -148,7 +148,7 @@ export class TestHelper {
|
|
|
148
148
|
graphql = Object.assign(
|
|
149
149
|
{
|
|
150
150
|
arguments: null,
|
|
151
|
-
fields: [
|
|
151
|
+
fields: [],
|
|
152
152
|
name: null,
|
|
153
153
|
type: TestGraphQLType.QUERY,
|
|
154
154
|
},
|