@lifeready/core 6.0.5 → 6.1.1
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 +3474 -7307
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/auth2/auth.config.js +57 -0
- package/esm2015/lib/auth2/auth2.gql.private.js +8 -1
- package/esm2015/lib/auth2/auth2.service.js +3 -4
- package/esm2015/lib/auth2/auth2.types.js +1 -1
- package/esm2015/lib/file-upload/file-upload.service.js +4 -4
- package/esm2015/lib/idle/idle.service.js +1 -2
- package/esm2015/lib/item2/item2.service.js +15 -45
- package/esm2015/lib/key/key-meta.service.js +16 -8
- package/esm2015/lib/key-exchange/key-exchange2.service.js +6 -25
- package/esm2015/lib/life-ready.module.js +2 -9
- package/esm2015/lib/password/password.service.js +1 -1
- package/esm2015/lib/profile/profile-details.service.js +120 -75
- package/esm2015/lib/profile/profile.gql.js +134 -1
- package/esm2015/lib/profile/profile.service.js +8 -5
- package/esm2015/lib/profile/profile.types.js +14 -3
- package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +2 -2
- package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -1
- package/esm2015/lib/trusted-party/trusted-party2.service.js +3 -7
- package/esm2015/lifeready-core.js +7 -9
- package/esm2015/public-api.js +2 -20
- package/fesm2015/lifeready-core.js +3206 -6520
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/auth2/auth2.gql.private.d.ts +15 -2
- package/lib/auth2/auth2.service.d.ts +1 -1
- package/lib/auth2/auth2.types.d.ts +19 -2
- package/lib/file-upload/file-upload.service.d.ts +2 -2
- package/lib/item2/item2.service.d.ts +11 -74
- package/lib/key/key-meta.service.d.ts +8 -1
- package/lib/key-exchange/key-exchange2.service.d.ts +5 -66
- package/lib/password/password.service.d.ts +1 -1
- package/lib/profile/profile-details.service.d.ts +10 -11
- package/lib/profile/profile.gql.d.ts +12 -0
- package/lib/profile/profile.service.d.ts +1 -3
- package/lib/profile/profile.types.d.ts +31 -4
- package/lib/shared-contact-card/shared-contact-card.service.d.ts +1 -2
- package/lib/tp-password-reset/tp-password-reset.types.d.ts +3 -3
- package/lib/trusted-party/trusted-party2.service.d.ts +2 -7
- package/lifeready-core.d.ts +6 -8
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -19
- package/esm2015/lib/auth/auth.config.js +0 -57
- package/esm2015/lib/auth/auth.gql.js +0 -16
- package/esm2015/lib/auth/auth.types.js +0 -18
- package/esm2015/lib/auth/life-ready-auth.service.js +0 -568
- package/esm2015/lib/category/category-meta.service.js +0 -99
- package/esm2015/lib/category/category.gql.js +0 -385
- package/esm2015/lib/category/category.service.js +0 -361
- package/esm2015/lib/category/category.types.js +0 -29
- package/esm2015/lib/key-exchange/key-exchange.gql.js +0 -188
- package/esm2015/lib/key-exchange/key-exchange.service.js +0 -436
- package/esm2015/lib/key-exchange/key-exchange.types.js +0 -7
- package/esm2015/lib/message/message.gql.js +0 -32
- package/esm2015/lib/message/message.service.js +0 -118
- package/esm2015/lib/message/message.types.js +0 -2
- package/esm2015/lib/plan/plan.gql.js +0 -123
- package/esm2015/lib/plan/plan.service.js +0 -150
- package/esm2015/lib/plan/plan.types.js +0 -11
- package/esm2015/lib/record/record-attachment.service.js +0 -102
- package/esm2015/lib/record/record.gql.js +0 -182
- package/esm2015/lib/record/record.service.js +0 -194
- package/esm2015/lib/record/record.types.js +0 -15
- package/esm2015/lib/record-type/record-type.service.js +0 -75
- package/esm2015/lib/record-type/record-type.types.js +0 -28
- package/esm2015/lib/trusted-party/trusted-party.gql.js +0 -148
- package/esm2015/lib/trusted-party/trusted-party.service.js +0 -308
- package/esm2015/lib/trusted-party/trusted-party.types.js +0 -41
- package/lib/auth/auth.gql.d.ts +0 -12
- package/lib/auth/auth.types.d.ts +0 -52
- package/lib/auth/life-ready-auth.service.d.ts +0 -73
- package/lib/category/category-meta.service.d.ts +0 -23
- package/lib/category/category.gql.d.ts +0 -44
- package/lib/category/category.service.d.ts +0 -66
- package/lib/category/category.types.d.ts +0 -75
- package/lib/key-exchange/key-exchange.gql.d.ts +0 -9
- package/lib/key-exchange/key-exchange.service.d.ts +0 -37
- package/lib/key-exchange/key-exchange.types.d.ts +0 -188
- package/lib/message/message.gql.d.ts +0 -13
- package/lib/message/message.service.d.ts +0 -36
- package/lib/message/message.types.d.ts +0 -12
- package/lib/plan/plan.gql.d.ts +0 -11
- package/lib/plan/plan.service.d.ts +0 -34
- package/lib/plan/plan.types.d.ts +0 -32
- package/lib/record/record-attachment.service.d.ts +0 -16
- package/lib/record/record.gql.d.ts +0 -14
- package/lib/record/record.service.d.ts +0 -25
- package/lib/record/record.types.d.ts +0 -56
- package/lib/record-type/record-type.service.d.ts +0 -11
- package/lib/record-type/record-type.types.d.ts +0 -50
- package/lib/trusted-party/trusted-party.gql.d.ts +0 -9
- package/lib/trusted-party/trusted-party.service.d.ts +0 -43
- package/lib/trusted-party/trusted-party.types.d.ts +0 -101
- /package/lib/{auth → auth2}/auth.config.d.ts +0 -0
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { LrApolloService } from '../api/lr-apollo.service';
|
|
5
|
-
import { KeyGraphService } from '../key/key-graph.service';
|
|
6
|
-
import { KeyMetaService } from '../key/key-meta.service';
|
|
7
|
-
import { RecordContentFilter } from '../record/record.gql';
|
|
8
|
-
import { KcBadStateException } from '../_common/exceptions';
|
|
9
|
-
import { ArchiveDirectoryMutation, CategoryFilter, CreateCategoryMutation, CreateVaultMutation, DefaultVaultFilter, DeleteCategoryMutation, DirectoryType, GetCategoriesQuery, GetCategoryQuery, GetMySharedCategoriesQuery, GetRootDirectoryIdsQuery, GetTrustedPartyCategoriesQuery, GetVaultsQuery, RecordFilter, UnarchiveDirectoryMutation, UpdateCategoryMutation, } from './category.gql';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../api/lr-apollo.service";
|
|
12
|
-
import * as i2 from "../key/key-meta.service";
|
|
13
|
-
import * as i3 from "../key/key-graph.service";
|
|
14
|
-
export class CategoryService {
|
|
15
|
-
constructor(lrApollo, keyMetaService, keyGraph) {
|
|
16
|
-
this.lrApollo = lrApollo;
|
|
17
|
-
this.keyMetaService = keyMetaService;
|
|
18
|
-
this.keyGraph = keyGraph;
|
|
19
|
-
}
|
|
20
|
-
getRootDirectoryIds(input = null) {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const { rootDirectories } = yield this.lrApollo.query({
|
|
23
|
-
query: GetRootDirectoryIdsQuery,
|
|
24
|
-
variables: {
|
|
25
|
-
archived: input && input.archived,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
return rootDirectories.edges.map((edge) => edge.node.id);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
getDefaultVault() {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const { list } = yield this.lrApollo.query({
|
|
34
|
-
query: GetVaultsQuery,
|
|
35
|
-
variables: {
|
|
36
|
-
plainMetaFilter: DefaultVaultFilter,
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
const defaultVaults = yield this.mapVaults(list);
|
|
40
|
-
if (defaultVaults.length > 1) {
|
|
41
|
-
throw new KcBadStateException('There are more than one default vaults');
|
|
42
|
-
}
|
|
43
|
-
return defaultVaults[0] || null;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
getCategories(input) {
|
|
47
|
-
var _a;
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
const vaultDirectoryId = (input === null || input === void 0 ? void 0 : input.vaultDirectoryId) || ((_a = (yield this.getDefaultVault())) === null || _a === void 0 ? void 0 : _a.id);
|
|
50
|
-
if (!vaultDirectoryId) {
|
|
51
|
-
console.error('There is no default vault.');
|
|
52
|
-
return [];
|
|
53
|
-
}
|
|
54
|
-
const res = yield this.lrApollo.query({
|
|
55
|
-
query: GetCategoriesQuery,
|
|
56
|
-
variables: {
|
|
57
|
-
vaultDirectoryId,
|
|
58
|
-
categoryFilter: CategoryFilter,
|
|
59
|
-
recordFilter: RecordFilter,
|
|
60
|
-
archived: input === null || input === void 0 ? void 0 : input.archived,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
return this.mapCategories(res.directory.childDirectoryLinks);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
getTrustedPartyCategories(trustedPartyId) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const { tp } = yield this.lrApollo.query({
|
|
69
|
-
query: GetTrustedPartyCategoriesQuery,
|
|
70
|
-
variables: {
|
|
71
|
-
trustedPartyId,
|
|
72
|
-
categoryFilter: CategoryFilter,
|
|
73
|
-
recordFilter: RecordFilter,
|
|
74
|
-
contentFilter: RecordContentFilter,
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
return {
|
|
78
|
-
categories: yield this.mapCategories(tp.theirItems.list),
|
|
79
|
-
records: yield this.mapRecords(tp.theirItems.records),
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
getMySharedCategories(trustedPartyId) {
|
|
84
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
const { tp } = yield this.lrApollo.query({
|
|
86
|
-
query: GetMySharedCategoriesQuery,
|
|
87
|
-
variables: {
|
|
88
|
-
trustedPartyId,
|
|
89
|
-
categoryFilter: CategoryFilter,
|
|
90
|
-
recordFilter: RecordFilter,
|
|
91
|
-
contentFilter: RecordContentFilter,
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
categories: yield this.mapCategories(tp.myItems.list),
|
|
96
|
-
records: yield this.mapRecords(tp.myItems.records),
|
|
97
|
-
};
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
getCategory(categoryId) {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
const { category } = yield this.lrApollo.query({
|
|
103
|
-
query: GetCategoryQuery(),
|
|
104
|
-
variables: {
|
|
105
|
-
id: categoryId,
|
|
106
|
-
categoryFilter: CategoryFilter,
|
|
107
|
-
recordFilter: RecordFilter,
|
|
108
|
-
contentFilter: RecordContentFilter,
|
|
109
|
-
},
|
|
110
|
-
});
|
|
111
|
-
return {
|
|
112
|
-
category: Object.assign(Object.assign({}, (yield this.mapCategory(category))), { parents: yield this.mapParentCategories(category) }),
|
|
113
|
-
subCategories: yield this.mapCategories(category.subCategories),
|
|
114
|
-
records: yield this.mapRecords(category.records),
|
|
115
|
-
};
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
mapVaults(list) {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
return Promise.all(list.edges.map((edge) => this.mapVault(edge.node)));
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
mapCategories(list) {
|
|
124
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
return (yield Promise.all(list.edges
|
|
126
|
-
.map((x) => x.node)
|
|
127
|
-
.map((x) => x.childDirectory || x)
|
|
128
|
-
.map((node) => this.mapCategory(node))))
|
|
129
|
-
.filter((x) => x)
|
|
130
|
-
.sort((x, y) => (x.name === y.name ? 0 : x.name > y.name ? 1 : -1));
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
mapRecords(list) {
|
|
134
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
return (yield Promise.all(list.edges
|
|
136
|
-
.map((x) => x.node)
|
|
137
|
-
.map((x) => x.childDirectory || x)
|
|
138
|
-
.map((node) => this.mapRecord(node))))
|
|
139
|
-
.filter((x) => x)
|
|
140
|
-
.sort((x, y) => (x.name === y.name ? 0 : x.name > y.name ? 1 : -1));
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
createDefaultVault() {
|
|
144
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
-
const secureContent = '';
|
|
146
|
-
const wrappedContent = yield this.keyMetaService.wrapContent(secureContent);
|
|
147
|
-
const response = yield this.lrApollo.mutate({
|
|
148
|
-
mutation: CreateVaultMutation,
|
|
149
|
-
variables: {
|
|
150
|
-
plainMeta: JSON.stringify({
|
|
151
|
-
directoryType: DirectoryType.Vault,
|
|
152
|
-
default: true,
|
|
153
|
-
}),
|
|
154
|
-
cipherMeta: wrappedContent.cipherMeta,
|
|
155
|
-
parentRootDirectory: wrappedContent.rootKey,
|
|
156
|
-
},
|
|
157
|
-
});
|
|
158
|
-
return response.new.vault.id;
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
createCategory(newCategory) {
|
|
162
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
-
const secureContent = {
|
|
164
|
-
name: newCategory.name,
|
|
165
|
-
code: newCategory.code,
|
|
166
|
-
isCustom: newCategory.isCustom,
|
|
167
|
-
allowRecords: newCategory.allowRecords,
|
|
168
|
-
allowCustomCategories: newCategory.allowCustomCategories,
|
|
169
|
-
};
|
|
170
|
-
const wrappedContent = yield this.keyMetaService.wrapContent(secureContent, newCategory.categoryIds);
|
|
171
|
-
const response = yield this.lrApollo.mutate({
|
|
172
|
-
mutation: CreateCategoryMutation,
|
|
173
|
-
variables: {
|
|
174
|
-
plainMeta: JSON.stringify({
|
|
175
|
-
directoryType: DirectoryType.Category,
|
|
176
|
-
isHidden: false,
|
|
177
|
-
}),
|
|
178
|
-
cipherMeta: wrappedContent.cipherMeta,
|
|
179
|
-
parentDirectories: wrappedContent.wrappedKeys,
|
|
180
|
-
parentRootDirectory: wrappedContent.rootKey,
|
|
181
|
-
},
|
|
182
|
-
});
|
|
183
|
-
return response.new.category.id;
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
updateCategory(categoryId, keyId, updatedCategory) {
|
|
187
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
188
|
-
const secureContent = {
|
|
189
|
-
name: updatedCategory.name,
|
|
190
|
-
code: updatedCategory.code,
|
|
191
|
-
isCustom: updatedCategory.isCustom,
|
|
192
|
-
allowRecords: updatedCategory.allowRecords,
|
|
193
|
-
allowCustomCategories: updatedCategory.allowCustomCategories,
|
|
194
|
-
};
|
|
195
|
-
const cipherMeta = yield this.keyGraph.encryptToString(keyId, secureContent);
|
|
196
|
-
yield this.lrApollo.mutate({
|
|
197
|
-
mutation: UpdateCategoryMutation,
|
|
198
|
-
variables: {
|
|
199
|
-
input: {
|
|
200
|
-
directoryId: categoryId,
|
|
201
|
-
cipherMeta,
|
|
202
|
-
},
|
|
203
|
-
},
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
setCategoryVisibility(categoryId, hide) {
|
|
208
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
209
|
-
yield this.lrApollo.mutate({
|
|
210
|
-
mutation: UpdateCategoryMutation,
|
|
211
|
-
variables: {
|
|
212
|
-
input: {
|
|
213
|
-
directoryId: categoryId,
|
|
214
|
-
plainMeta: JSON.stringify({
|
|
215
|
-
directoryType: DirectoryType.Category,
|
|
216
|
-
isHidden: hide,
|
|
217
|
-
}),
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
deleteCategory(categoryId) {
|
|
224
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
225
|
-
yield this.lrApollo.mutate({
|
|
226
|
-
mutation: DeleteCategoryMutation,
|
|
227
|
-
variables: { categoryId },
|
|
228
|
-
});
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
archiveCategory(categoryId, recursive) {
|
|
232
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
233
|
-
return this.archiveDirectory(categoryId, recursive);
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
unarchiveCategory(categoryId, recursive) {
|
|
237
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
238
|
-
return this.unarchiveDirectory(categoryId, recursive);
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
archiveDirectory(directoryId, recursive) {
|
|
242
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
243
|
-
yield this.lrApollo.mutate({
|
|
244
|
-
mutation: ArchiveDirectoryMutation,
|
|
245
|
-
variables: {
|
|
246
|
-
input: {
|
|
247
|
-
directoryId,
|
|
248
|
-
recursive,
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
unarchiveDirectory(directoryId, recursive) {
|
|
255
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
256
|
-
yield this.lrApollo.mutate({
|
|
257
|
-
mutation: UnarchiveDirectoryMutation,
|
|
258
|
-
variables: {
|
|
259
|
-
input: {
|
|
260
|
-
directoryId,
|
|
261
|
-
recursive,
|
|
262
|
-
},
|
|
263
|
-
},
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
mapVault(node) {
|
|
268
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
269
|
-
try {
|
|
270
|
-
const { name } = (yield this.keyMetaService.decryptMeta(node)) || {};
|
|
271
|
-
return {
|
|
272
|
-
id: node.id,
|
|
273
|
-
keyId: node.keyId,
|
|
274
|
-
name,
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
catch (e) {
|
|
278
|
-
console.error('Failed to decrypt Vault.', e, node);
|
|
279
|
-
return null;
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
mapParentCategories(category) {
|
|
284
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
285
|
-
if (!category.parentCategories ||
|
|
286
|
-
!category.parentCategories.edges ||
|
|
287
|
-
!category.parentCategories.edges.length) {
|
|
288
|
-
return [];
|
|
289
|
-
}
|
|
290
|
-
const node = category.parentCategories.edges[0].node.parentDirectory;
|
|
291
|
-
return [
|
|
292
|
-
...(yield this.mapParentCategories(node)),
|
|
293
|
-
yield this.mapCategory(node),
|
|
294
|
-
];
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
mapCategory(node) {
|
|
298
|
-
var _a;
|
|
299
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
300
|
-
try {
|
|
301
|
-
const { name, isCustom, allowRecords, allowCustomCategories, code } = (yield this.keyMetaService.decryptMeta(node)) || {};
|
|
302
|
-
const { isHidden } = (node.plainMeta && JSON.parse(node.plainMeta)) || {};
|
|
303
|
-
return {
|
|
304
|
-
id: node.id,
|
|
305
|
-
keyId: node.keyId,
|
|
306
|
-
code,
|
|
307
|
-
name,
|
|
308
|
-
isHidden: !!isHidden,
|
|
309
|
-
isCustom: !!isCustom,
|
|
310
|
-
isArchived: !!node.archived,
|
|
311
|
-
allowRecords: !!allowRecords,
|
|
312
|
-
allowCustomCategories: !!allowCustomCategories,
|
|
313
|
-
isEmpty: node.descendantDirectories
|
|
314
|
-
? node.descendantDirectories.recordsCount === 0
|
|
315
|
-
: null,
|
|
316
|
-
allRecordsCount: (_a = node.descendantDirectories) === null || _a === void 0 ? void 0 : _a.recordsCount,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
catch (e) {
|
|
320
|
-
console.error('Failed to decrypt Category.', e, node);
|
|
321
|
-
return null;
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
mapRecord(node) {
|
|
326
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
327
|
-
try {
|
|
328
|
-
const contents = node.content.edges[0].node.childFile;
|
|
329
|
-
const { name, recordType } = (yield this.keyMetaService.decryptMeta(contents.currentVersion.state)) || {};
|
|
330
|
-
return {
|
|
331
|
-
id: node.id,
|
|
332
|
-
keyId: node.keyId,
|
|
333
|
-
name,
|
|
334
|
-
recordType,
|
|
335
|
-
isArchived: !!node.archived,
|
|
336
|
-
createdOn: node.created,
|
|
337
|
-
lastModified: new Date(node.modified) >
|
|
338
|
-
new Date(contents.currentVersion.state.modified)
|
|
339
|
-
? node.modified
|
|
340
|
-
: contents.currentVersion.state.modified,
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
catch (e) {
|
|
344
|
-
console.error('Failed to decrypt Record.', e);
|
|
345
|
-
return null;
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
CategoryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CategoryService_Factory() { return new CategoryService(i0.ɵɵinject(i1.LrApolloService), i0.ɵɵinject(i2.KeyMetaService), i0.ɵɵinject(i3.KeyGraphService)); }, token: CategoryService, providedIn: "root" });
|
|
351
|
-
CategoryService.decorators = [
|
|
352
|
-
{ type: Injectable, args: [{
|
|
353
|
-
providedIn: 'root',
|
|
354
|
-
},] }
|
|
355
|
-
];
|
|
356
|
-
CategoryService.ctorParameters = () => [
|
|
357
|
-
{ type: LrApolloService },
|
|
358
|
-
{ type: KeyMetaService },
|
|
359
|
-
{ type: KeyGraphService }
|
|
360
|
-
];
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jYXRlZ29yeS9jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBRTFCLHdCQUF3QixFQUN4Qiw4QkFBOEIsRUFFOUIsY0FBYyxFQUNkLFlBQVksRUFDWiwwQkFBMEIsRUFDMUIsc0JBQXNCLEdBQ3ZCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBYXhCLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsUUFBeUIsRUFDekIsY0FBOEIsRUFDOUIsUUFBeUI7UUFGekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQ2hDLENBQUM7SUFFUyxtQkFBbUIsQ0FDOUIsUUFBK0IsSUFBSTs7WUFFbkMsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFD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bkI7OztZQXRDUSxlQUFlO1lBRWYsY0FBYztZQURkLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleU1ldGFTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1tZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGFzS2V5R3JhcGhFZGdlcyB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgUmVjb3JkQ29udGVudEZpbHRlciB9IGZyb20gJy4uL3JlY29yZC9yZWNvcmQuZ3FsJztcbmltcG9ydCB7IEtjQmFkU3RhdGVFeGNlcHRpb24gfSBmcm9tICcuLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHsgSGFzRWRnZXMgfSBmcm9tICcuLi9fY29tbW9uL3R5cGVzJztcbmltcG9ydCB7XG4gIEFyY2hpdmVEaXJlY3RvcnlNdXRhdGlvbixcbiAgQ2F0ZWdvcnlGaWx0ZXIsXG4gIENyZWF0ZUNhdGVnb3J5TXV0YXRpb24sXG4gIENyZWF0ZVZhdWx0TXV0YXRpb24sXG4gIERlZmF1bHRWYXVsdEZpbHRlcixcbiAgRGVsZXRlQ2F0ZWdvcnlNdXRhdGlvbixcbiAgRGlyZWN0b3J5VHlwZSxcbiAgR2V0Q2F0ZWdvcmllc1F1ZXJ5LFxuICBHZXRDYXRlZ29yeVF1ZXJ5LFxuICBHZXRNeVNoYXJlZENhdGVnb3JpZXNRdWVyeSxcbiAgR2V0TXlTaGFyZWRDYXRlZ29yaWVzUXVlcnlUeXBlLFxuICBHZXRSb290RGlyZWN0b3J5SWRzUXVlcnksXG4gIEdldFRydXN0ZWRQYXJ0eUNhdGVnb3JpZXNRdWVyeSxcbiAgR2V0VHJ1c3RlZFBhcnR5Q2F0ZWdvcmllc1F1ZXJ5VHlwZSxcbiAgR2V0VmF1bHRzUXVlcnksXG4gIFJlY29yZEZpbHRlcixcbiAgVW5hcmNoaXZlRGlyZWN0b3J5TXV0YXRpb24sXG4gIFVwZGF0ZUNhdGVnb3J5TXV0YXRpb24sXG59IGZyb20gJy4vY2F0ZWdvcnkuZ3FsJztcbmltcG9ydCB7XG4gIENhdGVnb3J5LFxuICBOZXdDYXRlZ29yeSxcbiAgVXBkYXRlZENhdGVnb3J5LFxuICBWYXVsdCxcbiAgVmF1bHRDYXRlZ29yeSxcbiAgVmF1bHRSZWNvcmQsXG59IGZyb20gJy4vY2F0ZWdvcnkudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5TWV0YVNlcnZpY2U6IEtleU1ldGFTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFJvb3REaXJlY3RvcnlJZHMoXG4gICAgaW5wdXQ6IHsgYXJjaGl2ZWQ6IGJvb2xlYW4gfSA9IG51bGxcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHsgcm9vdERpcmVjdG9yaWVzIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xuICAgICAgcXVlcnk6IEdldFJvb3REaXJlY3RvcnlJZHNRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBhcmNoaXZlZDogaW5wdXQgJiYgaW5wdXQuYXJjaGl2ZWQsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiByb290RGlyZWN0b3JpZXMuZWRnZXMubWFwKChlZGdlKSA9PiBlZGdlLm5vZGUuaWQpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldERlZmF1bHRWYXVsdCgpOiBQcm9taXNlPFZhdWx0PiB7XG4gICAgY29uc3QgeyBsaXN0IH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PEhhc0tleUdyYXBoRWRnZXM8YW55Pj4oe1xuICAgICAgcXVlcnk6IEdldFZhdWx0c1F1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHBsYWluTWV0YUZpbHRlcjogRGVmYXVsdFZhdWx0RmlsdGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRWYXVsdHMgPSBhd2FpdCB0aGlzLm1hcFZhdWx0cyhsaXN0KTtcbiAgICBpZiAoZGVmYXVsdFZhdWx0cy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgS2NCYWRTdGF0ZUV4Y2VwdGlvbignVGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgZGVmYXVsdCB2YXVsdHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhdWx0c1swXSB8fCBudWxsO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENhdGVnb3JpZXMoaW5wdXQ/OiB7XG4gICAgYXJjaGl2ZWQ/OiBib29sZWFuO1xuICAgIHZhdWx0RGlyZWN0b3J5SWQ/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPENhdGVnb3J5W10+IHtcbiAgICBjb25zdCB2YXVsdERpcmVjdG9yeUlkID1cbiAgICAgIGlucHV0Py52YXVsdERpcmVjdG9yeUlkIHx8IChhd2FpdCB0aGlzLmdldERlZmF1bHRWYXVsdCgpKT8uaWQ7XG5cbiAgICBpZiAoIXZhdWx0RGlyZWN0b3J5SWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIGlzIG5vIGRlZmF1bHQgdmF1bHQuJyk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgcmVzOiBhbnkgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5KHtcbiAgICAgIHF1ZXJ5OiBHZXRDYXRlZ29yaWVzUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgdmF1bHREaXJlY3RvcnlJZCxcbiAgICAgICAgY2F0ZWdvcnlGaWx0ZXI6IENhdGVnb3J5RmlsdGVyLFxuICAgICAgICByZWNvcmRGaWx0ZXI6IFJlY29yZEZpbHRlcixcbiAgICAgICAgYXJjaGl2ZWQ6IGlucHV0Py5hcmNoaXZlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5tYXBDYXRlZ29yaWVzKHJlcy5kaXJlY3RvcnkuY2hpbGREaXJlY3RvcnlMaW5rcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VHJ1c3RlZFBhcnR5Q2F0ZWdvcmllcyhcbiAgICB0cnVzdGVkUGFydHlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8eyBjYXRlZ29yaWVzOiBDYXRlZ29yeVtdOyByZWNvcmRzPzogVmF1bHRSZWNvcmRbXSB9PiB7XG4gICAgY29uc3QgeyB0cCB9ID1cbiAgICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8R2V0VHJ1c3RlZFBhcnR5Q2F0ZWdvcmllc1F1ZXJ5VHlwZT4oe1xuICAgICAgICBxdWVyeTogR2V0VHJ1c3RlZFBhcnR5Q2F0ZWdvcmllc1F1ZXJ5LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICB0cnVzdGVkUGFydHlJZCxcbiAgICAgICAgICBjYXRlZ29yeUZpbHRlcjogQ2F0ZWdvcnlGaWx0ZXIsXG4gICAgICAgICAgcmVjb3JkRmlsdGVyOiBSZWNvcmRGaWx0ZXIsXG4gICAgICAgICAgY29udGVudEZpbHRlcjogUmVjb3JkQ29udGVudEZpbHRlcixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yaWVzOiBhd2FpdCB0aGlzLm1hcENhdGVnb3JpZXModHAudGhlaXJJdGVtcy5saXN0KSxcbiAgICAgIHJlY29yZHM6IGF3YWl0IHRoaXMubWFwUmVjb3Jkcyh0cC50aGVpckl0ZW1zLnJlY29yZHMpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0TXlTaGFyZWRDYXRlZ29yaWVzKFxuICAgIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx7IGNhdGVnb3JpZXM6IENhdGVnb3J5W107IHJlY29yZHM/OiBWYXVsdFJlY29yZFtdIH0+IHtcbiAgICBjb25zdCB7IHRwIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PEdldE15U2hhcmVkQ2F0ZWdvcmllc1F1ZXJ5VHlwZT4oe1xuICAgICAgcXVlcnk6IEdldE15U2hhcmVkQ2F0ZWdvcmllc1F1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIHRydXN0ZWRQYXJ0eUlkLFxuICAgICAgICBjYXRlZ29yeUZpbHRlcjogQ2F0ZWdvcnlGaWx0ZXIsXG4gICAgICAgIHJlY29yZEZpbHRlcjogUmVjb3JkRmlsdGVyLFxuICAgICAgICBjb250ZW50RmlsdGVyOiBSZWNvcmRDb250ZW50RmlsdGVyLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgY2F0ZWdvcmllczogYXdhaXQgdGhpcy5tYXBDYXRlZ29yaWVzKHRwLm15SXRlbXMubGlzdCksXG4gICAgICByZWNvcmRzOiBhd2FpdCB0aGlzLm1hcFJlY29yZHModHAubXlJdGVtcy5yZWNvcmRzKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENhdGVnb3J5KGNhdGVnb3J5SWQ6IHN0cmluZyk6IFByb21pc2U8VmF1bHRDYXRlZ29yeT4ge1xuICAgIGNvbnN0IHsgY2F0ZWdvcnkgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogR2V0Q2F0ZWdvcnlRdWVyeSgpLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlkOiBjYXRlZ29yeUlkLFxuICAgICAgICBjYXRlZ29yeUZpbHRlcjogQ2F0ZWdvcnlGaWx0ZXIsXG4gICAgICAgIHJlY29yZEZpbHRlcjogUmVjb3JkRmlsdGVyLFxuICAgICAgICBjb250ZW50RmlsdGVyOiBSZWNvcmRDb250ZW50RmlsdGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjYXRlZ29yeToge1xuICAgICAgICAuLi4oYXdhaXQgdGhpcy5tYXBDYXRlZ29yeShjYXRlZ29yeSkpLFxuICAgICAgICBwYXJlbnRzOiBhd2FpdCB0aGlzLm1hcFBhcmVudENhdGVnb3JpZXMoY2F0ZWdvcnkpLFxuICAgICAgfSxcbiAgICAgIHN1YkNhdGVnb3JpZXM6IGF3YWl0IHRoaXMubWFwQ2F0ZWdvcmllcyhjYXRlZ29yeS5zdWJDYXRlZ29yaWVzKSxcbiAgICAgIHJlY29yZHM6IGF3YWl0IHRoaXMubWFwUmVjb3JkcyhjYXRlZ29yeS5yZWNvcmRzKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBtYXBWYXVsdHMobGlzdDogSGFzRWRnZXM8YW55Pik6IFByb21pc2U8VmF1bHRbXT4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbDxWYXVsdD4oXG4gICAgICBsaXN0LmVkZ2VzLm1hcCgoZWRnZSkgPT4gdGhpcy5tYXBWYXVsdChlZGdlLm5vZGUpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1hcENhdGVnb3JpZXMobGlzdDogSGFzRWRnZXM8YW55Pikge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbDxDYXRlZ29yeT4oXG4gICAgICAgIGxpc3QuZWRnZXNcbiAgICAgICAgICAubWFwKCh4KSA9PiB4Lm5vZGUpXG4gICAgICAgICAgLm1hcCgoeCkgPT4geC5jaGlsZERpcmVjdG9yeSB8fCB4KVxuICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAobm9kZToge1xuICAgICAgICAgICAgICBpZDtcbiAgICAgICAgICAgICAga2V5SWQ7XG4gICAgICAgICAgICAgIHBsYWluTWV0YTtcbiAgICAgICAgICAgICAgY2lwaGVyTWV0YTtcbiAgICAgICAgICAgICAgZGVzY2VuZGFudERpcmVjdG9yaWVzO1xuICAgICAgICAgICAgICBhcmNoaXZlZDtcbiAgICAgICAgICAgIH0pID0+IHRoaXMubWFwQ2F0ZWdvcnkobm9kZSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICAgICAgLmZpbHRlcigoeCkgPT4geClcbiAgICAgIC5zb3J0KCh4LCB5KSA9PiAoeC5uYW1lID09PSB5Lm5hbWUgPyAwIDogeC5uYW1lID4geS5uYW1lID8gMSA6IC0xKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1hcFJlY29yZHMobGlzdDogSGFzRWRnZXM8YW55Pikge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbDxWYXVsdFJlY29yZD4oXG4gICAgICAgIGxpc3QuZWRnZXNcbiAgICAgICAgICAubWFwKCh4KSA9PiB4Lm5vZGUpXG4gICAgICAgICAgLm1hcCgoeCkgPT4geC5jaGlsZERpcmVjdG9yeSB8fCB4KVxuICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAobm9kZToge1xuICAgICAgICAgICAgICBpZDtcbiAgICAgICAgICAgICAga2V5SWQ7XG4gICAgICAgICAgICAgIHBsYWluTWV0YTtcbiAgICAgICAgICAgICAgY2lwaGVyTWV0YTtcbiAgICAgICAgICAgICAgY3JlYXRlZDtcbiAgICAgICAgICAgICAgbW9kaWZpZWQ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ7XG4gICAgICAgICAgICAgIGFyY2hpdmVkO1xuICAgICAgICAgICAgfSkgPT4gdGhpcy5tYXBSZWNvcmQobm9kZSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICAgICAgLmZpbHRlcigoeCkgPT4geClcbiAgICAgIC5zb3J0KCh4LCB5KSA9PiAoeC5uYW1lID09PSB5Lm5hbWUgPyAwIDogeC5uYW1lID4geS5uYW1lID8gMSA6IC0xKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlRGVmYXVsdFZhdWx0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc2VjdXJlQ29udGVudCA9ICcnO1xuICAgIGNvbnN0IHdyYXBwZWRDb250ZW50ID0gYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS53cmFwQ29udGVudChzZWN1cmVDb250ZW50KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XG4gICAgICBtdXRhdGlvbjogQ3JlYXRlVmF1bHRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBwbGFpbk1ldGE6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkaXJlY3RvcnlUeXBlOiBEaXJlY3RvcnlUeXBlLlZhdWx0LFxuICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBjaXBoZXJNZXRhOiB3cmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxuICAgICAgICBwYXJlbnRSb290RGlyZWN0b3J5OiB3cmFwcGVkQ29udGVudC5yb290S2V5LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXNwb25zZS5uZXcudmF1bHQuaWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlQ2F0ZWdvcnkobmV3Q2F0ZWdvcnk6IE5ld0NhdGVnb3J5KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzZWN1cmVDb250ZW50ID0ge1xuICAgICAgbmFtZTogbmV3Q2F0ZWdvcnkubmFtZSxcbiAgICAgIGNvZGU6IG5ld0NhdGVnb3J5LmNvZGUsXG4gICAgICBpc0N1c3RvbTogbmV3Q2F0ZWdvcnkuaXNDdXN0b20sXG4gICAgICBhbGxvd1JlY29yZHM6IG5ld0NhdGVnb3J5LmFsbG93UmVjb3JkcyxcbiAgICAgIGFsbG93Q3VzdG9tQ2F0ZWdvcmllczogbmV3Q2F0ZWdvcnkuYWxsb3dDdXN0b21DYXRlZ29yaWVzLFxuICAgIH07XG4gICAgY29uc3Qgd3JhcHBlZENvbnRlbnQgPSBhd2FpdCB0aGlzLmtleU1ldGFTZXJ2aWNlLndyYXBDb250ZW50KFxuICAgICAgc2VjdXJlQ29udGVudCxcbiAgICAgIG5ld0NhdGVnb3J5LmNhdGVnb3J5SWRzXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XG4gICAgICBtdXRhdGlvbjogQ3JlYXRlQ2F0ZWdvcnlNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBwbGFpbk1ldGE6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkaXJlY3RvcnlUeXBlOiBEaXJlY3RvcnlUeXBlLkNhdGVnb3J5LFxuICAgICAgICAgIGlzSGlkZGVuOiBmYWxzZSxcbiAgICAgICAgfSksXG4gICAgICAgIGNpcGhlck1ldGE6IHdyYXBwZWRDb250ZW50LmNpcGhlck1ldGEsXG4gICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiB3cmFwcGVkQ29udGVudC53cmFwcGVkS2V5cyxcbiAgICAgICAgcGFyZW50Um9vdERpcmVjdG9yeTogd3JhcHBlZENvbnRlbnQucm9vdEtleSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzcG9uc2UubmV3LmNhdGVnb3J5LmlkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwZGF0ZUNhdGVnb3J5KFxuICAgIGNhdGVnb3J5SWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nLFxuICAgIHVwZGF0ZWRDYXRlZ29yeTogVXBkYXRlZENhdGVnb3J5XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlY3VyZUNvbnRlbnQgPSB7XG4gICAgICBuYW1lOiB1cGRhdGVkQ2F0ZWdvcnkubmFtZSxcbiAgICAgIGNvZGU6IHVwZGF0ZWRDYXRlZ29yeS5jb2RlLFxuICAgICAgaXNDdXN0b206IHVwZGF0ZWRDYXRlZ29yeS5pc0N1c3RvbSxcbiAgICAgIGFsbG93UmVjb3JkczogdXBkYXRlZENhdGVnb3J5LmFsbG93UmVjb3JkcyxcbiAgICAgIGFsbG93Q3VzdG9tQ2F0ZWdvcmllczogdXBkYXRlZENhdGVnb3J5LmFsbG93Q3VzdG9tQ2F0ZWdvcmllcyxcbiAgICB9O1xuXG4gICAgY29uc3QgY2lwaGVyTWV0YSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAga2V5SWQsXG4gICAgICBzZWN1cmVDb250ZW50XG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVDYXRlZ29yeU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgZGlyZWN0b3J5SWQ6IGNhdGVnb3J5SWQsXG4gICAgICAgICAgY2lwaGVyTWV0YSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2V0Q2F0ZWdvcnlWaXNpYmlsaXR5KFxuICAgIGNhdGVnb3J5SWQ6IHN0cmluZyxcbiAgICBoaWRlOiBib29sZWFuXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVDYXRlZ29yeU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgZGlyZWN0b3J5SWQ6IGNhdGVnb3J5SWQsXG4gICAgICAgICAgcGxhaW5NZXRhOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBkaXJlY3RvcnlUeXBlOiBEaXJlY3RvcnlUeXBlLkNhdGVnb3J5LFxuICAgICAgICAgICAgaXNIaWRkZW46IGhpZGUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlbGV0ZUNhdGVnb3J5KGNhdGVnb3J5SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVDYXRlZ29yeU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7IGNhdGVnb3J5SWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhcmNoaXZlQ2F0ZWdvcnkoXG4gICAgY2F0ZWdvcnlJZDogc3RyaW5nLFxuICAgIHJlY3Vyc2l2ZTogYm9vbGVhblxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hcmNoaXZlRGlyZWN0b3J5KGNhdGVnb3J5SWQsIHJlY3Vyc2l2ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdW5hcmNoaXZlQ2F0ZWdvcnkoXG4gICAgY2F0ZWdvcnlJZDogc3RyaW5nLFxuICAgIHJlY3Vyc2l2ZTogYm9vbGVhblxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy51bmFyY2hpdmVEaXJlY3RvcnkoY2F0ZWdvcnlJZCwgcmVjdXJzaXZlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhcmNoaXZlRGlyZWN0b3J5KFxuICAgIGRpcmVjdG9yeUlkOiBzdHJpbmcsXG4gICAgcmVjdXJzaXZlOiBib29sZWFuXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlKHtcbiAgICAgIG11dGF0aW9uOiBBcmNoaXZlRGlyZWN0b3J5TXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBkaXJlY3RvcnlJZCxcbiAgICAgICAgICByZWN1cnNpdmUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVuYXJjaGl2ZURpcmVjdG9yeShcbiAgICBkaXJlY3RvcnlJZDogc3RyaW5nLFxuICAgIHJlY3Vyc2l2ZTogYm9vbGVhblxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XG4gICAgICBtdXRhdGlvbjogVW5hcmNoaXZlRGlyZWN0b3J5TXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBkaXJlY3RvcnlJZCxcbiAgICAgICAgICByZWN1cnNpdmUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG1hcFZhdWx0KG5vZGU6IHtcbiAgICBpZDtcbiAgICBrZXlJZDtcbiAgICBwbGFpbk1ldGE7XG4gICAgY2lwaGVyTWV0YTtcbiAgfSk6IFByb21pc2U8VmF1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSAoYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS5kZWNyeXB0TWV0YShub2RlKSkgfHwge307XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogbm9kZS5pZCxcbiAgICAgICAga2V5SWQ6IG5vZGUua2V5SWQsXG4gICAgICAgIG5hbWUsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWNyeXB0IFZhdWx0LicsIGUsIG5vZGUpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIG1hcFBhcmVudENhdGVnb3JpZXMoY2F0ZWdvcnk6IHtcbiAgICBwYXJlbnRDYXRlZ29yaWVzOiBhbnk7XG4gIH0pOiBQcm9taXNlPENhdGVnb3J5W10+IHtcbiAgICBpZiAoXG4gICAgICAhY2F0ZWdvcnkucGFyZW50Q2F0ZWdvcmllcyB8fFxuICAgICAgIWNhdGVnb3J5LnBhcmVudENhdGVnb3JpZXMuZWRnZXMgfHxcbiAgICAgICFjYXRlZ29yeS5wYXJlbnRDYXRlZ29yaWVzLmVkZ2VzLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBub2RlID0gY2F0ZWdvcnkucGFyZW50Q2F0ZWdvcmllcy5lZGdlc1swXS5ub2RlLnBhcmVudERpcmVjdG9yeTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oYXdhaXQgdGhpcy5tYXBQYXJlbnRDYXRlZ29yaWVzKG5vZGUpKSxcbiAgICAgIGF3YWl0IHRoaXMubWFwQ2F0ZWdvcnkobm9kZSksXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBtYXBDYXRlZ29yeShub2RlOiB7XG4gICAgaWQ7XG4gICAga2V5SWQ7XG4gICAgcGxhaW5NZXRhO1xuICAgIGNpcGhlck1ldGE7XG4gICAgZGVzY2VuZGFudERpcmVjdG9yaWVzO1xuICAgIGFyY2hpdmVkO1xuICB9KTogUHJvbWlzZTxDYXRlZ29yeT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGlzQ3VzdG9tLCBhbGxvd1JlY29yZHMsIGFsbG93Q3VzdG9tQ2F0ZWdvcmllcywgY29kZSB9ID1cbiAgICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEobm9kZSkpIHx8IHt9O1xuICAgICAgY29uc3QgeyBpc0hpZGRlbiB9ID0gKG5vZGUucGxhaW5NZXRhICYmIEpTT04ucGFyc2Uobm9kZS5wbGFpbk1ldGEpKSB8fCB7fTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgIGtleUlkOiBub2RlLmtleUlkLFxuICAgICAgICBjb2RlLFxuICAgICAgICBuYW1lLFxuICAgICAgICBpc0hpZGRlbjogISFpc0hpZGRlbixcbiAgICAgICAgaXNDdXN0b206ICEhaXNDdXN0b20sXG4gICAgICAgIGlzQXJjaGl2ZWQ6ICEhbm9kZS5hcmNoaXZlZCxcbiAgICAgICAgYWxsb3dSZWNvcmRzOiAhIWFsbG93UmVjb3JkcyxcbiAgICAgICAgYWxsb3dDdXN0b21DYXRlZ29yaWVzOiAhIWFsbG93Q3VzdG9tQ2F0ZWdvcmllcyxcbiAgICAgICAgaXNFbXB0eTogbm9kZS5kZXNjZW5kYW50RGlyZWN0b3JpZXNcbiAgICAgICAgICA/IG5vZGUuZGVzY2VuZGFudERpcmVjdG9yaWVzLnJlY29yZHNDb3VudCA9PT0gMFxuICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgYWxsUmVjb3Jkc0NvdW50OiBub2RlLmRlc2NlbmRhbnREaXJlY3Rvcmllcz8ucmVjb3Jkc0NvdW50LCAvLyBOZWVkIHRoaXMgZm9yIHRlc3RpbmcuXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWNyeXB0IENhdGVnb3J5LicsIGUsIG5vZGUpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIG1hcFJlY29yZChub2RlOiB7XG4gICAgaWQ7XG4gICAga2V5SWQ7XG4gICAgcGxhaW5NZXRhO1xuICAgIGNpcGhlck1ldGE7XG4gICAgY3JlYXRlZDtcbiAgICBtb2RpZmllZDtcbiAgICBjb250ZW50O1xuICAgIGFyY2hpdmVkO1xuICB9KTogUHJvbWlzZTxWYXVsdFJlY29yZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb250ZW50cyA9IG5vZGUuY29udGVudC5lZGdlc1swXS5ub2RlLmNoaWxkRmlsZTtcbiAgICAgIGNvbnN0IHsgbmFtZSwgcmVjb3JkVHlwZSB9ID1cbiAgICAgICAgKGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2UuZGVjcnlwdE1ldGEoXG4gICAgICAgICAgY29udGVudHMuY3VycmVudFZlcnNpb24uc3RhdGVcbiAgICAgICAgKSkgfHwge307XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICBrZXlJZDogbm9kZS5rZXlJZCxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcmVjb3JkVHlwZSxcbiAgICAgICAgaXNBcmNoaXZlZDogISFub2RlLmFyY2hpdmVkLFxuICAgICAgICBjcmVhdGVkT246IG5vZGUuY3JlYXRlZCxcbiAgICAgICAgbGFzdE1vZGlmaWVkOlxuICAgICAgICAgIG5ldyBEYXRlKG5vZGUubW9kaWZpZWQpID5cbiAgICAgICAgICBuZXcgRGF0ZShjb250ZW50cy5jdXJyZW50VmVyc2lvbi5zdGF0ZS5tb2RpZmllZClcbiAgICAgICAgICAgID8gbm9kZS5tb2RpZmllZFxuICAgICAgICAgICAgOiBjb250ZW50cy5jdXJyZW50VmVyc2lvbi5zdGF0ZS5tb2RpZmllZCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGRlY3J5cHQgUmVjb3JkLicsIGUpO1xuICAgICAgcmV0dXJuIG51bGwgYXMgVmF1bHRSZWNvcmQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export var AccessLevel;
|
|
2
|
-
(function (AccessLevel) {
|
|
3
|
-
AccessLevel["Owner"] = "OWNER";
|
|
4
|
-
AccessLevel["Admin"] = "ADMIN";
|
|
5
|
-
AccessLevel["Writer"] = "WRITER";
|
|
6
|
-
AccessLevel["Reader"] = "READER";
|
|
7
|
-
AccessLevel["Deny"] = "DENY";
|
|
8
|
-
})(AccessLevel || (AccessLevel = {}));
|
|
9
|
-
export class SharedAccess {
|
|
10
|
-
}
|
|
11
|
-
export class DefaultCategory {
|
|
12
|
-
}
|
|
13
|
-
export class VaultRecordType {
|
|
14
|
-
}
|
|
15
|
-
export class VaultRecord {
|
|
16
|
-
}
|
|
17
|
-
export class Category {
|
|
18
|
-
}
|
|
19
|
-
export class CurrentCategory extends Category {
|
|
20
|
-
}
|
|
21
|
-
export class VaultCategory {
|
|
22
|
-
}
|
|
23
|
-
export class NewCategory {
|
|
24
|
-
}
|
|
25
|
-
export class UpdatedCategory {
|
|
26
|
-
}
|
|
27
|
-
export class Vault {
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY2F0ZWdvcnkvY2F0ZWdvcnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsOEJBQWUsQ0FBQTtJQUNmLGdDQUFpQixDQUFBO0lBQ2pCLGdDQUFpQixDQUFBO0lBQ2pCLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUt4QjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBTzNCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FHM0I7QUFFRCxNQUFNLE9BQU8sV0FBVztDQVF2QjtBQUVELE1BQU0sT0FBTyxRQUFRO0NBWXBCO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsUUFBUTtDQUU1QztBQUVELE1BQU0sT0FBTyxhQUFhO0NBSXpCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FPdkI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQU0zQjtBQUVELE1BQU0sT0FBTyxLQUFLO0NBSWpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQWNjZXNzTGV2ZWwge1xuICBPd25lciA9ICdPV05FUicsXG4gIEFkbWluID0gJ0FETUlOJyxcbiAgV3JpdGVyID0gJ1dSSVRFUicsXG4gIFJlYWRlciA9ICdSRUFERVInLFxuICBEZW55ID0gJ0RFTlknLFxufVxuXG5leHBvcnQgY2xhc3MgU2hhcmVkQWNjZXNzIHtcbiAgdHJ1c3RlZFBhcnR5SWQ6IHN0cmluZztcbiAgYWNjZXNzTGV2ZWw6IEFjY2Vzc0xldmVsO1xuICBpc0luaGVyaXRlZDogYm9vbGVhbjtcbiAgaW5oZXJpdGVkRnJvbT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERlZmF1bHRDYXRlZ29yeSB7XG4gIGNvZGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBhbGxvd1JlY29yZHM6IGJvb2xlYW47XG4gIGFsbG93Q3VzdG9tQ2F0ZWdvcmllczogYm9vbGVhbjtcbiAgYXJjaGl2ZWQ6IGJvb2xlYW47XG4gIHN1YkNhdGVnb3JpZXM/OiBEZWZhdWx0Q2F0ZWdvcnlbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFZhdWx0UmVjb3JkVHlwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFZhdWx0UmVjb3JkIHtcbiAgaWQ6IHN0cmluZztcbiAga2V5SWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICByZWNvcmRUeXBlOiBWYXVsdFJlY29yZFR5cGU7XG4gIGNyZWF0ZWRPbjogc3RyaW5nIHwgRGF0ZTtcbiAgbGFzdE1vZGlmaWVkOiBzdHJpbmcgfCBEYXRlO1xuICBpc0FyY2hpdmVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkge1xuICBpZDogc3RyaW5nO1xuICBrZXlJZDogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGlzSGlkZGVuOiBib29sZWFuO1xuICBpc0N1c3RvbTogYm9vbGVhbjtcbiAgaXNFbXB0eTogYm9vbGVhbjtcbiAgaXNBcmNoaXZlZDogYm9vbGVhbjtcbiAgYWxsUmVjb3Jkc0NvdW50OiBudW1iZXI7XG4gIGFsbG93UmVjb3JkczogYm9vbGVhbjtcbiAgYWxsb3dDdXN0b21DYXRlZ29yaWVzOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQ3VycmVudENhdGVnb3J5IGV4dGVuZHMgQ2F0ZWdvcnkge1xuICBwYXJlbnRzOiBDYXRlZ29yeVtdO1xufVxuXG5leHBvcnQgY2xhc3MgVmF1bHRDYXRlZ29yeSB7XG4gIGNhdGVnb3J5PzogQ3VycmVudENhdGVnb3J5O1xuICBzdWJDYXRlZ29yaWVzPzogQ2F0ZWdvcnlbXTtcbiAgcmVjb3Jkcz86IFZhdWx0UmVjb3JkW107XG59XG5cbmV4cG9ydCBjbGFzcyBOZXdDYXRlZ29yeSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbiAgaXNDdXN0b206IGJvb2xlYW47XG4gIGFsbG93UmVjb3JkczogYm9vbGVhbjtcbiAgYWxsb3dDdXN0b21DYXRlZ29yaWVzOiBib29sZWFuO1xuICBjYXRlZ29yeUlkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlZENhdGVnb3J5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICBpc0N1c3RvbTogYm9vbGVhbjtcbiAgYWxsb3dSZWNvcmRzOiBib29sZWFuO1xuICBhbGxvd0N1c3RvbUNhdGVnb3JpZXM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdCB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import gql from 'graphql-tag';
|
|
2
|
-
import { FetchKeyGraphField, KeyGraphFragment } from '../_common/queries.gql';
|
|
3
|
-
export const KeyExchangeFields = `
|
|
4
|
-
id
|
|
5
|
-
token
|
|
6
|
-
state
|
|
7
|
-
mode
|
|
8
|
-
isInitiator
|
|
9
|
-
initiator {
|
|
10
|
-
id
|
|
11
|
-
username
|
|
12
|
-
}
|
|
13
|
-
responder {
|
|
14
|
-
id
|
|
15
|
-
username
|
|
16
|
-
}
|
|
17
|
-
created
|
|
18
|
-
modified
|
|
19
|
-
tokenExpiryTime
|
|
20
|
-
isExpired
|
|
21
|
-
initiatorRootKeyCipher
|
|
22
|
-
initiatorActionRequired
|
|
23
|
-
responderActionRequired
|
|
24
|
-
responderEmailAddress
|
|
25
|
-
otk {
|
|
26
|
-
state
|
|
27
|
-
otKeyParams
|
|
28
|
-
otKeyCipher
|
|
29
|
-
sharedKey {
|
|
30
|
-
id
|
|
31
|
-
}
|
|
32
|
-
mkSharedKey {
|
|
33
|
-
id
|
|
34
|
-
}
|
|
35
|
-
initiatorSigPxk {
|
|
36
|
-
id
|
|
37
|
-
}
|
|
38
|
-
responderSigPxk {
|
|
39
|
-
id
|
|
40
|
-
}
|
|
41
|
-
initiatorOneTimePbkCipher
|
|
42
|
-
responderPbkCipher
|
|
43
|
-
}`;
|
|
44
|
-
export const UserSharedKeyFields = `
|
|
45
|
-
userSigPrk {
|
|
46
|
-
id
|
|
47
|
-
}
|
|
48
|
-
otherSigPbk {
|
|
49
|
-
id
|
|
50
|
-
}
|
|
51
|
-
sharedKey {
|
|
52
|
-
id
|
|
53
|
-
}
|
|
54
|
-
mkSharedKey {
|
|
55
|
-
id
|
|
56
|
-
}
|
|
57
|
-
mkPxk {
|
|
58
|
-
id
|
|
59
|
-
pbk
|
|
60
|
-
}
|
|
61
|
-
mkReshareRequestCipher
|
|
62
|
-
mkReshareResponseCipher
|
|
63
|
-
mkReshareRequestSent
|
|
64
|
-
mkReshareResponseSent
|
|
65
|
-
`;
|
|
66
|
-
export const CurrentUserSharedKeyQuery = gql `
|
|
67
|
-
query CurrentUserSharedKeyQuery(
|
|
68
|
-
$username: String
|
|
69
|
-
$userId: LrRelayIdInput
|
|
70
|
-
$cachedKeyIds: [LrRelayIdInput!]
|
|
71
|
-
) {
|
|
72
|
-
currentUserSharedKey(
|
|
73
|
-
username: $username
|
|
74
|
-
userId: $userId
|
|
75
|
-
) {
|
|
76
|
-
userSharedKey {
|
|
77
|
-
${UserSharedKeyFields}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
keyGraph(cachedKeyIds: $cachedKeyIds) {
|
|
81
|
-
...KeyGraphFragment
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
${KeyGraphFragment}`;
|
|
85
|
-
export const KeyExchangesQuery = gql `
|
|
86
|
-
query KeyExchangeQuery(
|
|
87
|
-
$orderBy: String
|
|
88
|
-
$isExpired: Boolean
|
|
89
|
-
$initiatorActionRequired: Boolean
|
|
90
|
-
$responderActionRequired: Boolean
|
|
91
|
-
$initiator: ID
|
|
92
|
-
$responder: ID
|
|
93
|
-
$state: String
|
|
94
|
-
) {
|
|
95
|
-
keyExchanges(
|
|
96
|
-
orderBy: $orderBy
|
|
97
|
-
isExpired: $isExpired
|
|
98
|
-
initiatorActionRequired: $initiatorActionRequired
|
|
99
|
-
responderActionRequired: $responderActionRequired
|
|
100
|
-
initiator: $initiator
|
|
101
|
-
responder: $responder
|
|
102
|
-
state: $state
|
|
103
|
-
) {
|
|
104
|
-
edges {
|
|
105
|
-
node {
|
|
106
|
-
${KeyExchangeFields}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
keyGraph {
|
|
111
|
-
...KeyGraphFragment
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
${KeyGraphFragment}
|
|
115
|
-
`;
|
|
116
|
-
export const KeyExchangeQuery = gql `
|
|
117
|
-
query KeyExchangeQuery(
|
|
118
|
-
$id: LrRelayIdInput!
|
|
119
|
-
) {
|
|
120
|
-
keyExchange(
|
|
121
|
-
id: $id
|
|
122
|
-
) {
|
|
123
|
-
${KeyExchangeFields}
|
|
124
|
-
}
|
|
125
|
-
keyGraph {
|
|
126
|
-
...KeyGraphFragment
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
${KeyGraphFragment}
|
|
130
|
-
`;
|
|
131
|
-
// Key graph is only available for authenticated users. This query
|
|
132
|
-
// is for unauthenticated users.
|
|
133
|
-
export const KeyExchangeTokenQuery = gql `
|
|
134
|
-
query KeyExchangeQuery(
|
|
135
|
-
$id: LrRelayIdInput!
|
|
136
|
-
$token: String
|
|
137
|
-
) {
|
|
138
|
-
keyExchange(
|
|
139
|
-
id: $id
|
|
140
|
-
token: $token
|
|
141
|
-
) {
|
|
142
|
-
${KeyExchangeFields}
|
|
143
|
-
}
|
|
144
|
-
}`;
|
|
145
|
-
export const InitiateOtkMutation = gql `
|
|
146
|
-
mutation InitiateKeyExchangeOtk(
|
|
147
|
-
$input: InitiateKeyExchangeOtkInput!
|
|
148
|
-
) {
|
|
149
|
-
initiateKeyExchangeOtk(input: $input) {
|
|
150
|
-
keyExchange {
|
|
151
|
-
${KeyExchangeFields}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
${FetchKeyGraphField}
|
|
155
|
-
}`;
|
|
156
|
-
export const RespondOtkMutation = gql `
|
|
157
|
-
mutation RespondKeyExchangeOtk(
|
|
158
|
-
$input: RespondKeyExchangeOtkInput!
|
|
159
|
-
) {
|
|
160
|
-
respondKeyExchangeOtk(input: $input) {
|
|
161
|
-
keyExchange {
|
|
162
|
-
${KeyExchangeFields}
|
|
163
|
-
}
|
|
164
|
-
userSharedKey {
|
|
165
|
-
${UserSharedKeyFields}
|
|
166
|
-
}
|
|
167
|
-
tp {
|
|
168
|
-
id
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}`;
|
|
172
|
-
export const CompleteOtkMutation = gql `
|
|
173
|
-
mutation CompleteKeyExchangeOtk(
|
|
174
|
-
$input: CompleteKeyExchangeOtkInput!
|
|
175
|
-
) {
|
|
176
|
-
completeKeyExchangeOtk(input: $input) {
|
|
177
|
-
keyExchange {
|
|
178
|
-
${KeyExchangeFields}
|
|
179
|
-
}
|
|
180
|
-
userSharedKey {
|
|
181
|
-
${UserSharedKeyFields}
|
|
182
|
-
}
|
|
183
|
-
tp {
|
|
184
|
-
id
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}`;
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlLmdxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9rZXktZXhjaGFuZ2Uva2V5LWV4Y2hhbmdlLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qy9CLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztRQVdwQyxtQkFBbUI7Ozs7Ozs7RUFPekIsZ0JBQWdCLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXFCNUIsaUJBQWlCOzs7Ozs7OztFQVF2QixnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU83QixpQkFBaUI7Ozs7OztFQU1yQixnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLGtFQUFrRTtBQUNsRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7TUFTbEMsaUJBQWlCOztFQUVyQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNaEMsaUJBQWlCOzs7RUFHckIsa0JBQWtCO0VBQ2xCLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7OztRQU03QixpQkFBaUI7OztRQUdqQixtQkFBbUI7Ozs7OztFQU16QixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNOUIsaUJBQWlCOzs7UUFHakIsbUJBQW1COzs7Ozs7RUFNekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0IHsgRmV0Y2hLZXlHcmFwaEZpZWxkLCBLZXlHcmFwaEZyYWdtZW50IH0gZnJvbSAnLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XG5cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZUZpZWxkcyA9IGBcbiAgaWRcbiAgdG9rZW5cbiAgc3RhdGVcbiAgbW9kZVxuICBpc0luaXRpYXRvclxuICBpbml0aWF0b3Ige1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICByZXNwb25kZXIge1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICBjcmVhdGVkXG4gIG1vZGlmaWVkXG4gIHRva2VuRXhwaXJ5VGltZVxuICBpc0V4cGlyZWRcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlclxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJFbWFpbEFkZHJlc3NcbiAgb3RrIHtcbiAgICBzdGF0ZVxuICAgIG90S2V5UGFyYW1zXG4gICAgb3RLZXlDaXBoZXJcbiAgICBzaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgbWtTaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgaW5pdGlhdG9yU2lnUHhrIHtcbiAgICAgIGlkXG4gICAgfVxuICAgIHJlc3BvbmRlclNpZ1B4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyXG4gICAgcmVzcG9uZGVyUGJrQ2lwaGVyXG59YDtcblxuZXhwb3J0IGNvbnN0IFVzZXJTaGFyZWRLZXlGaWVsZHMgPSBgXG4gIHVzZXJTaWdQcmsge1xuICAgIGlkXG4gIH1cbiAgb3RoZXJTaWdQYmsge1xuICAgIGlkXG4gIH1cbiAgc2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG4gIG1rU2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG4gIG1rUHhrIHtcbiAgICBpZFxuICAgIHBia1xuICB9XG4gIG1rUmVzaGFyZVJlcXVlc3RDaXBoZXJcbiAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgbWtSZXNoYXJlUmVxdWVzdFNlbnRcbiAgbWtSZXNoYXJlUmVzcG9uc2VTZW50XG5gO1xuXG5leHBvcnQgY29uc3QgQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeSA9IGdxbGBcbnF1ZXJ5IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkoXG4gICR1c2VybmFtZTogU3RyaW5nXG4gICR1c2VySWQ6IExyUmVsYXlJZElucHV0XG4gICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdXG4pIHtcbiAgY3VycmVudFVzZXJTaGFyZWRLZXkoXG4gICAgdXNlcm5hbWU6ICR1c2VybmFtZVxuICAgIHVzZXJJZDogJHVzZXJJZFxuICApIHtcbiAgICB1c2VyU2hhcmVkS2V5IHtcbiAgICAgICR7VXNlclNoYXJlZEtleUZpZWxkc31cbiAgICB9XG4gIH1cbiAga2V5R3JhcGgoY2FjaGVkS2V5SWRzOiAkY2FjaGVkS2V5SWRzKSB7XG4gICAgLi4uS2V5R3JhcGhGcmFnbWVudFxuICB9XG59XG4ke0tleUdyYXBoRnJhZ21lbnR9YDtcblxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlc1F1ZXJ5ID0gZ3FsYFxucXVlcnkgS2V5RXhjaGFuZ2VRdWVyeShcbiRvcmRlckJ5OiBTdHJpbmdcbiRpc0V4cGlyZWQ6IEJvb2xlYW5cbiRpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogQm9vbGVhblxuJHJlc3BvbmRlckFjdGlvblJlcXVpcmVkOiBCb29sZWFuXG4kaW5pdGlhdG9yOiBJRFxuJHJlc3BvbmRlcjogSURcbiRzdGF0ZTogU3RyaW5nXG4pIHtcbmtleUV4Y2hhbmdlcyhcbiAgb3JkZXJCeTogJG9yZGVyQnlcbiAgaXNFeHBpcmVkOiAkaXNFeHBpcmVkXG4gIGluaXRpYXRvckFjdGlvblJlcXVpcmVkOiAkaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWRcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWQ6ICRyZXNwb25kZXJBY3Rpb25SZXF1aXJlZFxuICBpbml0aWF0b3I6ICRpbml0aWF0b3JcbiAgcmVzcG9uZGVyOiAkcmVzcG9uZGVyXG4gIHN0YXRlOiAkc3RhdGVcbikge1xuICBlZGdlcyB7XG4gICAgbm9kZSB7XG4gICAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICAgIH1cbiAgfVxufVxua2V5R3JhcGgge1xuICAuLi5LZXlHcmFwaEZyYWdtZW50XG59XG59XG4ke0tleUdyYXBoRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VRdWVyeSA9IGdxbGBcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXG4gICRpZDogTHJSZWxheUlkSW5wdXQhXG4pIHtcbiAga2V5RXhjaGFuZ2UoXG4gICAgaWQ6ICRpZFxuICApIHtcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICB9XG4gIGtleUdyYXBoIHtcbiAgICAuLi5LZXlHcmFwaEZyYWdtZW50XG4gIH1cbn1cbiR7S2V5R3JhcGhGcmFnbWVudH1cbmA7XG5cbi8vIEtleSBncmFwaCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4gVGhpcyBxdWVyeVxuLy8gaXMgZm9yIHVuYXV0aGVudGljYXRlZCB1c2Vycy5cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZVRva2VuUXVlcnkgPSBncWxgXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5KFxuICAkaWQ6IExyUmVsYXlJZElucHV0IVxuICAkdG9rZW46IFN0cmluZ1xuKSB7XG4gIGtleUV4Y2hhbmdlKFxuICAgIGlkOiAkaWRcbiAgICB0b2tlbjogJHRva2VuXG4gICkge1xuICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XG4gIH1cbn1gO1xuXG5leHBvcnQgY29uc3QgSW5pdGlhdGVPdGtNdXRhdGlvbiA9IGdxbGBcbm11dGF0aW9uIEluaXRpYXRlS2V5RXhjaGFuZ2VPdGsoXG4kaW5wdXQ6IEluaXRpYXRlS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuaW5pdGlhdGVLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gIGtleUV4Y2hhbmdlIHtcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICB9XG59XG4ke0ZldGNoS2V5R3JhcGhGaWVsZH1cbn1gO1xuXG5leHBvcnQgY29uc3QgUmVzcG9uZE90a011dGF0aW9uID0gZ3FsYFxubXV0YXRpb24gUmVzcG9uZEtleUV4Y2hhbmdlT3RrKFxuICAkaW5wdXQ6IFJlc3BvbmRLZXlFeGNoYW5nZU90a0lucHV0IVxuKSB7XG4gIHJlc3BvbmRLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gICAga2V5RXhjaGFuZ2Uge1xuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgICB9XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XG4gICAgfVxuICAgIHRwIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IENvbXBsZXRlT3RrTXV0YXRpb24gPSBncWxgXG5tdXRhdGlvbiBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrKFxuICAkaW5wdXQ6IENvbXBsZXRlS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcbiAgICBrZXlFeGNoYW5nZSB7XG4gICAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICAgIH1cbiAgICB1c2VyU2hhcmVkS2V5IHtcbiAgICAgICR7VXNlclNoYXJlZEtleUZpZWxkc31cbiAgICB9XG4gICAgdHAge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbn1gO1xuIl19
|