@lifeready/core 1.0.21 → 1.0.22
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/bundles/lifeready-core.umd.js +9745 -9700
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +2 -2
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/run-outside-angular.js +2 -2
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/api/lr-apollo.service.js +3 -3
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
- package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
- package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
- package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
- package/esm2015/lib/auth/auth.gql.js +1 -28
- package/esm2015/lib/auth/auth.types.js +1 -1
- package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
- package/esm2015/lib/category/category.gql.js +1 -1
- package/esm2015/lib/category/category.service.js +6 -6
- package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
- package/esm2015/lib/contact-card/contact-card.service.js +154 -0
- package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
- package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
- package/esm2015/lib/encryption/encryption.service.js +189 -0
- package/esm2015/lib/file-upload/file-upload.service.js +74 -0
- package/esm2015/lib/file-upload/file-upload.types.js +1 -0
- package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
- package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
- package/esm2015/lib/items2/item2.service.js +20 -20
- package/esm2015/lib/key/key-factory.service.js +237 -0
- package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
- package/esm2015/lib/key/key-meta.service.js +200 -0
- package/esm2015/lib/key/key.service.js +124 -0
- package/esm2015/lib/key/key.types.js +11 -0
- package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
- package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
- package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
- package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
- package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
- package/esm2015/lib/lbop/lbop.service.js +355 -0
- package/esm2015/lib/life-ready.module.js +2 -27
- package/esm2015/lib/lock/lock.gql.js +40 -0
- package/esm2015/lib/lock/lock.service.js +64 -0
- package/esm2015/lib/message/message.gql.js +32 -0
- package/esm2015/lib/message/message.service.js +116 -0
- package/esm2015/lib/message/message.types.js +1 -0
- package/esm2015/lib/password/password.gql.js +28 -0
- package/esm2015/lib/password/password.service.js +315 -0
- package/esm2015/lib/persist/persist.service.js +180 -0
- package/esm2015/lib/profile/profile-details.service.js +214 -0
- package/esm2015/lib/profile/profile.gql.js +97 -0
- package/esm2015/lib/profile/profile.service.js +169 -0
- package/esm2015/lib/profile/profile.types.js +34 -0
- package/esm2015/lib/record/record-attachment.service.js +15 -15
- package/esm2015/lib/record/record.service.js +3 -3
- package/esm2015/lib/register/register.service.js +172 -0
- package/esm2015/lib/scenario/scenario.controller.js +2 -2
- package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
- package/esm2015/lib/scenario/scenario.service.js +9 -9
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
- package/esm2015/lib/slip39/slip39.service.js +169 -0
- package/esm2015/lib/time/time.service.js +146 -0
- package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
- package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
- package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
- package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
- package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
- package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
- package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
- package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
- package/esm2015/lib/two-factor/two-factor.service.js +74 -0
- package/esm2015/lib/user/user.gql.js +60 -0
- package/esm2015/lib/user/user.service.js +79 -0
- package/esm2015/lib/user/user.types.js +1 -0
- package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
- package/esm2015/lifeready-core.js +15 -13
- package/esm2015/public-api.js +49 -51
- package/fesm2015/lifeready-core.js +9232 -9214
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/types.d.ts +3 -1
- package/lib/api/lr-apollo.service.d.ts +1 -1
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
- package/lib/api/query-processor/common-processors.service.d.ts +1 -1
- package/lib/api/query-processor/query-processor.service.d.ts +1 -1
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
- package/lib/api/types/lr-graphql.types.d.ts +11 -0
- package/lib/auth/auth.gql.d.ts +0 -3
- package/lib/auth/auth.types.d.ts +2 -2
- package/lib/auth/life-ready-auth.service.d.ts +12 -12
- package/lib/category/category.gql.d.ts +1 -1
- package/lib/category/category.service.d.ts +2 -2
- package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
- package/lib/contact-card/contact-card2.gql.d.ts +25 -0
- package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
- package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
- package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
- package/lib/file-upload/file-upload.types.d.ts +5 -0
- package/lib/{auth → idle}/idle.service.d.ts +4 -4
- package/lib/items2/item2.service.d.ts +11 -11
- package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
- package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
- package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
- package/lib/{cryptography → key}/key.service.d.ts +2 -2
- package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
- package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
- package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
- package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
- package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
- package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
- package/lib/{api → lock}/lock.gql.d.ts +1 -1
- package/lib/{api → lock}/lock.service.d.ts +1 -1
- package/lib/message/message.gql.d.ts +13 -0
- package/lib/message/message.service.d.ts +29 -0
- package/lib/message/message.types.d.ts +12 -0
- package/lib/password/password.gql.d.ts +3 -0
- package/lib/{auth → password}/password.service.d.ts +8 -8
- package/lib/{api → persist}/persist.service.d.ts +3 -3
- package/lib/{users → profile}/profile-details.service.d.ts +3 -3
- package/lib/{users → profile}/profile.gql.d.ts +2 -2
- package/lib/{users → profile}/profile.service.d.ts +6 -6
- package/lib/{users → profile}/profile.types.d.ts +1 -1
- package/lib/record/record-attachment.service.d.ts +6 -6
- package/lib/record/record.service.d.ts +1 -1
- package/lib/{auth → register}/register.service.d.ts +4 -4
- package/lib/scenario/scenario.controller.d.ts +1 -1
- package/lib/scenario/scenario.service.d.ts +2 -2
- package/lib/scenario/scenario.types.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
- package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
- package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
- package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
- package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
- package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
- package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
- package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
- package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
- package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
- package/lib/{users → user}/user.gql.d.ts +1 -1
- package/lib/{users → user}/user.types.d.ts +1 -1
- package/lifeready-core.d.ts +14 -12
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +48 -50
- package/esm2015/lib/api/contact-card.gql.js +0 -79
- package/esm2015/lib/api/contact-card.service.js +0 -154
- package/esm2015/lib/api/contact-card2.gql.js +0 -60
- package/esm2015/lib/api/contact-card2.service.js +0 -103
- package/esm2015/lib/api/file.service.js +0 -74
- package/esm2015/lib/api/key-exchange.gql.js +0 -188
- package/esm2015/lib/api/key-exchange.service.js +0 -442
- package/esm2015/lib/api/key-exchange.types.js +0 -7
- package/esm2015/lib/api/key-exchange2.gql.js +0 -171
- package/esm2015/lib/api/key-exchange2.service.js +0 -480
- package/esm2015/lib/api/lock.gql.js +0 -40
- package/esm2015/lib/api/lock.service.js +0 -64
- package/esm2015/lib/api/message.service.js +0 -138
- package/esm2015/lib/api/persist.service.js +0 -181
- package/esm2015/lib/api/shared-contact-card.service.js +0 -119
- package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
- package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
- package/esm2015/lib/api/time.service.js +0 -146
- package/esm2015/lib/auth/lbop.service.js +0 -355
- package/esm2015/lib/auth/password.service.js +0 -315
- package/esm2015/lib/auth/register.service.js +0 -172
- package/esm2015/lib/auth/two-factor.service.js +0 -74
- package/esm2015/lib/cryptography/cryptography.types.js +0 -11
- package/esm2015/lib/cryptography/encryption.service.js +0 -189
- package/esm2015/lib/cryptography/key-factory.service.js +0 -237
- package/esm2015/lib/cryptography/key-meta.service.js +0 -200
- package/esm2015/lib/cryptography/key.service.js +0 -124
- package/esm2015/lib/cryptography/slip39.service.js +0 -169
- package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
- package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
- package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
- package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
- package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
- package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
- package/esm2015/lib/users/profile-details.service.js +0 -214
- package/esm2015/lib/users/profile.gql.js +0 -97
- package/esm2015/lib/users/profile.service.js +0 -169
- package/esm2015/lib/users/profile.types.js +0 -34
- package/esm2015/lib/users/user.gql.js +0 -60
- package/esm2015/lib/users/user.service.js +0 -79
- package/esm2015/lib/users/user.types.js +0 -1
- package/lib/api/contact-card2.gql.d.ts +0 -34
- package/lib/api/message.service.d.ts +0 -59
- /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
- /package/lib/{auth → idle}/idle.types.d.ts +0 -0
- /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
- /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
- /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
- /package/lib/{api → time}/time.service.d.ts +0 -0
- /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
- /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
- /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
- /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
- /package/lib/{users → user}/user.service.d.ts +0 -0
- /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
import { LrApolloService } from '../api/lr-apollo.service';
|
|
5
|
+
import { ContactCardListQuery, DeleteContactCardMutation, } from '../contact-card/contact-card.gql';
|
|
6
|
+
import { EncryptionService } from '../encryption/encryption.service';
|
|
7
|
+
import { KeyGraphService } from '../key/key-graph.service';
|
|
8
|
+
import { KeyMetaService } from '../key/key-meta.service';
|
|
9
|
+
import { KeyService } from '../key/key.service';
|
|
10
|
+
import { LR_CONFIG } from '../life-ready.config';
|
|
11
|
+
import { mapUserPlans } from '../plan/plan.service';
|
|
12
|
+
import { CreateContactCardMutation, CurrentUserQuery, UpdateContactCardMutation, } from './profile.gql';
|
|
13
|
+
import { ContactCardName, } from './profile.types';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "../life-ready.config";
|
|
16
|
+
import * as i2 from "@angular/common/http";
|
|
17
|
+
import * as i3 from "../api/lr-apollo.service";
|
|
18
|
+
import * as i4 from "../key/key.service";
|
|
19
|
+
import * as i5 from "../key/key-meta.service";
|
|
20
|
+
import * as i6 from "../key/key-graph.service";
|
|
21
|
+
import * as i7 from "../encryption/encryption.service";
|
|
22
|
+
export class ProfileService {
|
|
23
|
+
constructor(config, http, lrApollo, keyService, keyMetaService, keyGraph, encryptionService) {
|
|
24
|
+
this.config = config;
|
|
25
|
+
this.http = http;
|
|
26
|
+
this.lrApollo = lrApollo;
|
|
27
|
+
this.keyService = keyService;
|
|
28
|
+
this.keyMetaService = keyMetaService;
|
|
29
|
+
this.keyGraph = keyGraph;
|
|
30
|
+
this.encryptionService = encryptionService;
|
|
31
|
+
}
|
|
32
|
+
getPassIdpParams(emailOrPhone) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return yield this.http
|
|
35
|
+
.get(`${this.config.authUrl}users/pass-idp-params/?login_name=${encodeURIComponent(emailOrPhone)}`)
|
|
36
|
+
.toPromise();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getCurrentUser() {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const { currentUser, contactCards, userPlans } = yield this.lrApollo.query({
|
|
42
|
+
query: CurrentUserQuery,
|
|
43
|
+
});
|
|
44
|
+
const contactCard = contactCards.edges.map((x) => x.node)[0];
|
|
45
|
+
return {
|
|
46
|
+
currentUser,
|
|
47
|
+
contactCard,
|
|
48
|
+
userPlans: mapUserPlans(userPlans),
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
decryptContactCard(contactCard) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
if (!contactCard) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const details = yield this.keyGraph.decryptFromString(contactCard.key.id, contactCard.cipherData);
|
|
58
|
+
return Object.assign({ id: contactCard.id, keyId: contactCard.key.id }, details);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
updateDetails(id, keyId, fields) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
yield (id
|
|
64
|
+
? this.updateContactCard(id, keyId, fields)
|
|
65
|
+
: this.createContactCard(fields));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
prepareContactCardInput(contactCard) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
71
|
+
const publicDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ''));
|
|
72
|
+
const publicSearchableSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ''));
|
|
73
|
+
const plainDataJson = {
|
|
74
|
+
// contactCard.name.value may have additional attributes such as the id of the contact card.
|
|
75
|
+
// So we create a clean version. Otherwise it will fail server checks.
|
|
76
|
+
name: new ContactCardName(contactCard.name.value),
|
|
77
|
+
};
|
|
78
|
+
const plainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, plainDataJson));
|
|
79
|
+
return {
|
|
80
|
+
sigPxkId: sigPxk.id,
|
|
81
|
+
publicDataSig,
|
|
82
|
+
publicSearchableSig,
|
|
83
|
+
plainDataSig,
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
createContactCard(contactCard) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const input = yield this.prepareContactCardInput(contactCard);
|
|
90
|
+
const { rootKey, cipherMeta } = yield this.keyMetaService.wrapContent(contactCard);
|
|
91
|
+
const data = yield this.lrApollo.mutate({
|
|
92
|
+
mutation: CreateContactCardMutation,
|
|
93
|
+
variables: {
|
|
94
|
+
input: Object.assign(Object.assign({}, input), { cipherData: cipherMeta, wrappingKeyId: rootKey.wrappingKeyId, wrappedKey: rootKey.wrappedKey, default: true }),
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
return data.createContactCard.contactCard;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
updateContactCard(id, keyId, contactCard) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const input = yield this.prepareContactCardInput(contactCard);
|
|
103
|
+
const cipherData = yield this.keyGraph.encryptToString(keyId, contactCard);
|
|
104
|
+
const data = yield this.lrApollo.mutate({
|
|
105
|
+
mutation: UpdateContactCardMutation,
|
|
106
|
+
variables: {
|
|
107
|
+
input: Object.assign(Object.assign({}, input), { id,
|
|
108
|
+
cipherData }),
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
return data.updateContactCard.contactCard;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
decryptContactCardEdges(edges) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
return Promise.all(edges.map((edge) => __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
const cc = edge.node;
|
|
118
|
+
return yield this.decryptContactCard(cc);
|
|
119
|
+
})));
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
getContactCards() {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
const data = yield this.lrApollo.query({
|
|
125
|
+
query: ContactCardListQuery,
|
|
126
|
+
});
|
|
127
|
+
return yield this.decryptContactCardEdges(data.contactCards.edges);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
deleteContactCard(id) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const data = yield this.lrApollo.mutate({
|
|
133
|
+
mutation: DeleteContactCardMutation,
|
|
134
|
+
variables: {
|
|
135
|
+
input: {
|
|
136
|
+
id,
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
return data.deleteContactCard.id;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
signOut() {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
yield this.http
|
|
146
|
+
.post(`${this.config.authUrl}auth/sign-out/`, null, {
|
|
147
|
+
withCredentials: true,
|
|
148
|
+
responseType: 'text',
|
|
149
|
+
})
|
|
150
|
+
.toPromise();
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
ProfileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProfileService_Factory() { return new ProfileService(i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LrApolloService), i0.ɵɵinject(i4.KeyService), i0.ɵɵinject(i5.KeyMetaService), i0.ɵɵinject(i6.KeyGraphService), i0.ɵɵinject(i7.EncryptionService)); }, token: ProfileService, providedIn: "root" });
|
|
155
|
+
ProfileService.decorators = [
|
|
156
|
+
{ type: Injectable, args: [{
|
|
157
|
+
providedIn: 'root',
|
|
158
|
+
},] }
|
|
159
|
+
];
|
|
160
|
+
ProfileService.ctorParameters = () => [
|
|
161
|
+
{ type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
|
|
162
|
+
{ type: HttpClient },
|
|
163
|
+
{ type: LrApolloService },
|
|
164
|
+
{ type: KeyService },
|
|
165
|
+
{ type: KeyMetaService },
|
|
166
|
+
{ type: KeyGraphService },
|
|
167
|
+
{ type: EncryptionService }
|
|
168
|
+
];
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wcm9maWxlL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBbUIsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBRWhCLHlCQUF5QixHQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsZUFBZSxHQUtoQixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFLekIsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDNkIsTUFBdUIsRUFDMUMsSUFBZ0IsRUFDaEIsUUFBeUIsRUFDekIsVUFBc0IsRUFDdEIsY0FBOEIsRUFDOUIsUUFBeUIsRUFDekIsaUJBQW9DO1FBTmpCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FB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LENBQUM7aUJBQ0QsU0FBUyxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUFBOzs7O1lBNUxGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQUdJLE1BQU0sU0FBQyxTQUFTO1lBcENaLFVBQVU7WUFFVixlQUFlO1lBU2YsVUFBVTtZQURWLGNBQWM7WUFEZCxlQUFlO1lBRGYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2xyLWFwb2xsby5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIENvbnRhY3RDYXJkTGlzdFF1ZXJ5LFxuICBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uLFxufSBmcm9tICcuLi9jb250YWN0LWNhcmQvY29udGFjdC1jYXJkLmdxbCc7XG5pbXBvcnQgeyBDb250YWN0Q2FyZCB9IGZyb20gJy4uL2NvbnRhY3QtY2FyZC9jb250YWN0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlNZXRhU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktbWV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlmZVJlYWR5Q29uZmlnLCBMUl9DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQgeyBtYXBVc2VyUGxhbnMgfSBmcm9tICcuLi9wbGFuL3BsYW4uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUGxhbiB9IGZyb20gJy4uL3BsYW4vcGxhbi50eXBlcyc7XG5pbXBvcnQge1xuICBDcmVhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICBDdXJyZW50VXNlclF1ZXJ5LFxuICBDdXJyZW50VXNlclF1ZXJ5VHlwZSxcbiAgVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi9wcm9maWxlLmdxbCc7XG5pbXBvcnQge1xuICBBcGlDb250YWN0Q2FyZCxcbiAgQXBpQ3VycmVudFVzZXIsXG4gIENvbnRhY3RDYXJkTmFtZSxcbiAgTWFpbkNvbnRhY3RDYXJkLFxuICBNYWluQ29udGFjdENhcmRGaWVsZHMsXG4gIE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzLFxuICBQYXNzSWRwQXBpUmVzdWx0LFxufSBmcm9tICcuL3Byb2ZpbGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExSX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IExpZmVSZWFkeUNvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGtleU1ldGFTZXJ2aWNlOiBLZXlNZXRhU2VydmljZSxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmNyeXB0aW9uU2VydmljZTogRW5jcnlwdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGdldFBhc3NJZHBQYXJhbXMoZW1haWxPclBob25lOiBzdHJpbmcpOiBQcm9taXNlPFBhc3NJZHBBcGlSZXN1bHQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwXG4gICAgICAuZ2V0PFBhc3NJZHBBcGlSZXN1bHQ+KFxuICAgICAgICBgJHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5hdXRoVXJsXG4gICAgICAgIH11c2Vycy9wYXNzLWlkcC1wYXJhbXMvP2xvZ2luX25hbWU9JHtlbmNvZGVVUklDb21wb25lbnQoZW1haWxPclBob25lKX1gXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRDdXJyZW50VXNlcigpOiBQcm9taXNlPHtcbiAgICBjdXJyZW50VXNlcjogQXBpQ3VycmVudFVzZXI7XG4gICAgY29udGFjdENhcmQ6IEFwaUNvbnRhY3RDYXJkO1xuICAgIHVzZXJQbGFuczogVXNlclBsYW5bXTtcbiAgfT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFVzZXIsIGNvbnRhY3RDYXJkcywgdXNlclBsYW5zIH0gPVxuICAgICAgYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxDdXJyZW50VXNlclF1ZXJ5VHlwZT4oe1xuICAgICAgICBxdWVyeTogQ3VycmVudFVzZXJRdWVyeSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgY29udGFjdENhcmQgPSBjb250YWN0Q2FyZHMuZWRnZXMubWFwKCh4KSA9PiB4Lm5vZGUpWzBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGN1cnJlbnRVc2VyLFxuICAgICAgY29udGFjdENhcmQsXG4gICAgICB1c2VyUGxhbnM6IG1hcFVzZXJQbGFucyh1c2VyUGxhbnMpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBkZWNyeXB0Q29udGFjdENhcmQoXG4gICAgY29udGFjdENhcmQ6IEFwaUNvbnRhY3RDYXJkXG4gICk6IFByb21pc2U8TWFpbkNvbnRhY3RDYXJkPiB7XG4gICAgaWYgKCFjb250YWN0Q2FyZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZGV0YWlscyA9IGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZyb21TdHJpbmc8YW55PihcbiAgICAgIGNvbnRhY3RDYXJkLmtleS5pZCxcbiAgICAgIGNvbnRhY3RDYXJkLmNpcGhlckRhdGFcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBjb250YWN0Q2FyZC5pZCxcbiAgICAgIGtleUlkOiBjb250YWN0Q2FyZC5rZXkuaWQsXG4gICAgICAuLi5kZXRhaWxzLFxuICAgIH07XG4gIH1cblxuICBhc3luYyB1cGRhdGVEZXRhaWxzKFxuICAgIGlkOiBzdHJpbmcsXG4gICAga2V5SWQ6IHN0cmluZyxcbiAgICBmaWVsZHM6IE1haW5Db250YWN0Q2FyZEZpZWxkc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoaWRcbiAgICAgID8gdGhpcy51cGRhdGVDb250YWN0Q2FyZChpZCwga2V5SWQsIGZpZWxkcylcbiAgICAgIDogdGhpcy5jcmVhdGVDb250YWN0Q2FyZChmaWVsZHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoXG4gICAgY29udGFjdENhcmQ6IE1haW5Db250YWN0Q2FyZEZpZWxkc1xuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHNpZ1B4ayA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50U2lnUHhrKCk7XG5cbiAgICBjb25zdCBwdWJsaWNEYXRhU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgJycpXG4gICAgKTtcbiAgICBjb25zdCBwdWJsaWNTZWFyY2hhYmxlU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgJycpXG4gICAgKTtcblxuICAgIGNvbnN0IHBsYWluRGF0YUpzb246IE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzID0ge1xuICAgICAgLy8gY29udGFjdENhcmQubmFtZS52YWx1ZSBtYXkgaGF2ZSBhZGRpdGlvbmFsIGF0dHJpYnV0ZXMgc3VjaCBhcyB0aGUgaWQgb2YgdGhlIGNvbnRhY3QgY2FyZC5cbiAgICAgIC8vIFNvIHdlIGNyZWF0ZSBhIGNsZWFuIHZlcnNpb24uIE90aGVyd2lzZSBpdCB3aWxsIGZhaWwgc2VydmVyIGNoZWNrcy5cbiAgICAgIG5hbWU6IG5ldyBDb250YWN0Q2FyZE5hbWUoY29udGFjdENhcmQubmFtZS52YWx1ZSksXG4gICAgfTtcbiAgICBjb25zdCBwbGFpbkRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBwbGFpbkRhdGFKc29uKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2lnUHhrSWQ6IHNpZ1B4ay5pZCxcbiAgICAgIHB1YmxpY0RhdGFTaWcsXG4gICAgICBwdWJsaWNTZWFyY2hhYmxlU2lnLFxuICAgICAgcGxhaW5EYXRhU2lnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbnRhY3RDYXJkKFxuICAgIGNvbnRhY3RDYXJkOiBNYWluQ29udGFjdENhcmRGaWVsZHNcbiAgKTogUHJvbWlzZTxBcGlDb250YWN0Q2FyZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChjb250YWN0Q2FyZCk7XG5cbiAgICBjb25zdCB7IHJvb3RLZXksIGNpcGhlck1ldGEgfSA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2Uud3JhcENvbnRlbnQoXG4gICAgICBjb250YWN0Q2FyZFxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8e1xuICAgICAgY3JlYXRlQ29udGFjdENhcmQ6IHsgY29udGFjdENhcmQ6IEFwaUNvbnRhY3RDYXJkIH07XG4gICAgfT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgICBjaXBoZXJEYXRhOiBjaXBoZXJNZXRhLFxuICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHJvb3RLZXkud3JhcHBpbmdLZXlJZCxcbiAgICAgICAgICB3cmFwcGVkS2V5OiByb290S2V5LndyYXBwZWRLZXksXG4gICAgICAgICAgZGVmYXVsdDogdHJ1ZSwgLy8gVXNlIHRoaXMgY29udGFjdCBjYXJkIGFzIGRlZmF1bHQgY29udGFjdCBjYXJkLlxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YS5jcmVhdGVDb250YWN0Q2FyZC5jb250YWN0Q2FyZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ29udGFjdENhcmQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nLFxuICAgIGNvbnRhY3RDYXJkOiBNYWluQ29udGFjdENhcmRGaWVsZHNcbiAgKTogUHJvbWlzZTxBcGlDb250YWN0Q2FyZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChjb250YWN0Q2FyZCk7XG5cbiAgICBjb25zdCBjaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoa2V5SWQsIGNvbnRhY3RDYXJkKTtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XG4gICAgICB1cGRhdGVDb250YWN0Q2FyZDogeyBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmQgfTtcbiAgICB9Pih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNpcGhlckRhdGEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhLnVwZGF0ZUNvbnRhY3RDYXJkLmNvbnRhY3RDYXJkO1xuICB9XG5cbiAgYXN5bmMgZGVjcnlwdENvbnRhY3RDYXJkRWRnZXMoZWRnZXMpOiBQcm9taXNlPENvbnRhY3RDYXJkW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBlZGdlcy5tYXAoYXN5bmMgKGVkZ2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjYyA9IGVkZ2Uubm9kZSBhcyBDb250YWN0Q2FyZDtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZGVjcnlwdENvbnRhY3RDYXJkKGNjKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGdldENvbnRhY3RDYXJkcygpOiBQcm9taXNlPENvbnRhY3RDYXJkW10+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcbiAgICAgIHF1ZXJ5OiBDb250YWN0Q2FyZExpc3RRdWVyeSxcbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmRlY3J5cHRDb250YWN0Q2FyZEVkZ2VzKGRhdGEuY29udGFjdENhcmRzLmVkZ2VzKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNvbnRhY3RDYXJkKGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGEuZGVsZXRlQ29udGFjdENhcmQuaWQ7XG4gIH1cblxuICBhc3luYyBzaWduT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWcuYXV0aFVybH1hdXRoL3NpZ24tb3V0L2AsIG51bGwsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export class CurrentUserKey {
|
|
2
|
+
}
|
|
3
|
+
export class ApiCurrentUser {
|
|
4
|
+
}
|
|
5
|
+
export class ApiContactCard {
|
|
6
|
+
}
|
|
7
|
+
export class ContactCardName {
|
|
8
|
+
constructor(input) {
|
|
9
|
+
this.name = input.name;
|
|
10
|
+
this.title = input.title;
|
|
11
|
+
this.firstName = input.firstName;
|
|
12
|
+
this.lastName = input.lastName;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class ContactCardAddress {
|
|
16
|
+
}
|
|
17
|
+
export class MainContactCardProperty {
|
|
18
|
+
}
|
|
19
|
+
export class MainContactCardFields {
|
|
20
|
+
}
|
|
21
|
+
export class MainContactCard extends MainContactCardFields {
|
|
22
|
+
}
|
|
23
|
+
export class MainContactCardPlainFields {
|
|
24
|
+
}
|
|
25
|
+
export var PasswordChangeStatus;
|
|
26
|
+
(function (PasswordChangeStatus) {
|
|
27
|
+
PasswordChangeStatus["InProgress"] = "IN_PROGRESS";
|
|
28
|
+
PasswordChangeStatus["Recovery"] = "RECOVERY";
|
|
29
|
+
})(PasswordChangeStatus || (PasswordChangeStatus = {}));
|
|
30
|
+
export class PassIdpApiResult {
|
|
31
|
+
}
|
|
32
|
+
export class TrustedPartyDetails {
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvcHJvZmlsZS9wcm9maWxlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxjQUFjO0NBTTFCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FPMUI7QUFFRCxNQUFNLE9BQU8sY0FBYztDQU0xQjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQVksS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtDQU85QjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7Q0FLbkM7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0NBTWpDO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEscUJBQXFCO0NBR3pEO0FBRUQsTUFBTSxPQUFPLDBCQUEwQjtDQUV0QztBQUVELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsa0RBQTBCLENBQUE7SUFDMUIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0I7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0NBUTVCO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQVMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJEZWxldGVOb2RlIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IFBhc3NJZHBQYXJhbXMsIFBhc3NLZXkgfSBmcm9tICcuLi9rZXkva2V5LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEN1cnJlbnRVc2VyS2V5IHtcbiAgcGFzc0tleT86IFBhc3NLZXk7XG4gIG1hc3RlcktleT86IHsgaWQ6IHN0cmluZyB9O1xuICByb290S2V5PzogeyBpZDogc3RyaW5nIH07XG4gIHB4az86IHsgaWQ6IHN0cmluZyB9O1xuICBzaWdQeGs/OiB7IGlkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUN1cnJlbnRVc2VyIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgY3VycmVudFVzZXJLZXk6IEN1cnJlbnRVc2VyS2V5O1xuICB1c2VyRGVsZXRlOiBVc2VyRGVsZXRlTm9kZTtcbiAgZmVhdHVyZXM6IGFueTtcbiAgc2Vzc2lvbkVuY3J5cHRpb25LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUNvbnRhY3RDYXJkIHtcbiAgaWQ6IHN0cmluZztcbiAgY2lwaGVyRGF0YTogc3RyaW5nO1xuICBrZXk6IHtcbiAgICBpZDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgQ29udGFjdENhcmROYW1lIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihpbnB1dDogYW55KSB7XG4gICAgdGhpcy5uYW1lID0gaW5wdXQubmFtZTtcbiAgICB0aGlzLnRpdGxlID0gaW5wdXQudGl0bGU7XG4gICAgdGhpcy5maXJzdE5hbWUgPSBpbnB1dC5maXJzdE5hbWU7XG4gICAgdGhpcy5sYXN0TmFtZSA9IGlucHV0Lmxhc3ROYW1lO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb250YWN0Q2FyZEFkZHJlc3Mge1xuICBmdWxsQWRkcmVzczogc3RyaW5nO1xuICBzdHJlZXRBZGRyZXNzOiBzdHJpbmc7XG4gIHN1YnVyYjogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBwb3N0Y29kZTogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxUPiB7XG4gIHZhbHVlOiBUO1xuICBoYXNNdWx0aXBsZTogYm9vbGVhbjtcblxuICB2YWx1ZXM/OiB7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBUIH1bXTtcbn1cblxuZXhwb3J0IGNsYXNzIE1haW5Db250YWN0Q2FyZEZpZWxkcyB7XG4gIG5hbWU6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PENvbnRhY3RDYXJkTmFtZT47XG4gIGVtYWlsOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxzdHJpbmc+O1xuICBpbWFnZTogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8c3RyaW5nPjtcbiAgcGhvbmU6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PHN0cmluZz47XG4gIGFkZHJlc3M6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PENvbnRhY3RDYXJkQWRkcmVzcz47XG59XG5cbmV4cG9ydCBjbGFzcyBNYWluQ29udGFjdENhcmQgZXh0ZW5kcyBNYWluQ29udGFjdENhcmRGaWVsZHMge1xuICBpZDogc3RyaW5nO1xuICBrZXlJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkUGxhaW5GaWVsZHMge1xuICBuYW1lOiBDb250YWN0Q2FyZE5hbWU7XG59XG5cbmV4cG9ydCBlbnVtIFBhc3N3b3JkQ2hhbmdlU3RhdHVzIHtcbiAgSW5Qcm9ncmVzcyA9ICdJTl9QUk9HUkVTUycsXG4gIFJlY292ZXJ5ID0gJ1JFQ09WRVJZJyxcbn1cblxuZXhwb3J0IGNsYXNzIFBhc3NJZHBBcGlSZXN1bHQge1xuICBwYXNzd29yZENoYW5nZVN0YXR1cz86IFBhc3N3b3JkQ2hhbmdlU3RhdHVzO1xuICBjdXJyZW50UGFzc0lkcFBhcmFtczogUGFzc0lkcFBhcmFtcztcbiAgbmV3UGFzc0lkcFBhcmFtczogUGFzc0lkcFBhcmFtcztcbiAgdHBQYXNzd29yZFJlc2V0OiB7XG4gICAgcGFzc0lkcFBhcmFtczogUGFzc0lkcFBhcmFtcztcbiAgICByZXNldFVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBUcnVzdGVkUGFydHlEZXRhaWxzIHtcbiAgbmFtZTogQ29udGFjdENhcmROYW1lO1xuICBlbWFpbD86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHBob25lcz86IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XG4gIGFkZHJlc3Nlcz86IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBDb250YWN0Q2FyZEFkZHJlc3M7XG4gIH1bXTtcbn1cbiJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import { FileType, DeleteFileMutation, CreateFileMutation } from './record.gql';
|
|
4
3
|
import { LrApolloService } from '../api/lr-apollo.service';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { FileUploadService } from '../file-upload/file-upload.service';
|
|
5
|
+
import { KeyGraphService } from '../key/key-graph.service';
|
|
6
|
+
import { KeyMetaService } from '../key/key-meta.service';
|
|
7
|
+
import { CreateFileMutation, DeleteFileMutation, FileType } from './record.gql';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../
|
|
9
|
+
import * as i1 from "../file-upload/file-upload.service";
|
|
10
10
|
import * as i2 from "../api/lr-apollo.service";
|
|
11
|
-
import * as i3 from "../
|
|
12
|
-
import * as i4 from "../
|
|
11
|
+
import * as i3 from "../key/key-meta.service";
|
|
12
|
+
import * as i4 from "../key/key-graph.service";
|
|
13
13
|
export class RecordAttachmentService {
|
|
14
|
-
constructor(
|
|
15
|
-
this.
|
|
14
|
+
constructor(fileUploadService, lrApollo, keyMetaService, keyGraph) {
|
|
15
|
+
this.fileUploadService = fileUploadService;
|
|
16
16
|
this.lrApollo = lrApollo;
|
|
17
17
|
this.keyMetaService = keyMetaService;
|
|
18
18
|
this.keyGraph = keyGraph;
|
|
19
19
|
}
|
|
20
20
|
downloadAttachment(fileStateNodeId, keyId) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const encryptedFile = yield this.
|
|
22
|
+
const encryptedFile = yield this.fileUploadService.downloadEncryptedFile(fileStateNodeId);
|
|
23
23
|
return yield this.keyGraph.decryptFile(keyId, encryptedFile);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -51,9 +51,9 @@ export class RecordAttachmentService {
|
|
|
51
51
|
fileSize: attachment.file.size,
|
|
52
52
|
lastModified: attachment.file.lastModified,
|
|
53
53
|
};
|
|
54
|
-
const fileContent = yield this.
|
|
54
|
+
const fileContent = yield this.fileUploadService.loadFile(attachment.file);
|
|
55
55
|
const doubleWrappedContent = yield this.keyMetaService.doubleWrapContent(secureContent, [recordId], fileContent);
|
|
56
|
-
const contentId = yield this.
|
|
56
|
+
const contentId = yield this.fileUploadService.uploadEncryptedFile({
|
|
57
57
|
encryptedContent: doubleWrappedContent.cipherFileContent,
|
|
58
58
|
fileName: attachment.name,
|
|
59
59
|
});
|
|
@@ -86,16 +86,16 @@ export class RecordAttachmentService {
|
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
RecordAttachmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RecordAttachmentService_Factory() { return new RecordAttachmentService(i0.ɵɵinject(i1.
|
|
89
|
+
RecordAttachmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RecordAttachmentService_Factory() { return new RecordAttachmentService(i0.ɵɵinject(i1.FileUploadService), i0.ɵɵinject(i2.LrApolloService), i0.ɵɵinject(i3.KeyMetaService), i0.ɵɵinject(i4.KeyGraphService)); }, token: RecordAttachmentService, providedIn: "root" });
|
|
90
90
|
RecordAttachmentService.decorators = [
|
|
91
91
|
{ type: Injectable, args: [{
|
|
92
92
|
providedIn: 'root',
|
|
93
93
|
},] }
|
|
94
94
|
];
|
|
95
95
|
RecordAttachmentService.ctorParameters = () => [
|
|
96
|
-
{ type:
|
|
96
|
+
{ type: FileUploadService },
|
|
97
97
|
{ type: LrApolloService },
|
|
98
98
|
{ type: KeyMetaService },
|
|
99
99
|
{ type: KeyGraphService }
|
|
100
100
|
];
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvcmVjb3JkL3JlY29yZC1hdHRhY2htZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBTWhGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDVSxpQkFBb0MsRUFDcEMsUUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsUUFBeUI7UUFIekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFDaEMsQ0FBQztJQUVFLGtCQUFrQixDQUN0QixlQUF1QixFQUN2QixLQUFhOztZQUViLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUN0RSxlQUFlLENBQ2hCLENBQUM7WUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FBQTtJQUVLLGlCQUFpQixDQUNy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LEVBQUU7YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7O1lBM0ZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsaUJBQWlCO1lBRGpCLGVBQWU7WUFHZixjQUFjO1lBRGQsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleU1ldGFTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1tZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlRmlsZU11dGF0aW9uLCBEZWxldGVGaWxlTXV0YXRpb24sIEZpbGVUeXBlIH0gZnJvbSAnLi9yZWNvcmQuZ3FsJztcbmltcG9ydCB7IE5ld0F0dGFjaG1lbnQsIE5ld09yVXBkYXRlZEF0dGFjaG1lbnQgfSBmcm9tICcuL3JlY29yZC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRBdHRhY2htZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcbiAgICBwcml2YXRlIGtleU1ldGFTZXJ2aWNlOiBLZXlNZXRhU2VydmljZSxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGRvd25sb2FkQXR0YWNobWVudChcbiAgICBmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZW5jcnlwdGVkRmlsZSA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UuZG93bmxvYWRFbmNyeXB0ZWRGaWxlKFxuICAgICAgZmlsZVN0YXRlTm9kZUlkXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmtleUdyYXBoLmRlY3J5cHRGaWxlKGtleUlkLCBlbmNyeXB0ZWRGaWxlKTtcbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEF0dGFjaG1lbnRzKFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IE5ld09yVXBkYXRlZEF0dGFjaG1lbnRbXVxuICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgZmlsZUlkcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgKGF0dGFjaG1lbnRzIHx8IFtdKS5tYXAoYXN5bmMgKHgpID0+IHtcbiAgICAgICAgaWYgKHguZmlsZUlkKSB7XG4gICAgICAgICAgaWYgKHguaXNEZWxldGVkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUF0dGFjaG1lbnQoeC5maWxlSWQpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB4LmZpbGVJZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWRkQXR0YWNobWVudChyZWNvcmRJZCwgeCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICByZXR1cm4gZmlsZUlkcy5maWx0ZXIoKHgpID0+IHgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRBdHRhY2htZW50KFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudDogTmV3QXR0YWNobWVudFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHNlY3VyZUNvbnRlbnQgPSB7XG4gICAgICBuYW1lOiBhdHRhY2htZW50Lm5hbWUsXG4gICAgICBmaWVsZElkOiBhdHRhY2htZW50LmZpZWxkSWQsXG4gICAgICBmaWxlVHlwZTogYXR0YWNobWVudC5maWxlLnR5cGUsXG4gICAgICBmaWxlU2l6ZTogYXR0YWNobWVudC5maWxlLnNpemUsXG4gICAgICBsYXN0TW9kaWZpZWQ6IGF0dGFjaG1lbnQuZmlsZS5sYXN0TW9kaWZpZWQsXG4gICAgfTtcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UubG9hZEZpbGUoYXR0YWNobWVudC5maWxlKTtcbiAgICBjb25zdCBkb3VibGVXcmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZG91YmxlV3JhcENvbnRlbnQoXG4gICAgICBzZWN1cmVDb250ZW50LFxuICAgICAgW3JlY29yZElkXSxcbiAgICAgIGZpbGVDb250ZW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNvbnRlbnRJZCA9IGF3YWl0IHRoaXMuZmlsZVVwbG9hZFNlcnZpY2UudXBsb2FkRW5jcnlwdGVkRmlsZSh7XG4gICAgICBlbmNyeXB0ZWRDb250ZW50OiBkb3VibGVXcmFwcGVkQ29udGVudC5jaXBoZXJGaWxlQ29udGVudCxcbiAgICAgIGZpbGVOYW1lOiBhdHRhY2htZW50Lm5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBTYXZlIGZpbGVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUZpbGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHBsYWluTWV0YTogSlNPTi5zdHJpbmdpZnkoeyBmaWxlVHlwZTogRmlsZVR5cGUuUmVjb3JkQXR0YWNobWVudCB9KSxcbiAgICAgICAgICB3cmFwcGVkU3RhdGVLZXk6IGRvdWJsZVdyYXBwZWRDb250ZW50LmRvdWJsZVdyYXBwZWRLZXksXG4gICAgICAgICAgY2lwaGVyTWV0YTogZG91YmxlV3JhcHBlZENvbnRlbnQuY2lwaGVyTWV0YSxcbiAgICAgICAgICBwYXJlbnREaXJlY3RvcmllczogZG91YmxlV3JhcHBlZENvbnRlbnQud3JhcHBlZEtleXMubWFwKCh4KSA9PiAoe1xuICAgICAgICAgICAgZGlyZWN0b3J5SWQ6IHguZGlyZWN0b3J5SWQsXG4gICAgICAgICAgICB3cmFwcGluZ0tleUlkOiB4LndyYXBwaW5nS2V5SWQsXG4gICAgICAgICAgICB3cmFwcGVkRmlsZUtleTogeC53cmFwcGVkS2V5LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgICBjb250ZW50UmVzb3VyY2U6IGNvbnRlbnRJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmNyZWF0ZUZpbGUuZmlsZS5pZDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUF0dGFjaG1lbnQoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7IGZpbGVJZCB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -3,14 +3,14 @@ import { RecordAttachmentService } from './record-attachment.service';
|
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { LrApolloService } from '../api/lr-apollo.service';
|
|
5
5
|
import { CategoryFilter } from '../category/category.gql';
|
|
6
|
-
import { KeyMetaService } from '../
|
|
6
|
+
import { KeyMetaService } from '../key/key-meta.service';
|
|
7
7
|
import { DirectoryType } from './../category/category.gql';
|
|
8
8
|
import { CreateRecordContainerMutation, CreateRecordMutation, DeleteRecordMutation, FileType, GetRecordQuery, RecordAttachmentFilter, RecordContentFilter, UpdateRecordMutation, } from './record.gql';
|
|
9
9
|
import { AccessLevel } from '../category/category.types';
|
|
10
10
|
import { CategoryService } from '../category/category.service';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../api/lr-apollo.service";
|
|
13
|
-
import * as i2 from "../
|
|
13
|
+
import * as i2 from "../key/key-meta.service";
|
|
14
14
|
import * as i3 from "../category/category.service";
|
|
15
15
|
import * as i4 from "./record-attachment.service";
|
|
16
16
|
export class RecordService {
|
|
@@ -203,4 +203,4 @@ RecordService.ctorParameters = () => [
|
|
|
203
203
|
{ type: CategoryService },
|
|
204
204
|
{ type: RecordAttachmentService }
|
|
205
205
|
];
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC9yZWNvcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPM0QsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixvQkFBb0IsR0FDckIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFZLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBSy9ELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsUUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsdUJBQWdEO1FBSGhELGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUN2RCxDQUFDO0lBRVMsU0FBUyxDQUFDLFFBQWdCOztZQUNyQyxNQUFNLEVBQUUsTUFBTSxF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QixDQUFDLGdCQUFnQjt3QkFDbEQsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFVBQVU7cUJBQ3hDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FDbEQsUUFBUSxFQUNSLGFBQWEsQ0FBQyxXQUFXLENBQzFCLENBQUM7YUFDSDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxRQUFnQjs7WUFDekMsMkVBQTJFO1lBQzNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRVksZUFBZSxDQUFDLFFBQWdCOztZQUMzQyw2RUFBNkU7WUFDN0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDO0tBQUE7SUFFWSxZQUFZLENBQUMsUUFBZ0I7O1lBQ3hDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRTthQUN4QixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7Ozs7WUFoTkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUExQlEsZUFBZTtZQUVmLGNBQWM7WUFvQmQsZUFBZTtZQXhCZix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNvcmRBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vcmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5ncWwnO1xuaW1wb3J0IHsgS2V5TWV0YVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBEaXJlY3RvcnlUeXBlIH0gZnJvbSAnLi8uLi9jYXRlZ29yeS9jYXRlZ29yeS5ncWwnO1xuaW1wb3J0IHtcbiAgTHJSZWNvcmQsXG4gIE5ld1JlY29yZCxcbiAgVXBkYXRlZFJlY29yZCxcbiAgUmVjb3JkQXR0YWNobWVudCxcbn0gZnJvbSAnLi9yZWNvcmQudHlwZXMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlUmVjb3JkQ29udGFpbmVyTXV0YXRpb24sXG4gIENyZWF0ZVJlY29yZE11dGF0aW9uLFxuICBEZWxldGVSZWNvcmRNdXRhdGlvbixcbiAgRmlsZVR5cGUsXG4gIEdldFJlY29yZFF1ZXJ5LFxuICBSZWNvcmRBdHRhY2htZW50RmlsdGVyLFxuICBSZWNvcmRDb250ZW50RmlsdGVyLFxuICBVcGRhdGVSZWNvcmRDb250YWluZXJNdXRhdGlvbixcbiAgVXBkYXRlUmVjb3JkTXV0YXRpb24sXG59IGZyb20gJy4vcmVjb3JkLmdxbCc7XG5pbXBvcnQgeyBDYXRlZ29yeSwgQWNjZXNzTGV2ZWwgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS50eXBlcyc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlOiBSZWNvcmRBdHRhY2htZW50U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFJlY29yZChyZWNvcmRJZDogc3RyaW5nKTogUHJvbWlzZTxMclJlY29yZD4ge1xuICAgIGNvbnN0IHsgcmVjb3JkIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xuICAgICAgcXVlcnk6IEdldFJlY29yZFF1ZXJ5KCksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaWQ6IHJlY29yZElkLFxuICAgICAgICBjYXRlZ29yeUZpbHRlcjogQ2F0ZWdvcnlGaWx0ZXIsXG4gICAgICAgIGNvbnRlbnRGaWx0ZXI6IFJlY29yZENvbnRlbnRGaWx0ZXIsXG4gICAgICAgIGF0dGFjaG1lbnRzRmlsdGVyOiBSZWNvcmRBdHRhY2htZW50RmlsdGVyLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBjb250ZW50cyA9IHJlY29yZC5jb250ZW50LmVkZ2VzWzBdLm5vZGUuY2hpbGRGaWxlO1xuICAgIGNvbnN0IHsgbmFtZSwgcmVjb3JkVHlwZSwgZmllbGRzIH0gPVxuICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEoY29udGVudHMuY3VycmVudFZlcnNpb24uc3RhdGUpKSB8fFxuICAgICAge307XG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IFByb21pc2UuYWxsPENhdGVnb3J5W10+KFxuICAgICAgcmVjb3JkLnBhcmVudENhdGVnb3JpZXMuZWRnZXMubWFwKGFzeW5jICh4OiBhbnkpID0+IFtcbiAgICAgICAgLi4uKGF3YWl0IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLm1hcFBhcmVudENhdGVnb3JpZXMoXG4gICAgICAgICAgeC5ub2RlLnBhcmVudERpcmVjdG9yeVxuICAgICAgICApKSxcbiAgICAgICAgYXdhaXQgdGhpcy5jYXRlZ29yeVNlcnZpY2UubWFwQ2F0ZWdvcnkoeC5ub2RlLnBhcmVudERpcmVjdG9yeSksXG4gICAgICBdKVxuICAgICk7XG4gICAgY29uc3QgYXR0YWNobWVudHMgPSBhd2FpdCB0aGlzLm1hcEF0dGFjaG1lbnRzKHJlY29yZC5hdHRhY2htZW50cy5lZGdlcyk7XG4gICAgY29uc3QgaXNPd25lciA9XG4gICAgICByZWNvcmQuYWNjZXNzUm9sZXMgJiZcbiAgICAgIHJlY29yZC5hY2Nlc3NSb2xlcy5zb21lKCh4KSA9PiB4LnJvbGUgPT09IEFjY2Vzc0xldmVsLk93bmVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogcmVjb3JkLmlkLFxuICAgICAga2V5SWQ6IHJlY29yZC5rZXlJZCxcbiAgICAgIHVwZGF0ZUtleUlkOiBjb250ZW50cy5rZXlJZCxcbiAgICAgIHVwZGF0ZUlkOiBjb250ZW50cy5pZCxcbiAgICAgIG5hbWUsXG4gICAgICByZWNvcmRUeXBlLFxuICAgICAgZmllbGRzLFxuICAgICAgY2F0ZWdvcmllcyxcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgbXlBY2Nlc3NMZXZlbDogaXNPd25lciA/IEFjY2Vzc0xldmVsLk93bmVyIDogcmVjb3JkLmFjY2Vzc1JvbGVzWzBdLnJvbGUsXG4gICAgICBzaGFyZWRBY2Nlc3M6IGlzT3duZXJcbiAgICAgICAgPyByZWNvcmQuYWNjZXNzUm9sZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHgucm9sZSAhPT0gQWNjZXNzTGV2ZWwuT3duZXIpXG4gICAgICAgICAgICAubWFwKCh4KSA9PiAoe1xuICAgICAgICAgICAgICB0cnVzdGVkUGFydHlJZDogeC50cnVzdGVkUGFydHkgJiYgeC50cnVzdGVkUGFydHkuaWQsXG4gICAgICAgICAgICAgIGFjY2Vzc0xldmVsOiB4LnJvbGUsXG4gICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiB4Lm1ldGhvZCA9PT0gJ2luaGVyaXRlZCcsXG4gICAgICAgICAgICAgIGluaGVyaXRlZEZyb206IHguaW5oZXJpdGVkRnJvbSAmJiB4LmluaGVyaXRlZEZyb20uaWQsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgOiBbXSxcbiAgICAgIGlzQXJjaGl2ZWQ6ICEhcmVjb3JkLmFyY2hpdmVkLFxuICAgICAgY3JlYXRlZE9uOiByZWNvcmQuY3JlYXRlZCxcbiAgICAgIGxhc3RNb2RpZmllZDpcbiAgICAgICAgbmV3IERhdGUocmVjb3JkLm1vZGlmaWVkKSA+XG4gICAgICAgIG5ldyBEYXRlKGNvbnRlbnRzLmN1cnJlbnRWZXJzaW9uLnN0YXRlLm1vZGlmaWVkKVxuICAgICAgICAgID8gcmVjb3JkLm1vZGlmaWVkXG4gICAgICAgICAgOiBjb250ZW50cy5jdXJyZW50VmVyc2lvbi5zdGF0ZS5tb2RpZmllZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBtYXBBdHRhY2htZW50cyhcbiAgICBhdHRhY2htZW50czogYW55W11cbiAgKTogUHJvbWlzZTxSZWNvcmRBdHRhY2htZW50W10+IHtcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGw8UmVjb3JkQXR0YWNobWVudD4oXG4gICAgICBhdHRhY2htZW50c1xuICAgICAgICAubWFwKCh4KSA9PiB4Lm5vZGUuY2hpbGRGaWxlKVxuICAgICAgICAubWFwKGFzeW5jICh4OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCB7IG5hbWUsIGZpZWxkSWQsIGZpbGVUeXBlLCBmaWxlU2l6ZSwgbGFzdE1vZGlmaWVkIH0gPVxuICAgICAgICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEoeC5jdXJyZW50VmVyc2lvbi5zdGF0ZSkpIHx8XG4gICAgICAgICAgICB7fTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWxlSWQ6IHguaWQsXG4gICAgICAgICAgICBrZXlJZDogeC5jdXJyZW50VmVyc2lvbi5zdGF0ZS5rZXlJZCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogeC5jdXJyZW50VmVyc2lvbi5zdGF0ZS5pZCxcbiAgICAgICAgICAgIGZpZWxkSWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZmlsZVR5cGUsXG4gICAgICAgICAgICBmaWxlU2l6ZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlUmVjb3JkKFxuICAgIG5ld1JlY29yZDogTmV3UmVjb3JkXG4gICk6IFByb21pc2U8eyByZWNvcmRJZDogc3RyaW5nOyBhdHRhY2htZW50RXJyb3I/OiBFcnJvciB9PiB7XG4gICAgLy8gQ3JlYXRlIGRpcmVjdG9yeSB0aGF0IGhvbGRzIHRoZSByZWNvcmRcbiAgICBjb25zdCB3cmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2Uud3JhcENvbnRlbnQoXG4gICAgICBudWxsLFxuICAgICAgbmV3UmVjb3JkLmNhdGVnb3J5SWRzXG4gICAgKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVJlY29yZENvbnRhaW5lck11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBsYWluTWV0YTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGRpcmVjdG9yeVR5cGU6IERpcmVjdG9yeVR5cGUuUmVjb3JkLFxuICAgICAgICAgIGlzSGlkZGVuOiBmYWxzZSxcbiAgICAgICAgfSksXG4gICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiB3cmFwcGVkQ29udGVudC53cmFwcGVkS2V5cyxcbiAgICAgICAgcGFyZW50Um9vdERpcmVjdG9yeTogd3JhcHBlZENvbnRlbnQucm9vdEtleSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgcmVjb3JkSWQgPSByZXNwb25zZS5uZXcuY2F0ZWdvcnkuaWQ7XG4gICAgY29uc3Qgc2VjdXJlQ29udGVudCA9IHtcbiAgICAgIG5hbWU6IG5ld1JlY29yZC5uYW1lLFxuICAgICAgcmVjb3JkVHlwZTogbmV3UmVjb3JkLnJlY29yZFR5cGUsXG4gICAgICBmaWVsZHM6IG5ld1JlY29yZC5maWVsZHMsXG4gICAgfTtcbiAgICBjb25zdCBkb3VibGVXcmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZG91YmxlV3JhcENvbnRlbnQoXG4gICAgICBzZWN1cmVDb250ZW50LFxuICAgICAgW3JlY29yZElkXVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGZpbGUgdGhhdCBob2xkcyB0aGUgcmVjb3JkIGNvbnRlbnRzXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVJlY29yZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgcGxhaW5NZXRhOiBKU09OLnN0cmluZ2lmeSh7IGZpbGVUeXBlOiBGaWxlVHlwZS5SZWNvcmRDb250ZW50IH0pLFxuICAgICAgICAgIHdyYXBwZWRTdGF0ZUtleTogZG91YmxlV3JhcHBlZENvbnRlbnQuZG91YmxlV3JhcHBlZEtleSxcbiAgICAgICAgICBjaXBoZXJNZXRhOiBkb3VibGVXcmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxuICAgICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiBkb3VibGVXcmFwcGVkQ29udGVudC53cmFwcGVkS2V5cy5tYXAoKHgpID0+ICh7XG4gICAgICAgICAgICBkaXJlY3RvcnlJZDogeC5kaXJlY3RvcnlJZCxcbiAgICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHgud3JhcHBpbmdLZXlJZCxcbiAgICAgICAgICAgIHdyYXBwZWRGaWxlS2V5OiB4LndyYXBwZWRLZXksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKFxuICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgbmV3UmVjb3JkLmF0dGFjaG1lbnRzXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICByZXR1cm4geyByZWNvcmRJZCwgYXR0YWNobWVudEVycm9yOiBlIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJlY29yZElkIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUmVjb3JkKFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgdXBkYXRlSWQ6IHN0cmluZyxcbiAgICB1cGRhdGVLZXlJZDogc3RyaW5nLFxuICAgIHVwZGF0ZWRSZWNvcmQ6IFVwZGF0ZWRSZWNvcmRcbiAgKTogUHJvbWlzZTx7IHJlY29yZElkOiBzdHJpbmc7IGF0dGFjaG1lbnRFcnJvcj86IEVycm9yIH0+IHtcbiAgICBjb25zdCBzZWN1cmVDb250ZW50ID0ge1xuICAgICAgbmFtZTogdXBkYXRlZFJlY29yZC5uYW1lLFxuICAgICAgcmVjb3JkVHlwZTogdXBkYXRlZFJlY29yZC5yZWNvcmRUeXBlLFxuICAgICAgZmllbGRzOiB1cGRhdGVkUmVjb3JkLmZpZWxkcyxcbiAgICB9O1xuICAgIGNvbnN0IHJlV3JhcHBlZENvbnRlbnQgPSBhd2FpdCB0aGlzLmtleU1ldGFTZXJ2aWNlLnJlV3JhcENvbnRlbnQoXG4gICAgICB1cGRhdGVLZXlJZCxcbiAgICAgIHNlY3VyZUNvbnRlbnRcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVJlY29yZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgZmlsZUlkOiB1cGRhdGVJZCxcbiAgICAgICAgICBwbGFpbk1ldGE6IEpTT04uc3RyaW5naWZ5KHsgZmlsZVR5cGU6IEZpbGVUeXBlLlJlY29yZENvbnRlbnQgfSksXG4gICAgICAgICAgd3JhcHBlZFN0YXRlS2V5OiByZVdyYXBwZWRDb250ZW50LmRvdWJsZVdyYXBwZWRLZXksXG4gICAgICAgICAgY2lwaGVyTWV0YTogcmVXcmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKFxuICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgdXBkYXRlZFJlY29yZC5hdHRhY2htZW50c1xuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgcmV0dXJuIHsgcmVjb3JkSWQsIGF0dGFjaG1lbnRFcnJvcjogZSB9O1xuICAgIH1cbiAgICByZXR1cm4geyByZWNvcmRJZCB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFyY2hpdmVSZWNvcmQocmVjb3JkSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFsbCBjb250ZW50IG9mIHRoZSByZWNvcmQgc2hvdWxkIGFsc28gYmUgYXJjaGl2ZWQsIGhlbmNlLCByZWN1cnNpdmU9dHJ1ZVxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5U2VydmljZS5hcmNoaXZlRGlyZWN0b3J5KHJlY29yZElkLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB1bmFyY2hpdmVSZWNvcmQocmVjb3JkSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFsbCBjb250ZW50IG9mIHRoZSByZWNvcmQgc2hvdWxkIGFsc28gYmUgdW5hcmNoaXZlZCwgaGVuY2UsIHJlY3Vyc2l2ZT10cnVlXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLnVuYXJjaGl2ZURpcmVjdG9yeShyZWNvcmRJZCwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlUmVjb3JkKHJlY29yZElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlUmVjb3JkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgcmVjb3JkSWQgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC9yZWNvcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFPM0QsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFDUixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixvQkFBb0IsR0FDckIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFZLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBSy9ELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsUUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsdUJBQWdEO1FBSGhELGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUN2RCxDQUFDO0lBRVMsU0FBUyxDQUFDLFFBQWdCOztZQUNyQyxNQUFNLEVBQUUsTUFBTSxF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QixDQUFDLGdCQUFnQjt3QkFDbEQsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFVBQVU7cUJBQ3hDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FDbEQsUUFBUSxFQUNSLGFBQWEsQ0FBQyxXQUFXLENBQzFCLENBQUM7YUFDSDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxRQUFnQjs7WUFDekMsMkVBQTJFO1lBQzNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRVksZUFBZSxDQUFDLFFBQWdCOztZQUMzQyw2RUFBNkU7WUFDN0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDO0tBQUE7SUFFWSxZQUFZLENBQUMsUUFBZ0I7O1lBQ3hDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRTthQUN4QixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7Ozs7WUFoTkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUExQlEsZUFBZTtZQUVmLGNBQWM7WUFvQmQsZUFBZTtZQXhCZix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNvcmRBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vcmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5ncWwnO1xuaW1wb3J0IHsgS2V5TWV0YVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBEaXJlY3RvcnlUeXBlIH0gZnJvbSAnLi8uLi9jYXRlZ29yeS9jYXRlZ29yeS5ncWwnO1xuaW1wb3J0IHtcbiAgTHJSZWNvcmQsXG4gIE5ld1JlY29yZCxcbiAgVXBkYXRlZFJlY29yZCxcbiAgUmVjb3JkQXR0YWNobWVudCxcbn0gZnJvbSAnLi9yZWNvcmQudHlwZXMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlUmVjb3JkQ29udGFpbmVyTXV0YXRpb24sXG4gIENyZWF0ZVJlY29yZE11dGF0aW9uLFxuICBEZWxldGVSZWNvcmRNdXRhdGlvbixcbiAgRmlsZVR5cGUsXG4gIEdldFJlY29yZFF1ZXJ5LFxuICBSZWNvcmRBdHRhY2htZW50RmlsdGVyLFxuICBSZWNvcmRDb250ZW50RmlsdGVyLFxuICBVcGRhdGVSZWNvcmRDb250YWluZXJNdXRhdGlvbixcbiAgVXBkYXRlUmVjb3JkTXV0YXRpb24sXG59IGZyb20gJy4vcmVjb3JkLmdxbCc7XG5pbXBvcnQgeyBDYXRlZ29yeSwgQWNjZXNzTGV2ZWwgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS50eXBlcyc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi9jYXRlZ29yeS9jYXRlZ29yeS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlY29yZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlOiBSZWNvcmRBdHRhY2htZW50U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFJlY29yZChyZWNvcmRJZDogc3RyaW5nKTogUHJvbWlzZTxMclJlY29yZD4ge1xuICAgIGNvbnN0IHsgcmVjb3JkIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xuICAgICAgcXVlcnk6IEdldFJlY29yZFF1ZXJ5KCksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaWQ6IHJlY29yZElkLFxuICAgICAgICBjYXRlZ29yeUZpbHRlcjogQ2F0ZWdvcnlGaWx0ZXIsXG4gICAgICAgIGNvbnRlbnRGaWx0ZXI6IFJlY29yZENvbnRlbnRGaWx0ZXIsXG4gICAgICAgIGF0dGFjaG1lbnRzRmlsdGVyOiBSZWNvcmRBdHRhY2htZW50RmlsdGVyLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBjb250ZW50cyA9IHJlY29yZC5jb250ZW50LmVkZ2VzWzBdLm5vZGUuY2hpbGRGaWxlO1xuICAgIGNvbnN0IHsgbmFtZSwgcmVjb3JkVHlwZSwgZmllbGRzIH0gPVxuICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEoY29udGVudHMuY3VycmVudFZlcnNpb24uc3RhdGUpKSB8fFxuICAgICAge307XG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IFByb21pc2UuYWxsPENhdGVnb3J5W10+KFxuICAgICAgcmVjb3JkLnBhcmVudENhdGVnb3JpZXMuZWRnZXMubWFwKGFzeW5jICh4OiBhbnkpID0+IFtcbiAgICAgICAgLi4uKGF3YWl0IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLm1hcFBhcmVudENhdGVnb3JpZXMoXG4gICAgICAgICAgeC5ub2RlLnBhcmVudERpcmVjdG9yeVxuICAgICAgICApKSxcbiAgICAgICAgYXdhaXQgdGhpcy5jYXRlZ29yeVNlcnZpY2UubWFwQ2F0ZWdvcnkoeC5ub2RlLnBhcmVudERpcmVjdG9yeSksXG4gICAgICBdKVxuICAgICk7XG4gICAgY29uc3QgYXR0YWNobWVudHMgPSBhd2FpdCB0aGlzLm1hcEF0dGFjaG1lbnRzKHJlY29yZC5hdHRhY2htZW50cy5lZGdlcyk7XG4gICAgY29uc3QgaXNPd25lciA9XG4gICAgICByZWNvcmQuYWNjZXNzUm9sZXMgJiZcbiAgICAgIHJlY29yZC5hY2Nlc3NSb2xlcy5zb21lKCh4KSA9PiB4LnJvbGUgPT09IEFjY2Vzc0xldmVsLk93bmVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogcmVjb3JkLmlkLFxuICAgICAga2V5SWQ6IHJlY29yZC5rZXlJZCxcbiAgICAgIHVwZGF0ZUtleUlkOiBjb250ZW50cy5rZXlJZCxcbiAgICAgIHVwZGF0ZUlkOiBjb250ZW50cy5pZCxcbiAgICAgIG5hbWUsXG4gICAgICByZWNvcmRUeXBlLFxuICAgICAgZmllbGRzLFxuICAgICAgY2F0ZWdvcmllcyxcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgbXlBY2Nlc3NMZXZlbDogaXNPd25lciA/IEFjY2Vzc0xldmVsLk93bmVyIDogcmVjb3JkLmFjY2Vzc1JvbGVzWzBdLnJvbGUsXG4gICAgICBzaGFyZWRBY2Nlc3M6IGlzT3duZXJcbiAgICAgICAgPyByZWNvcmQuYWNjZXNzUm9sZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHgucm9sZSAhPT0gQWNjZXNzTGV2ZWwuT3duZXIpXG4gICAgICAgICAgICAubWFwKCh4KSA9PiAoe1xuICAgICAgICAgICAgICB0cnVzdGVkUGFydHlJZDogeC50cnVzdGVkUGFydHkgJiYgeC50cnVzdGVkUGFydHkuaWQsXG4gICAgICAgICAgICAgIGFjY2Vzc0xldmVsOiB4LnJvbGUsXG4gICAgICAgICAgICAgIGlzSW5oZXJpdGVkOiB4Lm1ldGhvZCA9PT0gJ2luaGVyaXRlZCcsXG4gICAgICAgICAgICAgIGluaGVyaXRlZEZyb206IHguaW5oZXJpdGVkRnJvbSAmJiB4LmluaGVyaXRlZEZyb20uaWQsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgOiBbXSxcbiAgICAgIGlzQXJjaGl2ZWQ6ICEhcmVjb3JkLmFyY2hpdmVkLFxuICAgICAgY3JlYXRlZE9uOiByZWNvcmQuY3JlYXRlZCxcbiAgICAgIGxhc3RNb2RpZmllZDpcbiAgICAgICAgbmV3IERhdGUocmVjb3JkLm1vZGlmaWVkKSA+XG4gICAgICAgIG5ldyBEYXRlKGNvbnRlbnRzLmN1cnJlbnRWZXJzaW9uLnN0YXRlLm1vZGlmaWVkKVxuICAgICAgICAgID8gcmVjb3JkLm1vZGlmaWVkXG4gICAgICAgICAgOiBjb250ZW50cy5jdXJyZW50VmVyc2lvbi5zdGF0ZS5tb2RpZmllZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBtYXBBdHRhY2htZW50cyhcbiAgICBhdHRhY2htZW50czogYW55W11cbiAgKTogUHJvbWlzZTxSZWNvcmRBdHRhY2htZW50W10+IHtcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGw8UmVjb3JkQXR0YWNobWVudD4oXG4gICAgICBhdHRhY2htZW50c1xuICAgICAgICAubWFwKCh4KSA9PiB4Lm5vZGUuY2hpbGRGaWxlKVxuICAgICAgICAubWFwKGFzeW5jICh4OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCB7IG5hbWUsIGZpZWxkSWQsIGZpbGVUeXBlLCBmaWxlU2l6ZSwgbGFzdE1vZGlmaWVkIH0gPVxuICAgICAgICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEoeC5jdXJyZW50VmVyc2lvbi5zdGF0ZSkpIHx8XG4gICAgICAgICAgICB7fTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWxlSWQ6IHguaWQsXG4gICAgICAgICAgICBrZXlJZDogeC5jdXJyZW50VmVyc2lvbi5zdGF0ZS5rZXlJZCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogeC5jdXJyZW50VmVyc2lvbi5zdGF0ZS5pZCxcbiAgICAgICAgICAgIGZpZWxkSWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZmlsZVR5cGUsXG4gICAgICAgICAgICBmaWxlU2l6ZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlUmVjb3JkKFxuICAgIG5ld1JlY29yZDogTmV3UmVjb3JkXG4gICk6IFByb21pc2U8eyByZWNvcmRJZDogc3RyaW5nOyBhdHRhY2htZW50RXJyb3I/OiBFcnJvciB9PiB7XG4gICAgLy8gQ3JlYXRlIGRpcmVjdG9yeSB0aGF0IGhvbGRzIHRoZSByZWNvcmRcbiAgICBjb25zdCB3cmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2Uud3JhcENvbnRlbnQoXG4gICAgICBudWxsLFxuICAgICAgbmV3UmVjb3JkLmNhdGVnb3J5SWRzXG4gICAgKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVJlY29yZENvbnRhaW5lck11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBsYWluTWV0YTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGRpcmVjdG9yeVR5cGU6IERpcmVjdG9yeVR5cGUuUmVjb3JkLFxuICAgICAgICAgIGlzSGlkZGVuOiBmYWxzZSxcbiAgICAgICAgfSksXG4gICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiB3cmFwcGVkQ29udGVudC53cmFwcGVkS2V5cyxcbiAgICAgICAgcGFyZW50Um9vdERpcmVjdG9yeTogd3JhcHBlZENvbnRlbnQucm9vdEtleSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgcmVjb3JkSWQgPSByZXNwb25zZS5uZXcuY2F0ZWdvcnkuaWQ7XG4gICAgY29uc3Qgc2VjdXJlQ29udGVudCA9IHtcbiAgICAgIG5hbWU6IG5ld1JlY29yZC5uYW1lLFxuICAgICAgcmVjb3JkVHlwZTogbmV3UmVjb3JkLnJlY29yZFR5cGUsXG4gICAgICBmaWVsZHM6IG5ld1JlY29yZC5maWVsZHMsXG4gICAgfTtcbiAgICBjb25zdCBkb3VibGVXcmFwcGVkQ29udGVudCA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZG91YmxlV3JhcENvbnRlbnQoXG4gICAgICBzZWN1cmVDb250ZW50LFxuICAgICAgW3JlY29yZElkXVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGZpbGUgdGhhdCBob2xkcyB0aGUgcmVjb3JkIGNvbnRlbnRzXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVJlY29yZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgcGxhaW5NZXRhOiBKU09OLnN0cmluZ2lmeSh7IGZpbGVUeXBlOiBGaWxlVHlwZS5SZWNvcmRDb250ZW50IH0pLFxuICAgICAgICAgIHdyYXBwZWRTdGF0ZUtleTogZG91YmxlV3JhcHBlZENvbnRlbnQuZG91YmxlV3JhcHBlZEtleSxcbiAgICAgICAgICBjaXBoZXJNZXRhOiBkb3VibGVXcmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxuICAgICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiBkb3VibGVXcmFwcGVkQ29udGVudC53cmFwcGVkS2V5cy5tYXAoKHgpID0+ICh7XG4gICAgICAgICAgICBkaXJlY3RvcnlJZDogeC5kaXJlY3RvcnlJZCxcbiAgICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHgud3JhcHBpbmdLZXlJZCxcbiAgICAgICAgICAgIHdyYXBwZWRGaWxlS2V5OiB4LndyYXBwZWRLZXksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKFxuICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgbmV3UmVjb3JkLmF0dGFjaG1lbnRzXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICByZXR1cm4geyByZWNvcmRJZCwgYXR0YWNobWVudEVycm9yOiBlIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJlY29yZElkIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUmVjb3JkKFxuICAgIHJlY29yZElkOiBzdHJpbmcsXG4gICAgdXBkYXRlSWQ6IHN0cmluZyxcbiAgICB1cGRhdGVLZXlJZDogc3RyaW5nLFxuICAgIHVwZGF0ZWRSZWNvcmQ6IFVwZGF0ZWRSZWNvcmRcbiAgKTogUHJvbWlzZTx7IHJlY29yZElkOiBzdHJpbmc7IGF0dGFjaG1lbnRFcnJvcj86IEVycm9yIH0+IHtcbiAgICBjb25zdCBzZWN1cmVDb250ZW50ID0ge1xuICAgICAgbmFtZTogdXBkYXRlZFJlY29yZC5uYW1lLFxuICAgICAgcmVjb3JkVHlwZTogdXBkYXRlZFJlY29yZC5yZWNvcmRUeXBlLFxuICAgICAgZmllbGRzOiB1cGRhdGVkUmVjb3JkLmZpZWxkcyxcbiAgICB9O1xuICAgIGNvbnN0IHJlV3JhcHBlZENvbnRlbnQgPSBhd2FpdCB0aGlzLmtleU1ldGFTZXJ2aWNlLnJlV3JhcENvbnRlbnQoXG4gICAgICB1cGRhdGVLZXlJZCxcbiAgICAgIHNlY3VyZUNvbnRlbnRcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGUoe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVJlY29yZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgZmlsZUlkOiB1cGRhdGVJZCxcbiAgICAgICAgICBwbGFpbk1ldGE6IEpTT04uc3RyaW5naWZ5KHsgZmlsZVR5cGU6IEZpbGVUeXBlLlJlY29yZENvbnRlbnQgfSksXG4gICAgICAgICAgd3JhcHBlZFN0YXRlS2V5OiByZVdyYXBwZWRDb250ZW50LmRvdWJsZVdyYXBwZWRLZXksXG4gICAgICAgICAgY2lwaGVyTWV0YTogcmVXcmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnJlY29yZEF0dGFjaG1lbnRTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKFxuICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgdXBkYXRlZFJlY29yZC5hdHRhY2htZW50c1xuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgcmV0dXJuIHsgcmVjb3JkSWQsIGF0dGFjaG1lbnRFcnJvcjogZSB9O1xuICAgIH1cbiAgICByZXR1cm4geyByZWNvcmRJZCB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFyY2hpdmVSZWNvcmQocmVjb3JkSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFsbCBjb250ZW50IG9mIHRoZSByZWNvcmQgc2hvdWxkIGFsc28gYmUgYXJjaGl2ZWQsIGhlbmNlLCByZWN1cnNpdmU9dHJ1ZVxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5U2VydmljZS5hcmNoaXZlRGlyZWN0b3J5KHJlY29yZElkLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB1bmFyY2hpdmVSZWNvcmQocmVjb3JkSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFsbCBjb250ZW50IG9mIHRoZSByZWNvcmQgc2hvdWxkIGFsc28gYmUgdW5hcmNoaXZlZCwgaGVuY2UsIHJlY3Vyc2l2ZT10cnVlXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLnVuYXJjaGl2ZURpcmVjdG9yeShyZWNvcmRJZCwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlUmVjb3JkKHJlY29yZElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlUmVjb3JkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHsgcmVjb3JkSWQgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|