UNPKG

4.7 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const graphql_1 = require("@nestjs/graphql");
5const auth_repository_1 = require("./auth.repository");
6const auth_service_1 = require("./auth.service");
7const auth_guard_1 = require("./auth.guard");
8const invite_user_service_1 = require("./invite-user.service");
9const password_reset_service_1 = require("./password-reset.service");
10let AuthResolver = class AuthResolver {
11 constructor(credentialsRepository, authService, passwordResetService, inviteUserService) {
12 this.credentialsRepository = credentialsRepository;
13 this.authService = authService;
14 this.passwordResetService = passwordResetService;
15 this.inviteUserService = inviteUserService;
16 }
17 async credentials({ id }, _args, context) {
18 const [maybeCredentials] = await this.credentialsRepository.query(context, {
19 filters: {
20 userId: id,
21 },
22 limit: 1,
23 });
24 if (maybeCredentials && maybeCredentials.length > 0) {
25 const credentials = maybeCredentials[0];
26 return {
27 username: credentials.id,
28 type: credentials.type,
29 };
30 }
31 }
32 async me(_req, _args, context) {
33 if (context.user) {
34 return context.user;
35 }
36 }
37 async resetPassword(_req, { email }, context) {
38 return await this.passwordResetService.resetPassword(context, email);
39 }
40 async confirmResetPassword(_req, { code, newPassword }, context) {
41 return await this.passwordResetService.confirmResetPassword(context, code, newPassword);
42 }
43 async inviteUser(_req, { email, roles }, context) {
44 const { user: { id }, } = await this.inviteUserService.inviteUser(context, { email, roles });
45 return id;
46 }
47 async checkActivationCode(_req, { code }, context) {
48 return this.inviteUserService.checkActivationCode(context, code);
49 }
50 async activateAccount(_req, { code, name, password }, context) {
51 await this.inviteUserService.activateAccount(context, code, name, password);
52 }
53};
54tslib_1.__decorate([
55 auth_guard_1.Roles('admin'),
56 tslib_1.__metadata("design:type", Function),
57 tslib_1.__metadata("design:paramtypes", [Object, Object, Object]),
58 tslib_1.__metadata("design:returntype", Promise)
59], AuthResolver.prototype, "credentials", null);
60tslib_1.__decorate([
61 auth_guard_1.AllowAnonymous(),
62 graphql_1.Query('me'),
63 tslib_1.__metadata("design:type", Function),
64 tslib_1.__metadata("design:paramtypes", [void 0, void 0, Object]),
65 tslib_1.__metadata("design:returntype", Promise)
66], AuthResolver.prototype, "me", null);
67tslib_1.__decorate([
68 auth_guard_1.AllowAnonymous(),
69 graphql_1.Mutation(),
70 tslib_1.__metadata("design:type", Function),
71 tslib_1.__metadata("design:paramtypes", [void 0, Object, Object]),
72 tslib_1.__metadata("design:returntype", Promise)
73], AuthResolver.prototype, "resetPassword", null);
74tslib_1.__decorate([
75 auth_guard_1.AllowAnonymous(),
76 graphql_1.Mutation(),
77 tslib_1.__metadata("design:type", Function),
78 tslib_1.__metadata("design:paramtypes", [void 0, Object, Object]),
79 tslib_1.__metadata("design:returntype", Promise)
80], AuthResolver.prototype, "confirmResetPassword", null);
81tslib_1.__decorate([
82 auth_guard_1.Roles('admin'),
83 graphql_1.Mutation(),
84 tslib_1.__metadata("design:type", Function),
85 tslib_1.__metadata("design:paramtypes", [void 0, Object, Object]),
86 tslib_1.__metadata("design:returntype", Promise)
87], AuthResolver.prototype, "inviteUser", null);
88tslib_1.__decorate([
89 auth_guard_1.AllowAnonymous(),
90 graphql_1.Query('checkActivationCode'),
91 tslib_1.__metadata("design:type", Function),
92 tslib_1.__metadata("design:paramtypes", [void 0, Object, Object]),
93 tslib_1.__metadata("design:returntype", Promise)
94], AuthResolver.prototype, "checkActivationCode", null);
95tslib_1.__decorate([
96 auth_guard_1.AllowAnonymous(),
97 graphql_1.Mutation(),
98 tslib_1.__metadata("design:type", Function),
99 tslib_1.__metadata("design:paramtypes", [void 0, Object, Object]),
100 tslib_1.__metadata("design:returntype", Promise)
101], AuthResolver.prototype, "activateAccount", null);
102AuthResolver = tslib_1.__decorate([
103 graphql_1.Resolver('User'),
104 tslib_1.__metadata("design:paramtypes", [auth_repository_1.CredentialRepository,
105 auth_service_1.AuthService,
106 password_reset_service_1.PasswordResetService,
107 invite_user_service_1.InviteUserService])
108], AuthResolver);
109exports.AuthResolver = AuthResolver;
110//# sourceMappingURL=auth.graphql.js.map
\No newline at end of file