UNPKG

2.85 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const common_1 = require("@nestjs/common");
5const t = require("io-ts");
6const __1 = require("..");
7const datastore_provider_1 = require("../datastore/datastore.provider");
8const repository_1 = require("../datastore/repository");
9const types_1 = require("../util/types");
10const passwordReset = t.interface({
11 id: t.string,
12 accountId: t.string,
13 createdAt: repository_1.dateType,
14});
15let PasswordResetRepository = class PasswordResetRepository extends repository_1.Repository {
16 constructor(datastoreProvider) {
17 super(datastoreProvider.datastore, 'PasswordReset', passwordReset, {});
18 }
19};
20PasswordResetRepository = tslib_1.__decorate([
21 common_1.Injectable(),
22 tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
23], PasswordResetRepository);
24exports.PasswordResetRepository = PasswordResetRepository;
25const 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});
32let 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};
41UserInviteRepository = tslib_1.__decorate([
42 common_1.Injectable(),
43 tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
44], UserInviteRepository);
45exports.UserInviteRepository = UserInviteRepository;
46const externalAuthTypeEnum = t.union([t.literal('google'), t.literal('saml'), t.literal('auth0'), t.literal('oidc')]);
47const 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]));
60let 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};
73CredentialRepository = tslib_1.__decorate([
74 common_1.Injectable(),
75 tslib_1.__metadata("design:paramtypes", [datastore_provider_1.DatastoreProvider])
76], CredentialRepository);
77exports.CredentialRepository = CredentialRepository;
78//# sourceMappingURL=auth.repository.js.map
\No newline at end of file