1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const common_1 = require("@nestjs/common");
|
5 | const t = require("io-ts");
|
6 | const __1 = require("..");
|
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 passwordReset = t.interface({
|
11 | id: t.string,
|
12 | accountId: t.string,
|
13 | createdAt: repository_1.dateType,
|
14 | });
|
15 | let PasswordResetRepository = class PasswordResetRepository extends repository_1.Repository {
|
16 | constructor(datastoreProvider) {
|
17 | super(datastoreProvider.datastore, 'PasswordReset', passwordReset, {});
|
18 | }
|
19 | };
|
20 | PasswordResetRepository = tslib_1.__decorate([
|
21 | common_1.Injectable(),
|
22 | tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
23 | ], PasswordResetRepository);
|
24 | exports.PasswordResetRepository = PasswordResetRepository;
|
25 | const userInvite = t.interface({
|
26 | id: t.string,
|
27 | email: t.string,
|
28 | createdAt: repository_1.dateType,
|
29 | userId: t.string,
|
30 | roles: t.array(t.string),
|
31 | });
|
32 | let UserInviteRepository = class UserInviteRepository extends repository_1.Repository {
|
33 | constructor(datastoreProvider) {
|
34 | super(datastoreProvider.datastore, 'UserInvite', userInvite, {
|
35 | index: {
|
36 | userId: true,
|
37 | },
|
38 | });
|
39 | }
|
40 | };
|
41 | UserInviteRepository = tslib_1.__decorate([
|
42 | common_1.Injectable(),
|
43 | tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
44 | ], UserInviteRepository);
|
45 | exports.UserInviteRepository = UserInviteRepository;
|
46 | const externalAuthTypeEnum = t.union([t.literal('google'), t.literal('saml'), t.literal('auth0'), t.literal('oidc')]);
|
47 | const loginCredentials = t.clean(t.union([
|
48 | t.interface({
|
49 | id: t.string,
|
50 | userId: t.string,
|
51 | password: t.string,
|
52 | type: t.literal('password'),
|
53 | }),
|
54 | t.interface({
|
55 | id: t.string,
|
56 | userId: t.string,
|
57 | type: externalAuthTypeEnum,
|
58 | }),
|
59 | ]));
|
60 | let CredentialRepository = class CredentialRepository extends repository_1.Repository {
|
61 | constructor(datastore) {
|
62 | super(datastore.datastore, 'LoginCredential', loginCredentials, {
|
63 | defaultValues: { type: 'password' },
|
64 | index: {
|
65 | userId: true,
|
66 | },
|
67 | });
|
68 | }
|
69 | beforePersist(context, entities) {
|
70 | return types_1.asArray(entities).map(entity => (Object.assign({}, entity, { id: __1.normaliseEmail(entity.id) })));
|
71 | }
|
72 | };
|
73 | CredentialRepository = tslib_1.__decorate([
|
74 | common_1.Injectable(),
|
75 | tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
|
76 | ], CredentialRepository);
|
77 | exports.CredentialRepository = CredentialRepository;
|
78 |
|
\ | No newline at end of file |