1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const graphql_1 = require("@nestjs/graphql");
|
5 | const auth_repository_1 = require("./auth.repository");
|
6 | const auth_service_1 = require("./auth.service");
|
7 | const auth_guard_1 = require("./auth.guard");
|
8 | const invite_user_service_1 = require("./invite-user.service");
|
9 | const password_reset_service_1 = require("./password-reset.service");
|
10 | let 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 | };
|
54 | tslib_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);
|
60 | tslib_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);
|
67 | tslib_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);
|
74 | tslib_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);
|
81 | tslib_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);
|
88 | tslib_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);
|
95 | tslib_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);
|
102 | AuthResolver = 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);
|
109 | exports.AuthResolver = AuthResolver;
|
110 |
|
\ | No newline at end of file |