@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.
Files changed (206) hide show
  1. package/dist/_test/mocks.d.ts +9 -0
  2. package/dist/_test/mocks.js +27 -0
  3. package/dist/_test/mocks.js.map +1 -0
  4. package/dist/_test/request-scope-test-utils.d.ts +3 -0
  5. package/dist/_test/request-scope-test-utils.js +18 -0
  6. package/dist/_test/request-scope-test-utils.js.map +1 -0
  7. package/dist/auth/auth-user.model.d.ts +9 -0
  8. package/dist/auth/auth-user.model.js +33 -0
  9. package/dist/auth/auth-user.model.js.map +1 -0
  10. package/dist/auth/auth.callbacks.d.ts +8 -0
  11. package/dist/auth/auth.callbacks.js +5 -0
  12. package/dist/auth/auth.callbacks.js.map +1 -0
  13. package/dist/auth/auth.configurer.d.ts +35 -0
  14. package/dist/auth/auth.configurer.js +212 -0
  15. package/dist/auth/auth.configurer.js.map +1 -0
  16. package/dist/auth/auth.controller.d.ts +27 -0
  17. package/dist/auth/auth.controller.js +312 -0
  18. package/dist/auth/auth.controller.js.map +1 -0
  19. package/dist/auth/auth.guard.d.ts +16 -0
  20. package/dist/auth/auth.guard.js +127 -0
  21. package/dist/auth/auth.guard.js.map +1 -0
  22. package/dist/auth/auth.listener.d.ts +5 -0
  23. package/dist/auth/auth.listener.js +5 -0
  24. package/dist/auth/auth.listener.js.map +1 -0
  25. package/dist/auth/auth.repository.d.ts +52 -0
  26. package/dist/auth/auth.repository.js +79 -0
  27. package/dist/auth/auth.repository.js.map +1 -0
  28. package/dist/auth/auth.resolver.d.ts +13 -0
  29. package/dist/auth/auth.resolver.js +86 -0
  30. package/dist/auth/auth.resolver.js.map +1 -0
  31. package/dist/auth/auth.service.d.ts +35 -0
  32. package/dist/auth/auth.service.js +299 -0
  33. package/dist/auth/auth.service.js.map +1 -0
  34. package/dist/auth/auth.task.controller.d.ts +13 -0
  35. package/dist/auth/auth.task.controller.js +76 -0
  36. package/dist/auth/auth.task.controller.js.map +1 -0
  37. package/dist/auth/auth.task.service.d.ts +8 -0
  38. package/dist/auth/auth.task.service.js +26 -0
  39. package/dist/auth/auth.task.service.js.map +1 -0
  40. package/dist/auth/csrf.interceptor.d.ts +11 -0
  41. package/dist/auth/csrf.interceptor.js +38 -0
  42. package/dist/auth/csrf.interceptor.js.map +1 -0
  43. package/dist/auth/invite-user.service.d.ts +45 -0
  44. package/dist/auth/invite-user.service.js +215 -0
  45. package/dist/auth/invite-user.service.js.map +1 -0
  46. package/dist/auth/invite.callbacks.d.ts +6 -0
  47. package/dist/auth/invite.callbacks.js +5 -0
  48. package/dist/auth/invite.callbacks.js.map +1 -0
  49. package/dist/auth/login-identifier.repository.d.ts +13 -0
  50. package/dist/auth/login-identifier.repository.js +28 -0
  51. package/dist/auth/login-identifier.repository.js.map +1 -0
  52. package/dist/auth/password-reset.service.d.ts +15 -0
  53. package/dist/auth/password-reset.service.js +81 -0
  54. package/dist/auth/password-reset.service.js.map +1 -0
  55. package/dist/auth/user.service.d.ts +27 -0
  56. package/dist/auth/user.service.js +94 -0
  57. package/dist/auth/user.service.js.map +1 -0
  58. package/dist/configuration.d.ts +84 -0
  59. package/dist/configuration.js +5 -0
  60. package/dist/configuration.js.map +1 -0
  61. package/dist/configure.d.ts +40 -0
  62. package/dist/configure.js +85 -0
  63. package/dist/configure.js.map +1 -0
  64. package/dist/context/context-middleware.d.ts +15 -0
  65. package/dist/context/context-middleware.js +37 -0
  66. package/dist/context/context-middleware.js.map +1 -0
  67. package/dist/context/context-request-scope.d.ts +8 -0
  68. package/dist/context/context-request-scope.js +29 -0
  69. package/dist/context/context-request-scope.js.map +1 -0
  70. package/dist/context/index.d.ts +2 -0
  71. package/dist/context/index.js +9 -0
  72. package/dist/context/index.js.map +1 -0
  73. package/dist/datastore/context.d.ts +36 -0
  74. package/dist/datastore/context.js +27 -0
  75. package/dist/datastore/context.js.map +1 -0
  76. package/dist/datastore/datastore.provider.d.ts +8 -0
  77. package/dist/datastore/datastore.provider.js +30 -0
  78. package/dist/datastore/datastore.provider.js.map +1 -0
  79. package/dist/datastore/filters.d.ts +19 -0
  80. package/dist/datastore/filters.js +27 -0
  81. package/dist/datastore/filters.js.map +1 -0
  82. package/dist/datastore/loader.d.ts +50 -0
  83. package/dist/datastore/loader.js +147 -0
  84. package/dist/datastore/loader.js.map +1 -0
  85. package/dist/datastore/node-datastore-session.d.ts +17 -0
  86. package/dist/datastore/node-datastore-session.js +87 -0
  87. package/dist/datastore/node-datastore-session.js.map +1 -0
  88. package/dist/datastore/repository.d.ts +45 -0
  89. package/dist/datastore/repository.js +150 -0
  90. package/dist/datastore/repository.js.map +1 -0
  91. package/dist/datastore/transactional.d.ts +4 -0
  92. package/dist/datastore/transactional.js +13 -0
  93. package/dist/datastore/transactional.js.map +1 -0
  94. package/dist/error/NonFatalError.d.ts +3 -0
  95. package/dist/error/NonFatalError.js +11 -0
  96. package/dist/error/NonFatalError.js.map +1 -0
  97. package/dist/filter.d.ts +5 -0
  98. package/dist/filter.js +40 -0
  99. package/dist/filter.js.map +1 -0
  100. package/dist/gcloud/logging.d.ts +1 -0
  101. package/dist/gcloud/logging.js +5 -0
  102. package/dist/gcloud/logging.js.map +1 -0
  103. package/dist/gcloud/storage.provider.d.ts +12 -0
  104. package/dist/gcloud/storage.provider.js +41 -0
  105. package/dist/gcloud/storage.provider.js.map +1 -0
  106. package/dist/gcloud/tasks.d.ts +10 -0
  107. package/dist/gcloud/tasks.js +68 -0
  108. package/dist/gcloud/tasks.js.map +1 -0
  109. package/dist/graphql/GraphQLMiddleware.d.ts +0 -0
  110. package/dist/graphql/GraphQLMiddleware.js +2 -0
  111. package/dist/graphql/GraphQLMiddleware.js.map +1 -0
  112. package/dist/index.d.ts +28 -0
  113. package/dist/index.js +65 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/logging/index.d.ts +1 -0
  116. package/dist/logging/index.js +8 -0
  117. package/dist/logging/index.js.map +1 -0
  118. package/dist/logging/logging-internal.d.ts +2 -0
  119. package/dist/logging/logging-internal.js +20 -0
  120. package/dist/logging/logging-internal.js.map +1 -0
  121. package/dist/logging/logging-request-scope.d.ts +15 -0
  122. package/dist/logging/logging-request-scope.js +39 -0
  123. package/dist/logging/logging-request-scope.js.map +1 -0
  124. package/dist/logging/logging.d.ts +34 -0
  125. package/dist/logging/logging.js +55 -0
  126. package/dist/logging/logging.js.map +1 -0
  127. package/dist/mail/gmail/gmail.configurer.d.ts +15 -0
  128. package/dist/mail/gmail/gmail.configurer.js +59 -0
  129. package/dist/mail/gmail/gmail.configurer.js.map +1 -0
  130. package/dist/mail/gmail/gmail.controller.d.ts +9 -0
  131. package/dist/mail/gmail/gmail.controller.js +62 -0
  132. package/dist/mail/gmail/gmail.controller.js.map +1 -0
  133. package/dist/mail/gmail/gmail.sender.d.ts +12 -0
  134. package/dist/mail/gmail/gmail.sender.js +62 -0
  135. package/dist/mail/gmail/gmail.sender.js.map +1 -0
  136. package/dist/mail/gmail/stored.credentials.repository.d.ts +12 -0
  137. package/dist/mail/gmail/stored.credentials.repository.js +23 -0
  138. package/dist/mail/gmail/stored.credentials.repository.js.map +1 -0
  139. package/dist/mail/mail-logging.sender.d.ts +9 -0
  140. package/dist/mail/mail-logging.sender.js +42 -0
  141. package/dist/mail/mail-logging.sender.js.map +1 -0
  142. package/dist/mail/mail-subject.sender.d.ts +12 -0
  143. package/dist/mail/mail-subject.sender.js +33 -0
  144. package/dist/mail/mail-subject.sender.js.map +1 -0
  145. package/dist/mail/mail-whitelist.sender.d.ts +14 -0
  146. package/dist/mail/mail-whitelist.sender.js +59 -0
  147. package/dist/mail/mail-whitelist.sender.js.map +1 -0
  148. package/dist/mail/mail.diverter.d.ts +13 -0
  149. package/dist/mail/mail.diverter.js +65 -0
  150. package/dist/mail/mail.diverter.js.map +1 -0
  151. package/dist/mail/mail.sender.d.ts +6 -0
  152. package/dist/mail/mail.sender.js +5 -0
  153. package/dist/mail/mail.sender.js.map +1 -0
  154. package/dist/mail/smtp/smtp.sender.d.ts +10 -0
  155. package/dist/mail/smtp/smtp.sender.js +65 -0
  156. package/dist/mail/smtp/smtp.sender.js.map +1 -0
  157. package/dist/mail-templates/base.d.ts +2 -0
  158. package/dist/mail-templates/base.js +328 -0
  159. package/dist/mail-templates/base.js.map +1 -0
  160. package/dist/mail-templates/invite.d.ts +1 -0
  161. package/dist/mail-templates/invite.js +19 -0
  162. package/dist/mail-templates/invite.js.map +1 -0
  163. package/dist/module.d.ts +16 -0
  164. package/dist/module.js +136 -0
  165. package/dist/module.js.map +1 -0
  166. package/dist/request-scope/index.d.ts +2 -0
  167. package/dist/request-scope/index.js +9 -0
  168. package/dist/request-scope/index.js.map +1 -0
  169. package/dist/request-scope/request-scope-interceptor.d.ts +5 -0
  170. package/dist/request-scope/request-scope-interceptor.js +3 -0
  171. package/dist/request-scope/request-scope-interceptor.js.map +1 -0
  172. package/dist/request-scope/request-scope.d.ts +12 -0
  173. package/dist/request-scope/request-scope.js +79 -0
  174. package/dist/request-scope/request-scope.js.map +1 -0
  175. package/dist/request-scope/request-scope.middleware.d.ts +15 -0
  176. package/dist/request-scope/request-scope.middleware.js +53 -0
  177. package/dist/request-scope/request-scope.middleware.js.map +1 -0
  178. package/dist/search/search.service.d.ts +52 -0
  179. package/dist/search/search.service.js +90 -0
  180. package/dist/search/search.service.js.map +1 -0
  181. package/dist/search/searchable.repository.d.ts +36 -0
  182. package/dist/search/searchable.repository.js +95 -0
  183. package/dist/search/searchable.repository.js.map +1 -0
  184. package/dist/types.d.ts +3 -0
  185. package/dist/types.js +9 -0
  186. package/dist/types.js.map +1 -0
  187. package/dist/util/arrays.d.ts +1 -0
  188. package/dist/util/arrays.js +10 -0
  189. package/dist/util/arrays.js.map +1 -0
  190. package/dist/util/guards.d.ts +1 -0
  191. package/dist/util/guards.js +7 -0
  192. package/dist/util/guards.js.map +1 -0
  193. package/dist/util/index.d.ts +1 -0
  194. package/dist/util/index.js +5 -0
  195. package/dist/util/index.js.map +1 -0
  196. package/dist/util/nestjs.d.ts +9 -0
  197. package/dist/util/nestjs.js +9 -0
  198. package/dist/util/nestjs.js.map +1 -0
  199. package/dist/util/types.d.ts +4 -0
  200. package/dist/util/types.js +8 -0
  201. package/dist/util/types.js.map +1 -0
  202. package/dist/validator.d.ts +1 -0
  203. package/dist/validator.js +5 -0
  204. package/dist/validator.js.map +1 -0
  205. package/mondomob-gae-node-nestjs-12.0.0-alpha-3.tgz +0 -0
  206. 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,5 @@
1
+ import { Request } from 'express';
2
+ export declare const AUTH_LISTENER = "AuthListener";
3
+ export interface AuthListener {
4
+ onLogin(req: Request): void;
5
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AUTH_LISTENER = void 0;
4
+ exports.AUTH_LISTENER = 'AuthListener';
5
+ //# sourceMappingURL=auth.listener.js.map
@@ -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
+ }