@mondomob/gae-node-nestjs 12.0.0-alpha-2 → 12.0.0-alpha-3
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/_test/mocks.d.ts +9 -0
- package/dist/_test/mocks.js +27 -0
- package/dist/_test/mocks.js.map +1 -0
- package/dist/_test/request-scope-test-utils.d.ts +3 -0
- package/dist/_test/request-scope-test-utils.js +18 -0
- package/dist/_test/request-scope-test-utils.js.map +1 -0
- package/dist/auth/auth-user.model.d.ts +9 -0
- package/dist/auth/auth-user.model.js +33 -0
- package/dist/auth/auth-user.model.js.map +1 -0
- package/dist/auth/auth.callbacks.d.ts +8 -0
- package/dist/auth/auth.callbacks.js +5 -0
- package/dist/auth/auth.callbacks.js.map +1 -0
- package/dist/auth/auth.configurer.d.ts +35 -0
- package/dist/auth/auth.configurer.js +212 -0
- package/dist/auth/auth.configurer.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +27 -0
- package/dist/auth/auth.controller.js +312 -0
- package/dist/auth/auth.controller.js.map +1 -0
- package/dist/auth/auth.guard.d.ts +16 -0
- package/dist/auth/auth.guard.js +127 -0
- package/dist/auth/auth.guard.js.map +1 -0
- package/dist/auth/auth.listener.d.ts +5 -0
- package/dist/auth/auth.listener.js +5 -0
- package/dist/auth/auth.listener.js.map +1 -0
- package/dist/auth/auth.repository.d.ts +52 -0
- package/dist/auth/auth.repository.js +79 -0
- package/dist/auth/auth.repository.js.map +1 -0
- package/dist/auth/auth.resolver.d.ts +13 -0
- package/dist/auth/auth.resolver.js +86 -0
- package/dist/auth/auth.resolver.js.map +1 -0
- package/dist/auth/auth.service.d.ts +35 -0
- package/dist/auth/auth.service.js +299 -0
- package/dist/auth/auth.service.js.map +1 -0
- package/dist/auth/auth.task.controller.d.ts +13 -0
- package/dist/auth/auth.task.controller.js +76 -0
- package/dist/auth/auth.task.controller.js.map +1 -0
- package/dist/auth/auth.task.service.d.ts +8 -0
- package/dist/auth/auth.task.service.js +26 -0
- package/dist/auth/auth.task.service.js.map +1 -0
- package/dist/auth/csrf.interceptor.d.ts +11 -0
- package/dist/auth/csrf.interceptor.js +38 -0
- package/dist/auth/csrf.interceptor.js.map +1 -0
- package/dist/auth/invite-user.service.d.ts +45 -0
- package/dist/auth/invite-user.service.js +215 -0
- package/dist/auth/invite-user.service.js.map +1 -0
- package/dist/auth/invite.callbacks.d.ts +6 -0
- package/dist/auth/invite.callbacks.js +5 -0
- package/dist/auth/invite.callbacks.js.map +1 -0
- package/dist/auth/login-identifier.repository.d.ts +13 -0
- package/dist/auth/login-identifier.repository.js +28 -0
- package/dist/auth/login-identifier.repository.js.map +1 -0
- package/dist/auth/password-reset.service.d.ts +15 -0
- package/dist/auth/password-reset.service.js +81 -0
- package/dist/auth/password-reset.service.js.map +1 -0
- package/dist/auth/user.service.d.ts +27 -0
- package/dist/auth/user.service.js +94 -0
- package/dist/auth/user.service.js.map +1 -0
- package/dist/configuration.d.ts +84 -0
- package/dist/configuration.js +5 -0
- package/dist/configuration.js.map +1 -0
- package/dist/configure.d.ts +40 -0
- package/dist/configure.js +85 -0
- package/dist/configure.js.map +1 -0
- package/dist/context/context-middleware.d.ts +15 -0
- package/dist/context/context-middleware.js +37 -0
- package/dist/context/context-middleware.js.map +1 -0
- package/dist/context/context-request-scope.d.ts +8 -0
- package/dist/context/context-request-scope.js +29 -0
- package/dist/context/context-request-scope.js.map +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.js +9 -0
- package/dist/context/index.js.map +1 -0
- package/dist/datastore/context.d.ts +36 -0
- package/dist/datastore/context.js +27 -0
- package/dist/datastore/context.js.map +1 -0
- package/dist/datastore/datastore.provider.d.ts +8 -0
- package/dist/datastore/datastore.provider.js +30 -0
- package/dist/datastore/datastore.provider.js.map +1 -0
- package/dist/datastore/filters.d.ts +19 -0
- package/dist/datastore/filters.js +27 -0
- package/dist/datastore/filters.js.map +1 -0
- package/dist/datastore/loader.d.ts +50 -0
- package/dist/datastore/loader.js +147 -0
- package/dist/datastore/loader.js.map +1 -0
- package/dist/datastore/node-datastore-session.d.ts +17 -0
- package/dist/datastore/node-datastore-session.js +87 -0
- package/dist/datastore/node-datastore-session.js.map +1 -0
- package/dist/datastore/repository.d.ts +45 -0
- package/dist/datastore/repository.js +150 -0
- package/dist/datastore/repository.js.map +1 -0
- package/dist/datastore/transactional.d.ts +4 -0
- package/dist/datastore/transactional.js +13 -0
- package/dist/datastore/transactional.js.map +1 -0
- package/dist/error/NonFatalError.d.ts +3 -0
- package/dist/error/NonFatalError.js +11 -0
- package/dist/error/NonFatalError.js.map +1 -0
- package/dist/filter.d.ts +5 -0
- package/dist/filter.js +40 -0
- package/dist/filter.js.map +1 -0
- package/dist/gcloud/logging.d.ts +1 -0
- package/dist/gcloud/logging.js +5 -0
- package/dist/gcloud/logging.js.map +1 -0
- package/dist/gcloud/storage.provider.d.ts +12 -0
- package/dist/gcloud/storage.provider.js +41 -0
- package/dist/gcloud/storage.provider.js.map +1 -0
- package/dist/gcloud/tasks.d.ts +10 -0
- package/dist/gcloud/tasks.js +68 -0
- package/dist/gcloud/tasks.js.map +1 -0
- package/dist/graphql/GraphQLMiddleware.d.ts +0 -0
- package/dist/graphql/GraphQLMiddleware.js +2 -0
- package/dist/graphql/GraphQLMiddleware.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +65 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/index.d.ts +1 -0
- package/dist/logging/index.js +8 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logging-internal.d.ts +2 -0
- package/dist/logging/logging-internal.js +20 -0
- package/dist/logging/logging-internal.js.map +1 -0
- package/dist/logging/logging-request-scope.d.ts +15 -0
- package/dist/logging/logging-request-scope.js +39 -0
- package/dist/logging/logging-request-scope.js.map +1 -0
- package/dist/logging/logging.d.ts +34 -0
- package/dist/logging/logging.js +55 -0
- package/dist/logging/logging.js.map +1 -0
- package/dist/mail/gmail/gmail.configurer.d.ts +15 -0
- package/dist/mail/gmail/gmail.configurer.js +59 -0
- package/dist/mail/gmail/gmail.configurer.js.map +1 -0
- package/dist/mail/gmail/gmail.controller.d.ts +9 -0
- package/dist/mail/gmail/gmail.controller.js +62 -0
- package/dist/mail/gmail/gmail.controller.js.map +1 -0
- package/dist/mail/gmail/gmail.sender.d.ts +12 -0
- package/dist/mail/gmail/gmail.sender.js +62 -0
- package/dist/mail/gmail/gmail.sender.js.map +1 -0
- package/dist/mail/gmail/stored.credentials.repository.d.ts +12 -0
- package/dist/mail/gmail/stored.credentials.repository.js +23 -0
- package/dist/mail/gmail/stored.credentials.repository.js.map +1 -0
- package/dist/mail/mail-logging.sender.d.ts +9 -0
- package/dist/mail/mail-logging.sender.js +42 -0
- package/dist/mail/mail-logging.sender.js.map +1 -0
- package/dist/mail/mail-subject.sender.d.ts +12 -0
- package/dist/mail/mail-subject.sender.js +33 -0
- package/dist/mail/mail-subject.sender.js.map +1 -0
- package/dist/mail/mail-whitelist.sender.d.ts +14 -0
- package/dist/mail/mail-whitelist.sender.js +59 -0
- package/dist/mail/mail-whitelist.sender.js.map +1 -0
- package/dist/mail/mail.diverter.d.ts +13 -0
- package/dist/mail/mail.diverter.js +65 -0
- package/dist/mail/mail.diverter.js.map +1 -0
- package/dist/mail/mail.sender.d.ts +6 -0
- package/dist/mail/mail.sender.js +5 -0
- package/dist/mail/mail.sender.js.map +1 -0
- package/dist/mail/smtp/smtp.sender.d.ts +10 -0
- package/dist/mail/smtp/smtp.sender.js +65 -0
- package/dist/mail/smtp/smtp.sender.js.map +1 -0
- package/dist/mail-templates/base.d.ts +2 -0
- package/dist/mail-templates/base.js +328 -0
- package/dist/mail-templates/base.js.map +1 -0
- package/dist/mail-templates/invite.d.ts +1 -0
- package/dist/mail-templates/invite.js +19 -0
- package/dist/mail-templates/invite.js.map +1 -0
- package/dist/module.d.ts +16 -0
- package/dist/module.js +136 -0
- package/dist/module.js.map +1 -0
- package/dist/request-scope/index.d.ts +2 -0
- package/dist/request-scope/index.js +9 -0
- package/dist/request-scope/index.js.map +1 -0
- package/dist/request-scope/request-scope-interceptor.d.ts +5 -0
- package/dist/request-scope/request-scope-interceptor.js +3 -0
- package/dist/request-scope/request-scope-interceptor.js.map +1 -0
- package/dist/request-scope/request-scope.d.ts +12 -0
- package/dist/request-scope/request-scope.js +79 -0
- package/dist/request-scope/request-scope.js.map +1 -0
- package/dist/request-scope/request-scope.middleware.d.ts +15 -0
- package/dist/request-scope/request-scope.middleware.js +53 -0
- package/dist/request-scope/request-scope.middleware.js.map +1 -0
- package/dist/search/search.service.d.ts +52 -0
- package/dist/search/search.service.js +90 -0
- package/dist/search/search.service.js.map +1 -0
- package/dist/search/searchable.repository.d.ts +36 -0
- package/dist/search/searchable.repository.js +95 -0
- package/dist/search/searchable.repository.js.map +1 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/util/arrays.d.ts +1 -0
- package/dist/util/arrays.js +10 -0
- package/dist/util/arrays.js.map +1 -0
- package/dist/util/guards.d.ts +1 -0
- package/dist/util/guards.js +7 -0
- package/dist/util/guards.js.map +1 -0
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.js +5 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/nestjs.d.ts +9 -0
- package/dist/util/nestjs.js +9 -0
- package/dist/util/nestjs.js.map +1 -0
- package/dist/util/types.d.ts +4 -0
- package/dist/util/types.js +8 -0
- package/dist/util/types.js.map +1 -0
- package/dist/validator.d.ts +1 -0
- package/dist/validator.js +5 -0
- package/dist/validator.js.map +1 -0
- package/mondomob-gae-node-nestjs-12.0.0-alpha-3.tgz +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthController = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const __1 = require("..");
|
|
7
|
+
const logging_1 = require("../logging");
|
|
8
|
+
const auth_configurer_1 = require("./auth.configurer");
|
|
9
|
+
const auth_guard_1 = require("./auth.guard");
|
|
10
|
+
const auth_listener_1 = require("./auth.listener");
|
|
11
|
+
let AuthController = class AuthController {
|
|
12
|
+
constructor(authConfigurer, inviteUserService, configuration, authListener) {
|
|
13
|
+
this.authConfigurer = authConfigurer;
|
|
14
|
+
this.inviteUserService = inviteUserService;
|
|
15
|
+
this.configuration = configuration;
|
|
16
|
+
this.authListener = authListener;
|
|
17
|
+
this.logger = (0, logging_1.createLogger)('auth-controller');
|
|
18
|
+
}
|
|
19
|
+
signIn(req, res, next) {
|
|
20
|
+
this.authConfigurer.authenticateLocal()(req, res, (result) => {
|
|
21
|
+
if (result) {
|
|
22
|
+
if (result instanceof common_1.HttpException) {
|
|
23
|
+
return res.status(result.getStatus()).send(result.getResponse());
|
|
24
|
+
}
|
|
25
|
+
next(result);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.authListener.onLogin(req);
|
|
29
|
+
res.send({
|
|
30
|
+
result: 'success',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
signInFake(req, res, next) {
|
|
36
|
+
this.authConfigurer.authenticateFake()(req, res, (result) => {
|
|
37
|
+
if (result) {
|
|
38
|
+
if (result instanceof common_1.HttpException) {
|
|
39
|
+
return res.status(result.getStatus()).send(result.getResponse());
|
|
40
|
+
}
|
|
41
|
+
next(result);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.authListener.onLogin(req);
|
|
45
|
+
res.send({
|
|
46
|
+
result: 'success',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async activate(req, res, next, context) {
|
|
52
|
+
await this.inviteUserService.activateAccount(context, req.body.code, req.body.name, req.body.password);
|
|
53
|
+
res.send({
|
|
54
|
+
result: 'Activated successfully',
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async reInviteUser(req, res, next, context) {
|
|
58
|
+
if (!req.body.userId) {
|
|
59
|
+
throw new Error('User id not supplied');
|
|
60
|
+
}
|
|
61
|
+
this.logger.info('Re invite requested for ' + req.body.userId);
|
|
62
|
+
const userInviteResponse = await this.inviteUserService.reInviteForUserId(context, req.body.userId);
|
|
63
|
+
if (userInviteResponse) {
|
|
64
|
+
res.send({
|
|
65
|
+
result: 'Re Invited user successfully',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
res.status(common_1.HttpStatus.INTERNAL_SERVER_ERROR).send('Error while re inviting user');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
signOutLocal(req, res, next) {
|
|
73
|
+
this.logger.debug('Logging out local user');
|
|
74
|
+
req.logout(() => undefined);
|
|
75
|
+
if (req.xhr) {
|
|
76
|
+
res.status(204).send();
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const redirectUrl = '/';
|
|
80
|
+
this.logger.debug(`Redirecting to ${redirectUrl} for non-xhr request`);
|
|
81
|
+
res.redirect(redirectUrl);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
signOut(req, res, next) {
|
|
85
|
+
this.logger.warn('This endpoint is deprecated and will be removed in future releases - please use GET /auth/signout/local instead');
|
|
86
|
+
req.logout(() => undefined);
|
|
87
|
+
res.redirect('/');
|
|
88
|
+
}
|
|
89
|
+
signInGoogle(req, res, next) {
|
|
90
|
+
this.authConfigurer.beginAuthenticateGoogle()(req, res, next);
|
|
91
|
+
}
|
|
92
|
+
completeSignInGoogle(req, res) {
|
|
93
|
+
this.authConfigurer.completeAuthenticateGoogle()(req, res, (err) => {
|
|
94
|
+
if (req.user) {
|
|
95
|
+
this.authListener.onLogin(req);
|
|
96
|
+
res.redirect(`/`);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.logger.warn('Login with google failed', err);
|
|
100
|
+
res.redirect(`/signin?error=${encodeURIComponent('Login with google failed.')}`);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
signInSaml(req, res, next) {
|
|
105
|
+
this.logger.info('Redirecting to SAML Identity Provider');
|
|
106
|
+
this.authConfigurer.beginAuthenticateSaml()(req, res, next);
|
|
107
|
+
}
|
|
108
|
+
completeSignInSaml(req, res) {
|
|
109
|
+
this.logger.info('Received ACS callback from SAML Identity Provider');
|
|
110
|
+
this.authConfigurer.completeAuthenticateSaml()(req, res, (err) => {
|
|
111
|
+
if (req.user) {
|
|
112
|
+
this.logger.info('user: %o', req.user);
|
|
113
|
+
this.authListener.onLogin(req);
|
|
114
|
+
res.redirect('/');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.logger.warn('Login with SAML failed', err);
|
|
118
|
+
res.redirect(`/signin?error=${encodeURIComponent('Login with SAML failed.')}`);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
signInAuth0(req, res, next) {
|
|
123
|
+
this.authConfigurer.beginAuthenticateAuth0(req)(req, res, next);
|
|
124
|
+
}
|
|
125
|
+
signOutAuth0(req, res) {
|
|
126
|
+
const redirectUrl = this.authConfigurer.getSignoutUrlAuth0();
|
|
127
|
+
this.logger.info('Redirecting to ', redirectUrl);
|
|
128
|
+
res.redirect(redirectUrl);
|
|
129
|
+
}
|
|
130
|
+
completeSignInAuth0(req, res) {
|
|
131
|
+
this.authConfigurer.completeAuthenticateAuth0(req)(req, res, (err) => {
|
|
132
|
+
if (req.user) {
|
|
133
|
+
this.authListener.onLogin(req);
|
|
134
|
+
res.redirect(`/`);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.logger.warn('Login with auth0 failed', err);
|
|
138
|
+
res.redirect(`/signin?error=${encodeURIComponent('Login with auth0 failed.')}`);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
signInOidc(req, res, next) {
|
|
143
|
+
this.authConfigurer.beginAuthenticateOidc()(req, res, next);
|
|
144
|
+
}
|
|
145
|
+
completeSignInOidc(req, res) {
|
|
146
|
+
this.authConfigurer.completeAuthenticateOidc()(req, res, (err) => {
|
|
147
|
+
if (req.user) {
|
|
148
|
+
this.authListener.onLogin(req);
|
|
149
|
+
res.redirect(`/`);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
this.logger.warn('Login with oidc failed', err);
|
|
153
|
+
res.redirect(`/signin?error=${encodeURIComponent('Login with oidc failed.')}`);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
exports.AuthController = AuthController;
|
|
159
|
+
tslib_1.__decorate([
|
|
160
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
161
|
+
(0, common_1.Post)('signin/local'),
|
|
162
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
163
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
164
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
165
|
+
tslib_1.__metadata("design:type", Function),
|
|
166
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
167
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
168
|
+
], AuthController.prototype, "signIn", null);
|
|
169
|
+
tslib_1.__decorate([
|
|
170
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
171
|
+
(0, common_1.Post)('signin/fake'),
|
|
172
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
173
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
174
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
175
|
+
tslib_1.__metadata("design:type", Function),
|
|
176
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
177
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
178
|
+
], AuthController.prototype, "signInFake", null);
|
|
179
|
+
tslib_1.__decorate([
|
|
180
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
181
|
+
(0, common_1.Post)('activate'),
|
|
182
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
183
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
184
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
185
|
+
tslib_1.__param(3, (0, __1.Ctxt)()),
|
|
186
|
+
tslib_1.__metadata("design:type", Function),
|
|
187
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function, Object]),
|
|
188
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
189
|
+
], AuthController.prototype, "activate", null);
|
|
190
|
+
tslib_1.__decorate([
|
|
191
|
+
(0, auth_guard_1.Roles)('admin'),
|
|
192
|
+
(0, common_1.Post)('re-invite'),
|
|
193
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
194
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
195
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
196
|
+
tslib_1.__param(3, (0, __1.Ctxt)()),
|
|
197
|
+
tslib_1.__metadata("design:type", Function),
|
|
198
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function, Object]),
|
|
199
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
200
|
+
], AuthController.prototype, "reInviteUser", null);
|
|
201
|
+
tslib_1.__decorate([
|
|
202
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
203
|
+
(0, common_1.Get)('signout/local'),
|
|
204
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
205
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
206
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
207
|
+
tslib_1.__metadata("design:type", Function),
|
|
208
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
209
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
210
|
+
], AuthController.prototype, "signOutLocal", null);
|
|
211
|
+
tslib_1.__decorate([
|
|
212
|
+
(0, common_1.Post)('signout/local'),
|
|
213
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
214
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
215
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
216
|
+
tslib_1.__metadata("design:type", Function),
|
|
217
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
218
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
219
|
+
], AuthController.prototype, "signOut", null);
|
|
220
|
+
tslib_1.__decorate([
|
|
221
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
222
|
+
(0, common_1.Get)('signin/google'),
|
|
223
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
224
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
225
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
226
|
+
tslib_1.__metadata("design:type", Function),
|
|
227
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
228
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
229
|
+
], AuthController.prototype, "signInGoogle", null);
|
|
230
|
+
tslib_1.__decorate([
|
|
231
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
232
|
+
(0, common_1.Get)('signin/google/callback'),
|
|
233
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
234
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
235
|
+
tslib_1.__metadata("design:type", Function),
|
|
236
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
237
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
238
|
+
], AuthController.prototype, "completeSignInGoogle", null);
|
|
239
|
+
tslib_1.__decorate([
|
|
240
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
241
|
+
(0, common_1.Get)('signin/saml'),
|
|
242
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
243
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
244
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
245
|
+
tslib_1.__metadata("design:type", Function),
|
|
246
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
247
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
248
|
+
], AuthController.prototype, "signInSaml", null);
|
|
249
|
+
tslib_1.__decorate([
|
|
250
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
251
|
+
(0, common_1.Post)('signin/saml/acs'),
|
|
252
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
253
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
254
|
+
tslib_1.__metadata("design:type", Function),
|
|
255
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
256
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
257
|
+
], AuthController.prototype, "completeSignInSaml", null);
|
|
258
|
+
tslib_1.__decorate([
|
|
259
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
260
|
+
(0, common_1.Get)('signin/auth0'),
|
|
261
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
262
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
263
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
264
|
+
tslib_1.__metadata("design:type", Function),
|
|
265
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
266
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
267
|
+
], AuthController.prototype, "signInAuth0", null);
|
|
268
|
+
tslib_1.__decorate([
|
|
269
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
270
|
+
(0, common_1.Get)('signout/auth0'),
|
|
271
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
272
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
273
|
+
tslib_1.__metadata("design:type", Function),
|
|
274
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
275
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
276
|
+
], AuthController.prototype, "signOutAuth0", null);
|
|
277
|
+
tslib_1.__decorate([
|
|
278
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
279
|
+
(0, common_1.Get)('signin/auth0/callback'),
|
|
280
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
281
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
282
|
+
tslib_1.__metadata("design:type", Function),
|
|
283
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
284
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
285
|
+
], AuthController.prototype, "completeSignInAuth0", null);
|
|
286
|
+
tslib_1.__decorate([
|
|
287
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
288
|
+
(0, common_1.Get)('signin/oidc'),
|
|
289
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
290
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
291
|
+
tslib_1.__param(2, (0, common_1.Next)()),
|
|
292
|
+
tslib_1.__metadata("design:type", Function),
|
|
293
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Function]),
|
|
294
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
295
|
+
], AuthController.prototype, "signInOidc", null);
|
|
296
|
+
tslib_1.__decorate([
|
|
297
|
+
(0, auth_guard_1.AllowAnonymous)(),
|
|
298
|
+
(0, common_1.Get)('signin/oidc/callback'),
|
|
299
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
300
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
301
|
+
tslib_1.__metadata("design:type", Function),
|
|
302
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
303
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
304
|
+
], AuthController.prototype, "completeSignInOidc", null);
|
|
305
|
+
exports.AuthController = AuthController = tslib_1.__decorate([
|
|
306
|
+
(0, common_1.Controller)('auth'),
|
|
307
|
+
tslib_1.__param(2, (0, common_1.Inject)('Configuration')),
|
|
308
|
+
tslib_1.__param(3, (0, common_1.Inject)(auth_listener_1.AUTH_LISTENER)),
|
|
309
|
+
tslib_1.__metadata("design:paramtypes", [auth_configurer_1.AuthConfigurer,
|
|
310
|
+
__1.InviteUserService, Object, Object])
|
|
311
|
+
], AuthController);
|
|
312
|
+
//# sourceMappingURL=auth.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { Reflector } from '@nestjs/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { Configuration } from '../configuration';
|
|
5
|
+
export declare const Roles: (...roles: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
|
6
|
+
export declare const AllowAnonymous: () => import("@nestjs/common").CustomDecorator<string>;
|
|
7
|
+
export declare const Task: () => import("@nestjs/common").CustomDecorator<string>;
|
|
8
|
+
export declare const Cron: () => import("@nestjs/common").CustomDecorator<string>;
|
|
9
|
+
export declare const System: () => import("@nestjs/common").CustomDecorator<string>;
|
|
10
|
+
export declare class AuthGuard implements CanActivate {
|
|
11
|
+
private readonly reflector;
|
|
12
|
+
private readonly configurationProvider;
|
|
13
|
+
private logger;
|
|
14
|
+
constructor(reflector: Reflector, configurationProvider: Configuration);
|
|
15
|
+
canActivate(context: ExecutionContext): boolean | Promise<boolean> | Observable<boolean>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthGuard = exports.System = exports.Cron = exports.Task = exports.AllowAnonymous = exports.Roles = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const core_1 = require("@nestjs/core");
|
|
7
|
+
const logging_1 = require("../logging");
|
|
8
|
+
const context_1 = require("../datastore/context");
|
|
9
|
+
const configuration_1 = require("../configuration");
|
|
10
|
+
const util_1 = require("../util");
|
|
11
|
+
const logger = (0, logging_1.createLogger)('auth-guard');
|
|
12
|
+
const Roles = (...roles) => (0, common_1.SetMetadata)('roles', roles);
|
|
13
|
+
exports.Roles = Roles;
|
|
14
|
+
const AllowAnonymous = () => (0, common_1.SetMetadata)('allowAnonymous', true);
|
|
15
|
+
exports.AllowAnonymous = AllowAnonymous;
|
|
16
|
+
const Task = () => (0, common_1.SetMetadata)('secure-header', 'x-appengine-taskname');
|
|
17
|
+
exports.Task = Task;
|
|
18
|
+
const Cron = () => (0, common_1.SetMetadata)('secure-header', 'x-appengine-cron');
|
|
19
|
+
exports.Cron = Cron;
|
|
20
|
+
const System = () => (0, common_1.SetMetadata)('system', true);
|
|
21
|
+
exports.System = System;
|
|
22
|
+
const reflectValue = (reflector, key, context, defaultValue) => {
|
|
23
|
+
const methodValue = reflector.get(key, context.getHandler());
|
|
24
|
+
if (methodValue !== undefined) {
|
|
25
|
+
return methodValue;
|
|
26
|
+
}
|
|
27
|
+
const classValue = reflector.get(key, context.getClass());
|
|
28
|
+
if (classValue !== undefined) {
|
|
29
|
+
return classValue;
|
|
30
|
+
}
|
|
31
|
+
return defaultValue;
|
|
32
|
+
};
|
|
33
|
+
function isAllowAnonymous(reflector, context) {
|
|
34
|
+
return reflectValue(reflector, 'allowAnonymous', context, false);
|
|
35
|
+
}
|
|
36
|
+
function isUserAllowedAccess(reflector, context, user) {
|
|
37
|
+
if (!user) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const roles = reflectValue(reflector, 'roles', context, []);
|
|
41
|
+
if (!roles.length) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
const { roles: userRoles = [] } = user;
|
|
45
|
+
const allowed = roles.some(role => userRoles.includes(role));
|
|
46
|
+
if (!allowed) {
|
|
47
|
+
logger.warn('User does not have the required role');
|
|
48
|
+
}
|
|
49
|
+
return allowed;
|
|
50
|
+
}
|
|
51
|
+
function isSystemCall(reflector, context) {
|
|
52
|
+
return reflectValue(reflector, 'system', context, false);
|
|
53
|
+
}
|
|
54
|
+
async function isAuthorizedSystemCall(reflector, context, secret) {
|
|
55
|
+
const { verify } = await Promise.resolve().then(() => require('jsonwebtoken'));
|
|
56
|
+
const { headers } = (0, util_1.getRequestFromExecutionContext)(context);
|
|
57
|
+
if (!headers.authorization) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const token = headers.authorization.substr(4);
|
|
61
|
+
return new Promise(resolve => verify(token, secret, {
|
|
62
|
+
maxAge: '5 min',
|
|
63
|
+
algorithms: ['HS256'],
|
|
64
|
+
}, err => {
|
|
65
|
+
if (err) {
|
|
66
|
+
logger.error('Error decoding system token', err);
|
|
67
|
+
resolve(false);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
resolve(true);
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
function getRequiredSecureHeader(reflector, context) {
|
|
75
|
+
return reflectValue(reflector, 'secure-header', context, undefined);
|
|
76
|
+
}
|
|
77
|
+
function hasSecureHeader(secureHeader, context) {
|
|
78
|
+
const { headers } = (0, util_1.getRequestFromExecutionContext)(context);
|
|
79
|
+
if (!headers) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
return !!headers[secureHeader];
|
|
83
|
+
}
|
|
84
|
+
function getUser(context) {
|
|
85
|
+
const request = (0, util_1.getRequestFromExecutionContext)(context);
|
|
86
|
+
if (request.context && request.context.user) {
|
|
87
|
+
return request.context.user;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const args = context.getArgs();
|
|
91
|
+
if (args.length > 2) {
|
|
92
|
+
const ctxt = args[2];
|
|
93
|
+
if ((0, context_1.isContext)(ctxt)) {
|
|
94
|
+
return ctxt.user;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
let AuthGuard = class AuthGuard {
|
|
101
|
+
constructor(reflector, configurationProvider) {
|
|
102
|
+
this.reflector = reflector;
|
|
103
|
+
this.configurationProvider = configurationProvider;
|
|
104
|
+
this.logger = (0, logging_1.createLogger)('auth-guard');
|
|
105
|
+
}
|
|
106
|
+
canActivate(context) {
|
|
107
|
+
if (isAllowAnonymous(this.reflector, context)) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
if (isSystemCall(this.reflector, context)) {
|
|
111
|
+
return isAuthorizedSystemCall(this.reflector, context, this.configurationProvider.systemSecret);
|
|
112
|
+
}
|
|
113
|
+
const requiredSecureHeader = getRequiredSecureHeader(this.reflector, context);
|
|
114
|
+
if (requiredSecureHeader) {
|
|
115
|
+
return hasSecureHeader(requiredSecureHeader, context);
|
|
116
|
+
}
|
|
117
|
+
const user = getUser(context);
|
|
118
|
+
return isUserAllowedAccess(this.reflector, context, user);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
exports.AuthGuard = AuthGuard;
|
|
122
|
+
exports.AuthGuard = AuthGuard = tslib_1.__decorate([
|
|
123
|
+
(0, common_1.Injectable)(),
|
|
124
|
+
tslib_1.__param(1, (0, common_1.Inject)(configuration_1.CONFIGURATION)),
|
|
125
|
+
tslib_1.__metadata("design:paramtypes", [core_1.Reflector, Object])
|
|
126
|
+
], AuthGuard);
|
|
127
|
+
//# sourceMappingURL=auth.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/auth/auth.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.listener.js","sourceRoot":"","sources":["../../src/auth/auth.listener.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
import { DatastoreProvider } from '../datastore/datastore.provider';
|
|
3
|
+
import { Repository } from '../datastore/repository';
|
|
4
|
+
import { OneOrMany } from '../util/types';
|
|
5
|
+
import { Context } from '../datastore/context';
|
|
6
|
+
declare const passwordReset: t.TypeC<{
|
|
7
|
+
id: t.StringC;
|
|
8
|
+
accountId: t.StringC;
|
|
9
|
+
createdAt: t.Type<Date, Date, unknown>;
|
|
10
|
+
}>;
|
|
11
|
+
export type PasswordReset = t.TypeOf<typeof passwordReset>;
|
|
12
|
+
export declare class PasswordResetRepository extends Repository<PasswordReset> {
|
|
13
|
+
constructor(datastoreProvider: DatastoreProvider);
|
|
14
|
+
}
|
|
15
|
+
declare const userInvite: t.TypeC<{
|
|
16
|
+
id: t.StringC;
|
|
17
|
+
email: t.StringC;
|
|
18
|
+
createdAt: t.Type<Date, Date, unknown>;
|
|
19
|
+
userId: t.StringC;
|
|
20
|
+
roles: t.ArrayC<t.StringC>;
|
|
21
|
+
}>;
|
|
22
|
+
export type UserInvite = t.TypeOf<typeof userInvite>;
|
|
23
|
+
export declare class UserInviteRepository extends Repository<UserInvite> {
|
|
24
|
+
constructor(datastoreProvider: DatastoreProvider);
|
|
25
|
+
}
|
|
26
|
+
declare const externalAuthTypeEnum: t.UnionC<[t.LiteralC<"google">, t.LiteralC<"saml">, t.LiteralC<"auth0">, t.LiteralC<"oidc">]>;
|
|
27
|
+
declare const loginCredentials: t.Type<{
|
|
28
|
+
id: string;
|
|
29
|
+
userId: string;
|
|
30
|
+
password: string;
|
|
31
|
+
type: "password";
|
|
32
|
+
} | {
|
|
33
|
+
id: string;
|
|
34
|
+
userId: string;
|
|
35
|
+
type: "google" | "saml" | "auth0" | "oidc";
|
|
36
|
+
}, {
|
|
37
|
+
id: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
password: string;
|
|
40
|
+
type: "password";
|
|
41
|
+
} | {
|
|
42
|
+
id: string;
|
|
43
|
+
userId: string;
|
|
44
|
+
type: "google" | "saml" | "auth0" | "oidc";
|
|
45
|
+
}, unknown>;
|
|
46
|
+
export type LoginCredentials = t.TypeOf<typeof loginCredentials>;
|
|
47
|
+
export type ExternalAuthType = t.TypeOf<typeof externalAuthTypeEnum>;
|
|
48
|
+
export declare class CredentialRepository extends Repository<LoginCredentials> {
|
|
49
|
+
constructor(datastore: DatastoreProvider);
|
|
50
|
+
protected beforePersist(context: Context, entities: OneOrMany<LoginCredentials>): OneOrMany<LoginCredentials>;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CredentialRepository = exports.UserInviteRepository = exports.PasswordResetRepository = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const t = require("io-ts");
|
|
7
|
+
const datastore_provider_1 = require("../datastore/datastore.provider");
|
|
8
|
+
const repository_1 = require("../datastore/repository");
|
|
9
|
+
const types_1 = require("../util/types");
|
|
10
|
+
const user_service_1 = require("./user.service");
|
|
11
|
+
const passwordReset = t.interface({
|
|
12
|
+
id: t.string,
|
|
13
|
+
accountId: t.string,
|
|
14
|
+
createdAt: repository_1.dateType,
|
|
15
|
+
});
|
|
16
|
+
let PasswordResetRepository = class PasswordResetRepository extends repository_1.Repository {
|
|
17
|
+
constructor(datastoreProvider) {
|
|
18
|
+
super(datastoreProvider.datastore, 'PasswordReset', passwordReset, {});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.PasswordResetRepository = PasswordResetRepository;
|
|
22
|
+
exports.PasswordResetRepository = PasswordResetRepository = tslib_1.__decorate([
|
|
23
|
+
(0, common_1.Injectable)(),
|
|
24
|
+
tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
|
25
|
+
], PasswordResetRepository);
|
|
26
|
+
const userInvite = t.interface({
|
|
27
|
+
id: t.string,
|
|
28
|
+
email: t.string,
|
|
29
|
+
createdAt: repository_1.dateType,
|
|
30
|
+
userId: t.string,
|
|
31
|
+
roles: t.array(t.string),
|
|
32
|
+
});
|
|
33
|
+
let UserInviteRepository = class UserInviteRepository extends repository_1.Repository {
|
|
34
|
+
constructor(datastoreProvider) {
|
|
35
|
+
super(datastoreProvider.datastore, 'UserInvite', userInvite, {
|
|
36
|
+
index: {
|
|
37
|
+
userId: true,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.UserInviteRepository = UserInviteRepository;
|
|
43
|
+
exports.UserInviteRepository = UserInviteRepository = tslib_1.__decorate([
|
|
44
|
+
(0, common_1.Injectable)(),
|
|
45
|
+
tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
|
46
|
+
], UserInviteRepository);
|
|
47
|
+
const externalAuthTypeEnum = t.union([t.literal('google'), t.literal('saml'), t.literal('auth0'), t.literal('oidc')]);
|
|
48
|
+
const loginCredentials = t.clean(t.union([
|
|
49
|
+
t.interface({
|
|
50
|
+
id: t.string,
|
|
51
|
+
userId: t.string,
|
|
52
|
+
password: t.string,
|
|
53
|
+
type: t.literal('password'),
|
|
54
|
+
}),
|
|
55
|
+
t.interface({
|
|
56
|
+
id: t.string,
|
|
57
|
+
userId: t.string,
|
|
58
|
+
type: externalAuthTypeEnum,
|
|
59
|
+
}),
|
|
60
|
+
]));
|
|
61
|
+
let CredentialRepository = class CredentialRepository extends repository_1.Repository {
|
|
62
|
+
constructor(datastore) {
|
|
63
|
+
super(datastore.datastore, 'LoginCredential', loginCredentials, {
|
|
64
|
+
defaultValues: { type: 'password' },
|
|
65
|
+
index: {
|
|
66
|
+
userId: true,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
beforePersist(context, entities) {
|
|
71
|
+
return (0, types_1.asArray)(entities).map(entity => (Object.assign(Object.assign({}, entity), { id: (0, user_service_1.normaliseEmail)(entity.id) })));
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.CredentialRepository = CredentialRepository;
|
|
75
|
+
exports.CredentialRepository = CredentialRepository = tslib_1.__decorate([
|
|
76
|
+
(0, common_1.Injectable)(),
|
|
77
|
+
tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
|
78
|
+
], CredentialRepository);
|
|
79
|
+
//# sourceMappingURL=auth.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.repository.js","sourceRoot":"","sources":["../../src/auth/auth.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InviteUserService } from './invite-user.service';
|
|
2
|
+
import { PasswordResetService } from './password-reset.service';
|
|
3
|
+
import { Context } from '../datastore/context';
|
|
4
|
+
export declare class AuthResolver {
|
|
5
|
+
private readonly passwordResetService;
|
|
6
|
+
private readonly inviteUserService;
|
|
7
|
+
constructor(passwordResetService: PasswordResetService, inviteUserService: InviteUserService);
|
|
8
|
+
resetPassword(_req: void, email: string, context: Context): Promise<void>;
|
|
9
|
+
confirmResetPassword(_req: void, newPassword: string, code: string, context: Context): Promise<void>;
|
|
10
|
+
inviteUser(_req: void, roles: string[], email: string, context: Context): Promise<string>;
|
|
11
|
+
checkActivationCode(_req: void, code: string, context: Context): Promise<string | null>;
|
|
12
|
+
activateAccount(_req: void, password: string, name: string, code: string, context: Context): Promise<void>;
|
|
13
|
+
}
|