@lifeready/core 1.0.12 → 1.0.15
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/README.md +62 -62
- package/bundles/lifeready-core.umd.js +14315 -14315
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/ast.js +40 -40
- package/esm2015/lib/_common/deferred-promise.js +24 -24
- package/esm2015/lib/_common/exceptions.js +157 -157
- package/esm2015/lib/_common/queries.gql.js +190 -190
- package/esm2015/lib/_common/run-outside-angular.js +79 -79
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/_common/utils.js +52 -52
- package/esm2015/lib/api/contact-card.gql.js +79 -79
- package/esm2015/lib/api/contact-card.service.js +154 -154
- package/esm2015/lib/api/contact-card2.gql.js +60 -60
- package/esm2015/lib/api/contact-card2.service.js +103 -103
- package/esm2015/lib/api/file.service.js +74 -74
- package/esm2015/lib/api/key-exchange.gql.js +188 -188
- package/esm2015/lib/api/key-exchange.service.js +442 -442
- package/esm2015/lib/api/key-exchange.types.js +18 -18
- package/esm2015/lib/api/key-exchange2.gql.js +171 -171
- package/esm2015/lib/api/key-exchange2.service.js +479 -479
- package/esm2015/lib/api/lock.gql.js +40 -40
- package/esm2015/lib/api/lock.service.js +64 -64
- package/esm2015/lib/api/lr-apollo.service.js +46 -46
- package/esm2015/lib/api/lr-graphql/index.js +6 -6
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
- package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
- package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
- package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
- package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
- package/esm2015/lib/api/message.service.js +138 -138
- package/esm2015/lib/api/persist.service.js +181 -181
- package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
- package/esm2015/lib/api/query-processor/index.js +3 -3
- package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
- package/esm2015/lib/api/shared-contact-card.service.js +119 -119
- package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
- package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
- package/esm2015/lib/api/time.service.js +146 -146
- package/esm2015/lib/api/types/graphql.types.js +7 -7
- package/esm2015/lib/api/types/index.js +3 -3
- package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
- package/esm2015/lib/auth/auth.config.js +57 -57
- package/esm2015/lib/auth/auth.gql.js +48 -48
- package/esm2015/lib/auth/auth.types.js +27 -27
- package/esm2015/lib/auth/idle.service.js +168 -168
- package/esm2015/lib/auth/idle.types.js +7 -7
- package/esm2015/lib/auth/lbop.service.js +355 -355
- package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
- package/esm2015/lib/auth/password.service.js +320 -320
- package/esm2015/lib/auth/register.service.js +172 -172
- package/esm2015/lib/auth/two-factor.service.js +74 -74
- package/esm2015/lib/category/category-meta.service.js +99 -99
- package/esm2015/lib/category/category.gql.js +406 -406
- package/esm2015/lib/category/category.service.js +390 -390
- package/esm2015/lib/category/category.types.js +29 -29
- package/esm2015/lib/cryptography/cryptography.types.js +11 -11
- package/esm2015/lib/cryptography/encryption.service.js +189 -189
- package/esm2015/lib/cryptography/key-factory.service.js +237 -237
- package/esm2015/lib/cryptography/key-graph.service.js +299 -299
- package/esm2015/lib/cryptography/key-meta.service.js +200 -200
- package/esm2015/lib/cryptography/key.service.js +124 -124
- package/esm2015/lib/cryptography/slip39.service.js +169 -169
- package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
- package/esm2015/lib/items2/item2.gql.js +139 -139
- package/esm2015/lib/items2/item2.service.js +498 -498
- package/esm2015/lib/items2/item2.types.js +1 -1
- package/esm2015/lib/life-ready.config.js +84 -84
- package/esm2015/lib/life-ready.module.js +74 -74
- package/esm2015/lib/notification/notification.gql.js +43 -43
- package/esm2015/lib/notification/notification.service.js +118 -118
- package/esm2015/lib/plan/plan.gql.js +123 -123
- package/esm2015/lib/plan/plan.service.js +149 -149
- package/esm2015/lib/plan/plan.types.js +11 -11
- package/esm2015/lib/record/record-attachment.service.js +101 -101
- package/esm2015/lib/record/record.gql.js +179 -179
- package/esm2015/lib/record/record.service.js +206 -206
- package/esm2015/lib/record/record.types.js +15 -15
- package/esm2015/lib/record-type/record-type.service.js +75 -75
- package/esm2015/lib/record-type/record-type.types.js +28 -28
- package/esm2015/lib/scenario/scenario.constants.js +2 -2
- package/esm2015/lib/scenario/scenario.controller.js +34 -34
- package/esm2015/lib/scenario/scenario.gql.js +72 -72
- package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
- package/esm2015/lib/scenario/scenario.service.js +538 -538
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
- package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
- package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +236 -236
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
- package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
- package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
- package/esm2015/lib/users/profile-details.service.js +214 -214
- package/esm2015/lib/users/profile.gql.js +97 -97
- package/esm2015/lib/users/profile.service.js +169 -169
- package/esm2015/lib/users/profile.types.js +34 -34
- package/esm2015/lib/users/user.gql.js +60 -60
- package/esm2015/lib/users/user.service.js +79 -79
- package/esm2015/lib/users/user.types.js +5 -5
- package/esm2015/lifeready-core.js +13 -13
- package/esm2015/public-api.js +71 -71
- package/fesm2015/lifeready-core.js +12258 -12258
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/ast.d.ts +11 -11
- package/lib/_common/deferred-promise.d.ts +12 -12
- package/lib/_common/exceptions.d.ts +109 -109
- package/lib/_common/queries.gql.d.ts +10 -10
- package/lib/_common/run-outside-angular.d.ts +14 -14
- package/lib/_common/types.d.ts +10 -10
- package/lib/_common/utils.d.ts +9 -9
- package/lib/api/contact-card.gql.d.ts +7 -7
- package/lib/api/contact-card.service.d.ts +52 -52
- package/lib/api/contact-card2.gql.d.ts +34 -34
- package/lib/api/contact-card2.service.d.ts +49 -49
- package/lib/api/file.service.d.ts +18 -18
- package/lib/api/key-exchange.gql.d.ts +9 -9
- package/lib/api/key-exchange.service.d.ts +39 -39
- package/lib/api/key-exchange.types.d.ts +196 -196
- package/lib/api/key-exchange2.gql.d.ts +125 -125
- package/lib/api/key-exchange2.service.d.ts +187 -187
- package/lib/api/lock.gql.d.ts +27 -27
- package/lib/api/lock.service.d.ts +34 -34
- package/lib/api/lr-apollo.service.d.ts +15 -15
- package/lib/api/lr-graphql/index.d.ts +5 -5
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
- package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
- package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
- package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
- package/lib/api/lr-graphql/lr.service.d.ts +9 -9
- package/lib/api/message.service.d.ts +58 -58
- package/lib/api/persist.service.d.ts +31 -31
- package/lib/api/query-processor/common-processors.service.d.ts +36 -36
- package/lib/api/query-processor/index.d.ts +2 -2
- package/lib/api/query-processor/query-processor.service.d.ts +18 -18
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
- package/lib/api/shared-contact-card.service.d.ts +33 -33
- package/lib/api/shared-contact-card2.gql.d.ts +36 -36
- package/lib/api/shared-contact-card2.service.d.ts +45 -45
- package/lib/api/time.service.d.ts +16 -16
- package/lib/api/types/graphql.types.d.ts +29 -29
- package/lib/api/types/index.d.ts +2 -2
- package/lib/api/types/lr-graphql.types.d.ts +502 -502
- package/lib/auth/auth.config.d.ts +5 -5
- package/lib/auth/auth.gql.d.ts +15 -15
- package/lib/auth/auth.types.d.ts +66 -66
- package/lib/auth/idle.service.d.ts +40 -40
- package/lib/auth/idle.types.d.ts +10 -10
- package/lib/auth/lbop.service.d.ts +91 -91
- package/lib/auth/life-ready-auth.service.d.ts +61 -61
- package/lib/auth/password.service.d.ts +78 -78
- package/lib/auth/register.service.d.ts +25 -25
- package/lib/auth/two-factor.service.d.ts +15 -15
- package/lib/category/category-meta.service.d.ts +23 -23
- package/lib/category/category.gql.d.ts +45 -45
- package/lib/category/category.service.d.ts +67 -67
- package/lib/category/category.types.d.ts +79 -79
- package/lib/cryptography/cryptography.types.d.ts +83 -83
- package/lib/cryptography/encryption.service.d.ts +41 -41
- package/lib/cryptography/key-factory.service.d.ts +38 -38
- package/lib/cryptography/key-graph.service.d.ts +41 -41
- package/lib/cryptography/key-meta.service.d.ts +44 -44
- package/lib/cryptography/key.service.d.ts +36 -36
- package/lib/cryptography/slip39.service.d.ts +43 -43
- package/lib/cryptography/web-crypto.service.d.ts +5 -5
- package/lib/items2/item2.gql.d.ts +123 -123
- package/lib/items2/item2.service.d.ts +203 -203
- package/lib/items2/item2.types.d.ts +70 -70
- package/lib/life-ready.config.d.ts +14 -14
- package/lib/life-ready.module.d.ts +5 -5
- package/lib/notification/notification.gql.d.ts +37 -37
- package/lib/notification/notification.service.d.ts +63 -63
- package/lib/plan/plan.gql.d.ts +11 -11
- package/lib/plan/plan.service.d.ts +33 -33
- package/lib/plan/plan.types.d.ts +31 -31
- package/lib/record/record-attachment.service.d.ts +16 -16
- package/lib/record/record.gql.d.ts +14 -14
- package/lib/record/record.service.d.ts +25 -25
- package/lib/record/record.types.d.ts +57 -57
- package/lib/record-type/record-type.service.d.ts +11 -11
- package/lib/record-type/record-type.types.d.ts +50 -50
- package/lib/scenario/scenario.constants.d.ts +1 -1
- package/lib/scenario/scenario.controller.d.ts +10 -10
- package/lib/scenario/scenario.gql.d.ts +62 -62
- package/lib/scenario/scenario.gql.private.d.ts +16 -16
- package/lib/scenario/scenario.service.d.ts +233 -233
- package/lib/scenario/scenario.types.d.ts +50 -50
- package/lib/trusted-parties/tp-assembly.d.ts +177 -177
- package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
- package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
- package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
- package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
- package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
- package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
- package/lib/trusted-parties/tp-password-reset.gql.d.ts +223 -223
- package/lib/trusted-parties/tp-password-reset.service.d.ts +188 -188
- package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
- package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
- package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
- package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
- package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
- package/lib/users/profile-details.service.d.ts +21 -21
- package/lib/users/profile.gql.d.ts +11 -11
- package/lib/users/profile.service.d.ts +35 -35
- package/lib/users/profile.types.d.ts +96 -96
- package/lib/users/user.gql.d.ts +9 -9
- package/lib/users/user.service.d.ts +12 -12
- package/lib/users/user.types.d.ts +23 -23
- package/lifeready-core.d.ts +12 -12
- package/package.json +1 -1
- package/public-api.d.ts +67 -67
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import { __awaiter, __decorate } from "tslib";
|
|
2
|
-
import { Injectable, NgZone } from '@angular/core';
|
|
3
|
-
import { KeyGraphService } from '../../cryptography/key-graph.service';
|
|
4
|
-
import { RunOutsideAngular } from '../../_common/run-outside-angular';
|
|
5
|
-
import { processConnection, } from './common-processors.service';
|
|
6
|
-
import { LrBadRequestException } from '../../_common/exceptions';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../cryptography/key-graph.service";
|
|
9
|
-
let TpPasswordResetProcessorService = class TpPasswordResetProcessorService {
|
|
10
|
-
constructor(ngZone, keyGraph) {
|
|
11
|
-
this.ngZone = ngZone;
|
|
12
|
-
this.keyGraph = keyGraph;
|
|
13
|
-
}
|
|
14
|
-
processTpPasswordResetUserNode(node) {
|
|
15
|
-
var _a;
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const pxk = ((_a = node.pxk) === null || _a === void 0 ? void 0 : _a.id) && (yield this.keyGraph.getKey(node.pxk.id));
|
|
18
|
-
const ret = Object.assign({}, node);
|
|
19
|
-
if (pxk && node.approvals) {
|
|
20
|
-
ret.approvals = yield Promise.all(node.approvals.map((approval) => this.processTpPasswordResetUserApprovalNode(approval, pxk)));
|
|
21
|
-
}
|
|
22
|
-
return ret;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
processTpPasswordResetUserApprovalNode(approval, pxk) {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const ret = Object.assign({}, approval);
|
|
28
|
-
if (approval.receiverCipher) {
|
|
29
|
-
ret.receiverCipherClearJson = this.keyGraph.decryptFromString(pxk, approval.receiverCipher);
|
|
30
|
-
}
|
|
31
|
-
if (approval.receiverCipherPartialAssemblyKey) {
|
|
32
|
-
ret.receiverCipherPartialAssemblyKeyClearJson = yield this.keyGraph.decryptFromString(pxk, approval.receiverCipherPartialAssemblyKey);
|
|
33
|
-
}
|
|
34
|
-
return ret;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
makeTpPasswordResetNodeProcessor() {
|
|
38
|
-
return ({ field, }) => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const ret = Object.assign({}, field);
|
|
40
|
-
if (field.assembly) {
|
|
41
|
-
if (field.applied == null) {
|
|
42
|
-
throw new LrBadRequestException('If you request for field "assembly" in the TpPasswordResetNode, then you must also request the "applied" field');
|
|
43
|
-
}
|
|
44
|
-
ret.assembly = yield this.processTpAssemblyNode(field.assembly, field.applied);
|
|
45
|
-
}
|
|
46
|
-
return ret;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
processTpAssemblyNode(assembly, applied) {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
// Subject key is encrypted user the master key. So if reset has been applied, then
|
|
52
|
-
// these keys are not available any more.
|
|
53
|
-
const { subjectKey, assemblyKey, assemblyCipherData, subAssemblies, } = assembly;
|
|
54
|
-
const ret = Object.assign(Object.assign({}, assembly), { subAssemblies: yield processConnection(subAssemblies, (node) => this.processTpSubAssemblyNode(node, subjectKey.id, applied)) });
|
|
55
|
-
if (!applied) {
|
|
56
|
-
if (assemblyCipherData) {
|
|
57
|
-
ret.assemblyCipherDataClearJson = yield this.keyGraph.decryptFromString(assemblyKey.id, assemblyCipherData);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return ret;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
processTpSubAssemblyNode(subAssembly, subjectKeyId, applied) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
const { subjectCipherData, approvers } = subAssembly;
|
|
66
|
-
// const ret: TpSubAssemblyNode = {
|
|
67
|
-
// ...subAssembly,
|
|
68
|
-
// approvers: {
|
|
69
|
-
// ...approvers,
|
|
70
|
-
// edges: await Promise.all(
|
|
71
|
-
// approvers.edges.map(async (edge) => ({
|
|
72
|
-
// ...edge,
|
|
73
|
-
// node: await this.processTpAssemblyApproverNode(edge.node, applied),
|
|
74
|
-
// }))
|
|
75
|
-
// ),
|
|
76
|
-
// },
|
|
77
|
-
// };
|
|
78
|
-
const ret = Object.assign(Object.assign({}, subAssembly), { approvers: yield processConnection(approvers, (node) => this.processTpAssemblyApproverNode(node, applied)) });
|
|
79
|
-
if (!applied) {
|
|
80
|
-
if (subjectCipherData) {
|
|
81
|
-
ret.subjectCipherDataClearJson = yield this.keyGraph.decryptFromString(subjectKeyId, subjectCipherData);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return ret;
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
processTpAssemblyApproverNode(approver, applied) {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
return approver;
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
TpPasswordResetProcessorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TpPasswordResetProcessorService_Factory() { return new TpPasswordResetProcessorService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.KeyGraphService)); }, token: TpPasswordResetProcessorService, providedIn: "root" });
|
|
94
|
-
TpPasswordResetProcessorService.decorators = [
|
|
95
|
-
{ type: Injectable, args: [{
|
|
96
|
-
providedIn: 'root',
|
|
97
|
-
},] }
|
|
98
|
-
];
|
|
99
|
-
TpPasswordResetProcessorService.ctorParameters = () => [
|
|
100
|
-
{ type: NgZone },
|
|
101
|
-
{ type: KeyGraphService }
|
|
102
|
-
];
|
|
103
|
-
TpPasswordResetProcessorService = __decorate([
|
|
104
|
-
RunOutsideAngular({
|
|
105
|
-
ngZoneName: 'ngZone',
|
|
106
|
-
})
|
|
107
|
-
], TpPasswordResetProcessorService);
|
|
108
|
-
export { TpPasswordResetProcessorService };
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQtcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2FwaS9xdWVyeS1wcm9jZXNzb3IvdHAtcGFzc3dvcmQtcmVzZXQtcHJvY2Vzc29yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVF0RSxPQUFPLEVBQ0wsaUJBQWlCLEdBRWxCLE1BQU0sNkJBQTZCLENBQUM7QUFPckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztJQVFwRCwrQkFBK0IsU0FBL0IsK0JBQStCO0lBQzFDLFlBQW9CLE1BQWMsRUFBVSxRQUF5QjtRQUFqRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBRyxDQUFDO0lBRW5FLDhCQUE4QixDQUNsQyxJQUE2Qjs7O1lBRTdCLE1BQU0sR0FBRyxHQUFHLE9BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsRUFBRSxLQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFdEUsTUFBTSxHQUFHLHFCQUNKLElBQUksQ0FDUixDQUFDO1lBRUYsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDekIsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxD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RUFBRTtnQkFDWixJQUFJLGlCQUFpQixFQUFFO29CQUNyQixHQUFHLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNwRSxZQUFZLEVBQ1osaUJBQWlCLENBQ2xCLENBQUM7aUJBQ0g7YUFDRjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztLQUFBO0lBRWEsNkJBQTZCLENBQ3pDLFFBQWdDLEVBQ2hDLE9BQWdCOztZQUVoQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0tBQUE7Q0FDRixDQUFBOzs7WUF2SkEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUEzQm9CLE1BQU07WUFDbEIsZUFBZTs7QUEyQlgsK0JBQStCO0lBTjNDLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVywrQkFBK0IsQ0FvSjNDO1NBcEpZLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3J5cHRvZ3JhcGh5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIElELFxuICBTaGFyZWRUcEFzc2VtYmx5Tm9kZSxcbiAgVHBBc3NlbWJseUFwcHJvdmVyTm9kZSxcbiAgVHBBc3NlbWJseU5vZGUsXG4gIFRwU3ViQXNzZW1ibHlOb2RlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1xuICBwcm9jZXNzQ29ubmVjdGlvbixcbiAgUHJvY2Vzc29yQ2FsbGJhY2tQYXJhbXMsXG59IGZyb20gJy4vY29tbW9uLXByb2Nlc3NvcnMuc2VydmljZSc7XG5pbXBvcnQge1xuICBUcFBhc3N3b3JkUmVzZXRVc2VyTm9kZSxcbiAgVHBQYXNzd29yZFJlc2V0VXNlckFwcHJvdmFsTm9kZSxcbiAgVHBQYXNzd29yZFJlc2V0Tm9kZSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4vLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5pbXBvcnQgeyBMckJhZFJlcXVlc3RFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuXG5AUnVuT3V0c2lkZUFuZ3VsYXIoe1xuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcbn0pXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHBQYXNzd29yZFJlc2V0UHJvY2Vzc29yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSkge31cblxuICBhc3luYyBwcm9jZXNzVHBQYXNzd29yZFJlc2V0VXNlck5vZGUoXG4gICAgbm9kZTogVHBQYXNzd29yZFJlc2V0VXNlck5vZGVcbiAgKTogUHJvbWlzZTxUcFBhc3N3b3JkUmVzZXRVc2VyTm9kZT4ge1xuICAgIGNvbnN0IHB4ayA9IG5vZGUucHhrPy5pZCAmJiAoYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkobm9kZS5weGsuaWQpKTtcblxuICAgIGNvbnN0IHJldCA9IHtcbiAgICAgIC4uLm5vZGUsXG4gICAgfTtcblxuICAgIGlmIChweGsgJiYgbm9kZS5hcHByb3ZhbHMpIHtcbiAgICAgIHJldC5hcHByb3ZhbHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgbm9kZS5hcHByb3ZhbHMubWFwKChhcHByb3ZhbCkgPT5cbiAgICAgICAgICB0aGlzLnByb2Nlc3NUcFBhc3N3b3JkUmVzZXRVc2VyQXBwcm92YWxOb2RlKGFwcHJvdmFsLCBweGspXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc1RwUGFzc3dvcmRSZXNldFVzZXJBcHByb3ZhbE5vZGUoXG4gICAgYXBwcm92YWw6IFRwUGFzc3dvcmRSZXNldFVzZXJBcHByb3ZhbE5vZGUsXG4gICAgcHhrOiBLZXlcbiAgKSB7XG4gICAgY29uc3QgcmV0ID0ge1xuICAgICAgLi4uYXBwcm92YWwsXG4gICAgfTtcblxuICAgIGlmIChhcHByb3ZhbC5yZWNlaXZlckNpcGhlcikge1xuICAgICAgcmV0LnJlY2VpdmVyQ2lwaGVyQ2xlYXJKc29uID0gdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZyhcbiAgICAgICAgcHhrLFxuICAgICAgICBhcHByb3ZhbC5yZWNlaXZlckNpcGhlclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoYXBwcm92YWwucmVjZWl2ZXJDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXkpIHtcbiAgICAgIHJldC5yZWNlaXZlckNpcGhlclBhcnRpYWxBc3NlbWJseUtleUNsZWFySnNvbiA9IGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZyb21TdHJpbmcoXG4gICAgICAgIHB4ayxcbiAgICAgICAgYXBwcm92YWwucmVjZWl2ZXJDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBtYWtlVHBQYXNzd29yZFJlc2V0Tm9kZVByb2Nlc3NvcigpIHtcbiAgICByZXR1cm4gYXN5bmMgKHtcbiAgICAgIGZpZWxkLFxuICAgIH06IFByb2Nlc3NvckNhbGxiYWNrUGFyYW1zKTogUHJvbWlzZTxUcFBhc3N3b3JkUmVzZXROb2RlPiA9PiB7XG4gICAgICBjb25zdCByZXQgPSB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgfTtcblxuICAgICAgaWYgKGZpZWxkLmFzc2VtYmx5KSB7XG4gICAgICAgIGlmIChmaWVsZC5hcHBsaWVkID09IG51bGwpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTHJCYWRSZXF1ZXN0RXhjZXB0aW9uKFxuICAgICAgICAgICAgJ0lmIHlvdSByZXF1ZXN0IGZvciBmaWVsZCBcImFzc2VtYmx5XCIgaW4gdGhlIFRwUGFzc3dvcmRSZXNldE5vZGUsIHRoZW4geW91IG11c3QgYWxzbyByZXF1ZXN0IHRoZSBcImFwcGxpZWRcIiBmaWVsZCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0LmFzc2VtYmx5ID0gYXdhaXQgdGhpcy5wcm9jZXNzVHBBc3NlbWJseU5vZGUoXG4gICAgICAgICAgZmllbGQuYXNzZW1ibHksXG4gICAgICAgICAgZmllbGQuYXBwbGllZFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmV0O1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByb2Nlc3NUcEFzc2VtYmx5Tm9kZShcbiAgICBhc3NlbWJseTogVHBBc3NlbWJseU5vZGUsXG4gICAgYXBwbGllZDogYm9vbGVhblxuICApOiBQcm9taXNlPFRwQXNzZW1ibHlOb2RlPiB7XG4gICAgLy8gU3ViamVjdCBrZXkgaXMgZW5jcnlwdGVkIHVzZXIgdGhlIG1hc3RlciBrZXkuIFNvIGlmIHJlc2V0IGhhcyBiZWVuIGFwcGxpZWQsIHRoZW5cbiAgICAvLyB0aGVzZSBrZXlzIGFyZSBub3QgYXZhaWxhYmxlIGFueSBtb3JlLlxuICAgIGNvbnN0IHtcbiAgICAgIHN1YmplY3RLZXksXG4gICAgICBhc3NlbWJseUtleSxcbiAgICAgIGFzc2VtYmx5Q2lwaGVyRGF0YSxcbiAgICAgIHN1YkFzc2VtYmxpZXMsXG4gICAgfSA9IGFzc2VtYmx5O1xuXG4gICAgY29uc3QgcmV0OiBUcEFzc2VtYmx5Tm9kZSA9IHtcbiAgICAgIC4uLmFzc2VtYmx5LFxuICAgICAgc3ViQXNzZW1ibGllczogYXdhaXQgcHJvY2Vzc0Nvbm5lY3Rpb24oc3ViQXNzZW1ibGllcywgKG5vZGUpID0+XG4gICAgICAgIHRoaXMucHJvY2Vzc1RwU3ViQXNzZW1ibHlOb2RlKG5vZGUsIHN1YmplY3RLZXkuaWQsIGFwcGxpZWQpXG4gICAgICApLFxuICAgIH07XG5cbiAgICBpZiAoIWFwcGxpZWQpIHtcbiAgICAgIGlmIChhc3NlbWJseUNpcGhlckRhdGEpIHtcbiAgICAgICAgcmV0LmFzc2VtYmx5Q2lwaGVyRGF0YUNsZWFySnNvbiA9IGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZyb21TdHJpbmcoXG4gICAgICAgICAgYXNzZW1ibHlLZXkuaWQsXG4gICAgICAgICAgYXNzZW1ibHlDaXBoZXJEYXRhXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc1RwU3ViQXNzZW1ibHlOb2RlKFxuICAgIHN1YkFzc2VtYmx5OiBUcFN1YkFzc2VtYmx5Tm9kZSxcbiAgICBzdWJqZWN0S2V5SWQ6IElELFxuICAgIGFwcGxpZWQ6IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxUcFN1YkFzc2VtYmx5Tm9kZT4ge1xuICAgIGNvbnN0IHsgc3ViamVjdENpcGhlckRhdGEsIGFwcHJvdmVycyB9ID0gc3ViQXNzZW1ibHk7XG5cbiAgICAvLyBjb25zdCByZXQ6IFRwU3ViQXNzZW1ibHlOb2RlID0ge1xuICAgIC8vICAgLi4uc3ViQXNzZW1ibHksXG4gICAgLy8gICBhcHByb3ZlcnM6IHtcbiAgICAvLyAgICAgLi4uYXBwcm92ZXJzLFxuICAgIC8vICAgICBlZGdlczogYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgLy8gICAgICAgYXBwcm92ZXJzLmVkZ2VzLm1hcChhc3luYyAoZWRnZSkgPT4gKHtcbiAgICAvLyAgICAgICAgIC4uLmVkZ2UsXG4gICAgLy8gICAgICAgICBub2RlOiBhd2FpdCB0aGlzLnByb2Nlc3NUcEFzc2VtYmx5QXBwcm92ZXJOb2RlKGVkZ2Uubm9kZSwgYXBwbGllZCksXG4gICAgLy8gICAgICAgfSkpXG4gICAgLy8gICAgICksXG4gICAgLy8gICB9LFxuICAgIC8vIH07XG4gICAgY29uc3QgcmV0OiBUcFN1YkFzc2VtYmx5Tm9kZSA9IHtcbiAgICAgIC4uLnN1YkFzc2VtYmx5LFxuICAgICAgYXBwcm92ZXJzOiBhd2FpdCBwcm9jZXNzQ29ubmVjdGlvbihhcHByb3ZlcnMsIChub2RlKSA9PlxuICAgICAgICB0aGlzLnByb2Nlc3NUcEFzc2VtYmx5QXBwcm92ZXJOb2RlKG5vZGUsIGFwcGxpZWQpXG4gICAgICApLFxuICAgIH07XG5cbiAgICBpZiAoIWFwcGxpZWQpIHtcbiAgICAgIGlmIChzdWJqZWN0Q2lwaGVyRGF0YSkge1xuICAgICAgICByZXQuc3ViamVjdENpcGhlckRhdGFDbGVhckpzb24gPSBhd2FpdCB0aGlzLmtleUdyYXBoLmRlY3J5cHRGcm9tU3RyaW5nKFxuICAgICAgICAgIHN1YmplY3RLZXlJZCxcbiAgICAgICAgICBzdWJqZWN0Q2lwaGVyRGF0YVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByb2Nlc3NUcEFzc2VtYmx5QXBwcm92ZXJOb2RlKFxuICAgIGFwcHJvdmVyOiBUcEFzc2VtYmx5QXBwcm92ZXJOb2RlLFxuICAgIGFwcGxpZWQ6IGJvb2xlYW5cbiAgKSB7XG4gICAgcmV0dXJuIGFwcHJvdmVyO1xuICB9XG59XG4iXX0=
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
3
|
+
import { KeyGraphService } from '../../cryptography/key-graph.service';
|
|
4
|
+
import { RunOutsideAngular } from '../../_common/run-outside-angular';
|
|
5
|
+
import { processConnection, } from './common-processors.service';
|
|
6
|
+
import { LrBadRequestException } from '../../_common/exceptions';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../cryptography/key-graph.service";
|
|
9
|
+
let TpPasswordResetProcessorService = class TpPasswordResetProcessorService {
|
|
10
|
+
constructor(ngZone, keyGraph) {
|
|
11
|
+
this.ngZone = ngZone;
|
|
12
|
+
this.keyGraph = keyGraph;
|
|
13
|
+
}
|
|
14
|
+
processTpPasswordResetUserNode(node) {
|
|
15
|
+
var _a;
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const pxk = ((_a = node.pxk) === null || _a === void 0 ? void 0 : _a.id) && (yield this.keyGraph.getKey(node.pxk.id));
|
|
18
|
+
const ret = Object.assign({}, node);
|
|
19
|
+
if (pxk && node.approvals) {
|
|
20
|
+
ret.approvals = yield Promise.all(node.approvals.map((approval) => this.processTpPasswordResetUserApprovalNode(approval, pxk)));
|
|
21
|
+
}
|
|
22
|
+
return ret;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
processTpPasswordResetUserApprovalNode(approval, pxk) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const ret = Object.assign({}, approval);
|
|
28
|
+
if (approval.receiverCipher) {
|
|
29
|
+
ret.receiverCipherClearJson = this.keyGraph.decryptFromString(pxk, approval.receiverCipher);
|
|
30
|
+
}
|
|
31
|
+
if (approval.receiverCipherPartialAssemblyKey) {
|
|
32
|
+
ret.receiverCipherPartialAssemblyKeyClearJson = yield this.keyGraph.decryptFromString(pxk, approval.receiverCipherPartialAssemblyKey);
|
|
33
|
+
}
|
|
34
|
+
return ret;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
makeTpPasswordResetNodeProcessor() {
|
|
38
|
+
return ({ field, }) => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const ret = Object.assign({}, field);
|
|
40
|
+
if (field.assembly) {
|
|
41
|
+
if (field.applied == null) {
|
|
42
|
+
throw new LrBadRequestException('If you request for field "assembly" in the TpPasswordResetNode, then you must also request the "applied" field');
|
|
43
|
+
}
|
|
44
|
+
ret.assembly = yield this.processTpAssemblyNode(field.assembly, field.applied);
|
|
45
|
+
}
|
|
46
|
+
return ret;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
processTpAssemblyNode(assembly, applied) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
// Subject key is encrypted user the master key. So if reset has been applied, then
|
|
52
|
+
// these keys are not available any more.
|
|
53
|
+
const { subjectKey, assemblyKey, assemblyCipherData, subAssemblies, } = assembly;
|
|
54
|
+
const ret = Object.assign(Object.assign({}, assembly), { subAssemblies: yield processConnection(subAssemblies, (node) => this.processTpSubAssemblyNode(node, subjectKey.id, applied)) });
|
|
55
|
+
if (!applied) {
|
|
56
|
+
if (assemblyCipherData) {
|
|
57
|
+
ret.assemblyCipherDataClearJson = yield this.keyGraph.decryptFromString(assemblyKey.id, assemblyCipherData);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return ret;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
processTpSubAssemblyNode(subAssembly, subjectKeyId, applied) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const { subjectCipherData, approvers } = subAssembly;
|
|
66
|
+
// const ret: TpSubAssemblyNode = {
|
|
67
|
+
// ...subAssembly,
|
|
68
|
+
// approvers: {
|
|
69
|
+
// ...approvers,
|
|
70
|
+
// edges: await Promise.all(
|
|
71
|
+
// approvers.edges.map(async (edge) => ({
|
|
72
|
+
// ...edge,
|
|
73
|
+
// node: await this.processTpAssemblyApproverNode(edge.node, applied),
|
|
74
|
+
// }))
|
|
75
|
+
// ),
|
|
76
|
+
// },
|
|
77
|
+
// };
|
|
78
|
+
const ret = Object.assign(Object.assign({}, subAssembly), { approvers: yield processConnection(approvers, (node) => this.processTpAssemblyApproverNode(node, applied)) });
|
|
79
|
+
if (!applied) {
|
|
80
|
+
if (subjectCipherData) {
|
|
81
|
+
ret.subjectCipherDataClearJson = yield this.keyGraph.decryptFromString(subjectKeyId, subjectCipherData);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return ret;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
processTpAssemblyApproverNode(approver, applied) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return approver;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
TpPasswordResetProcessorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TpPasswordResetProcessorService_Factory() { return new TpPasswordResetProcessorService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.KeyGraphService)); }, token: TpPasswordResetProcessorService, providedIn: "root" });
|
|
94
|
+
TpPasswordResetProcessorService.decorators = [
|
|
95
|
+
{ type: Injectable, args: [{
|
|
96
|
+
providedIn: 'root',
|
|
97
|
+
},] }
|
|
98
|
+
];
|
|
99
|
+
TpPasswordResetProcessorService.ctorParameters = () => [
|
|
100
|
+
{ type: NgZone },
|
|
101
|
+
{ type: KeyGraphService }
|
|
102
|
+
];
|
|
103
|
+
TpPasswordResetProcessorService = __decorate([
|
|
104
|
+
RunOutsideAngular({
|
|
105
|
+
ngZoneName: 'ngZone',
|
|
106
|
+
})
|
|
107
|
+
], TpPasswordResetProcessorService);
|
|
108
|
+
export { TpPasswordResetProcessorService };
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQtcHJvY2Vzc29yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMva2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2FwaS9xdWVyeS1wcm9jZXNzb3IvdHAtcGFzc3dvcmQtcmVzZXQtcHJvY2Vzc29yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVF0RSxPQUFPLEVBQ0wsaUJBQWlCLEdBRWxCLE1BQU0sNkJBQTZCLENBQUM7QUFPckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztJQVFwRCwrQkFBK0IsU0FBL0IsK0JBQStCO0lBQzFDLFlBQW9CLE1BQWMsRUFBVSxRQUF5QjtRQUFqRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBRyxDQUFDO0lBRW5FLDhCQUE4QixDQUNsQyxJQUE2Qjs7O1lBRTdCLE1BQU0sR0FBRyxHQUFHLE9BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsRUFBRSxLQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFdEUsTUFBTSxHQUFHLHFCQUNKLElBQUksQ0FDUixDQUFDO1lBRUYsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDekIsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxF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LGlCQUFpQixFQUFFO29CQUNyQixHQUFHLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNwRSxZQUFZLEVBQ1osaUJBQWlCLENBQ2xCLENBQUM7aUJBQ0g7YUFDRjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztLQUFBO0lBRWEsNkJBQTZCLENBQ3pDLFFBQWdDLEVBQ2hDLE9BQWdCOztZQUVoQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0tBQUE7Q0FDRixDQUFBOzs7WUF2SkEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUEzQm9CLE1BQU07WUFDbEIsZUFBZTs7QUEyQlgsK0JBQStCO0lBTjNDLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVywrQkFBK0IsQ0FvSjNDO1NBcEpZLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jcnlwdG9ncmFwaHkva2V5LWdyYXBoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uLy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XHJcbmltcG9ydCB7XHJcbiAgSUQsXHJcbiAgU2hhcmVkVHBBc3NlbWJseU5vZGUsXHJcbiAgVHBBc3NlbWJseUFwcHJvdmVyTm9kZSxcclxuICBUcEFzc2VtYmx5Tm9kZSxcclxuICBUcFN1YkFzc2VtYmx5Tm9kZSxcclxufSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgcHJvY2Vzc0Nvbm5lY3Rpb24sXHJcbiAgUHJvY2Vzc29yQ2FsbGJhY2tQYXJhbXMsXHJcbn0gZnJvbSAnLi9jb21tb24tcHJvY2Vzc29ycy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBUcFBhc3N3b3JkUmVzZXRVc2VyTm9kZSxcclxuICBUcFBhc3N3b3JkUmVzZXRVc2VyQXBwcm92YWxOb2RlLFxyXG4gIFRwUGFzc3dvcmRSZXNldE5vZGUsXHJcbn0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBLZXkgfSBmcm9tICcuLi8uLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcclxuaW1wb3J0IHsgTHJCYWRSZXF1ZXN0RXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi9leGNlcHRpb25zJztcclxuXHJcbkBSdW5PdXRzaWRlQW5ndWxhcih7XHJcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXHJcbn0pXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcFBhc3N3b3JkUmVzZXRQcm9jZXNzb3JTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UpIHt9XHJcblxyXG4gIGFzeW5jIHByb2Nlc3NUcFBhc3N3b3JkUmVzZXRVc2VyTm9kZShcclxuICAgIG5vZGU6IFRwUGFzc3dvcmRSZXNldFVzZXJOb2RlXHJcbiAgKTogUHJvbWlzZTxUcFBhc3N3b3JkUmVzZXRVc2VyTm9kZT4ge1xyXG4gICAgY29uc3QgcHhrID0gbm9kZS5weGs/LmlkICYmIChhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShub2RlLnB4ay5pZCkpO1xyXG5cclxuICAgIGNvbnN0IHJldCA9IHtcclxuICAgICAgLi4ubm9kZSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHB4ayAmJiBub2RlLmFwcHJvdmFscykge1xyXG4gICAgICByZXQuYXBwcm92YWxzID0gYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgbm9kZS5hcHByb3ZhbHMubWFwKChhcHByb3ZhbCkgPT5cclxuICAgICAgICAgIHRoaXMucHJvY2Vzc1RwUGFzc3dvcmRSZXNldFVzZXJBcHByb3ZhbE5vZGUoYXBwcm92YWwsIHB4aylcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc1RwUGFzc3dvcmRSZXNldFVzZXJBcHByb3ZhbE5vZGUoXHJcbiAgICBhcHByb3ZhbDogVHBQYXNzd29yZFJlc2V0VXNlckFwcHJvdmFsTm9kZSxcclxuICAgIHB4azogS2V5XHJcbiAgKSB7XHJcbiAgICBjb25zdCByZXQgPSB7XHJcbiAgICAgIC4uLmFwcHJvdmFsLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoYXBwcm92YWwucmVjZWl2ZXJDaXBoZXIpIHtcclxuICAgICAgcmV0LnJlY2VpdmVyQ2lwaGVyQ2xlYXJKc29uID0gdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZyhcclxuICAgICAgICBweGssXHJcbiAgICAgICAgYXBwcm92YWwucmVjZWl2ZXJDaXBoZXJcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYXBwcm92YWwucmVjZWl2ZXJDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXkpIHtcclxuICAgICAgcmV0LnJlY2VpdmVyQ2lwaGVyUGFydGlhbEFzc2VtYmx5S2V5Q2xlYXJKc29uID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZyhcclxuICAgICAgICBweGssXHJcbiAgICAgICAgYXBwcm92YWwucmVjZWl2ZXJDaXBoZXJQYXJ0aWFsQXNzZW1ibHlLZXlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBtYWtlVHBQYXNzd29yZFJlc2V0Tm9kZVByb2Nlc3NvcigpIHtcclxuICAgIHJldHVybiBhc3luYyAoe1xyXG4gICAgICBmaWVsZCxcclxuICAgIH06IFByb2Nlc3NvckNhbGxiYWNrUGFyYW1zKTogUHJvbWlzZTxUcFBhc3N3b3JkUmVzZXROb2RlPiA9PiB7XHJcbiAgICAgIGNvbnN0IHJldCA9IHtcclxuICAgICAgICAuLi5maWVsZCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmIChmaWVsZC5hc3NlbWJseSkge1xyXG4gICAgICAgIGlmIChmaWVsZC5hcHBsaWVkID09IG51bGwpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBMckJhZFJlcXVlc3RFeGNlcHRpb24oXHJcbiAgICAgICAgICAgICdJZiB5b3UgcmVxdWVzdCBmb3IgZmllbGQgXCJhc3NlbWJseVwiIGluIHRoZSBUcFBhc3N3b3JkUmVzZXROb2RlLCB0aGVuIHlvdSBtdXN0IGFsc28gcmVxdWVzdCB0aGUgXCJhcHBsaWVkXCIgZmllbGQnXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0LmFzc2VtYmx5ID0gYXdhaXQgdGhpcy5wcm9jZXNzVHBBc3NlbWJseU5vZGUoXHJcbiAgICAgICAgICBmaWVsZC5hc3NlbWJseSxcclxuICAgICAgICAgIGZpZWxkLmFwcGxpZWRcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcmV0O1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc1RwQXNzZW1ibHlOb2RlKFxyXG4gICAgYXNzZW1ibHk6IFRwQXNzZW1ibHlOb2RlLFxyXG4gICAgYXBwbGllZDogYm9vbGVhblxyXG4gICk6IFByb21pc2U8VHBBc3NlbWJseU5vZGU+IHtcclxuICAgIC8vIFN1YmplY3Qga2V5IGlzIGVuY3J5cHRlZCB1c2VyIHRoZSBtYXN0ZXIga2V5LiBTbyBpZiByZXNldCBoYXMgYmVlbiBhcHBsaWVkLCB0aGVuXHJcbiAgICAvLyB0aGVzZSBrZXlzIGFyZSBub3QgYXZhaWxhYmxlIGFueSBtb3JlLlxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJqZWN0S2V5LFxyXG4gICAgICBhc3NlbWJseUtleSxcclxuICAgICAgYXNzZW1ibHlDaXBoZXJEYXRhLFxyXG4gICAgICBzdWJBc3NlbWJsaWVzLFxyXG4gICAgfSA9IGFzc2VtYmx5O1xyXG5cclxuICAgIGNvbnN0IHJldDogVHBBc3NlbWJseU5vZGUgPSB7XHJcbiAgICAgIC4uLmFzc2VtYmx5LFxyXG4gICAgICBzdWJBc3NlbWJsaWVzOiBhd2FpdCBwcm9jZXNzQ29ubmVjdGlvbihzdWJBc3NlbWJsaWVzLCAobm9kZSkgPT5cclxuICAgICAgICB0aGlzLnByb2Nlc3NUcFN1YkFzc2VtYmx5Tm9kZShub2RlLCBzdWJqZWN0S2V5LmlkLCBhcHBsaWVkKVxyXG4gICAgICApLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWFwcGxpZWQpIHtcclxuICAgICAgaWYgKGFzc2VtYmx5Q2lwaGVyRGF0YSkge1xyXG4gICAgICAgIHJldC5hc3NlbWJseUNpcGhlckRhdGFDbGVhckpzb24gPSBhd2FpdCB0aGlzLmtleUdyYXBoLmRlY3J5cHRGcm9tU3RyaW5nKFxyXG4gICAgICAgICAgYXNzZW1ibHlLZXkuaWQsXHJcbiAgICAgICAgICBhc3NlbWJseUNpcGhlckRhdGFcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc1RwU3ViQXNzZW1ibHlOb2RlKFxyXG4gICAgc3ViQXNzZW1ibHk6IFRwU3ViQXNzZW1ibHlOb2RlLFxyXG4gICAgc3ViamVjdEtleUlkOiBJRCxcclxuICAgIGFwcGxpZWQ6IGJvb2xlYW5cclxuICApOiBQcm9taXNlPFRwU3ViQXNzZW1ibHlOb2RlPiB7XHJcbiAgICBjb25zdCB7IHN1YmplY3RDaXBoZXJEYXRhLCBhcHByb3ZlcnMgfSA9IHN1YkFzc2VtYmx5O1xyXG5cclxuICAgIC8vIGNvbnN0IHJldDogVHBTdWJBc3NlbWJseU5vZGUgPSB7XHJcbiAgICAvLyAgIC4uLnN1YkFzc2VtYmx5LFxyXG4gICAgLy8gICBhcHByb3ZlcnM6IHtcclxuICAgIC8vICAgICAuLi5hcHByb3ZlcnMsXHJcbiAgICAvLyAgICAgZWRnZXM6IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgLy8gICAgICAgYXBwcm92ZXJzLmVkZ2VzLm1hcChhc3luYyAoZWRnZSkgPT4gKHtcclxuICAgIC8vICAgICAgICAgLi4uZWRnZSxcclxuICAgIC8vICAgICAgICAgbm9kZTogYXdhaXQgdGhpcy5wcm9jZXNzVHBBc3NlbWJseUFwcHJvdmVyTm9kZShlZGdlLm5vZGUsIGFwcGxpZWQpLFxyXG4gICAgLy8gICAgICAgfSkpXHJcbiAgICAvLyAgICAgKSxcclxuICAgIC8vICAgfSxcclxuICAgIC8vIH07XHJcbiAgICBjb25zdCByZXQ6IFRwU3ViQXNzZW1ibHlOb2RlID0ge1xyXG4gICAgICAuLi5zdWJBc3NlbWJseSxcclxuICAgICAgYXBwcm92ZXJzOiBhd2FpdCBwcm9jZXNzQ29ubmVjdGlvbihhcHByb3ZlcnMsIChub2RlKSA9PlxyXG4gICAgICAgIHRoaXMucHJvY2Vzc1RwQXNzZW1ibHlBcHByb3Zlck5vZGUobm9kZSwgYXBwbGllZClcclxuICAgICAgKSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCFhcHBsaWVkKSB7XHJcbiAgICAgIGlmIChzdWJqZWN0Q2lwaGVyRGF0YSkge1xyXG4gICAgICAgIHJldC5zdWJqZWN0Q2lwaGVyRGF0YUNsZWFySnNvbiA9IGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZyb21TdHJpbmcoXHJcbiAgICAgICAgICBzdWJqZWN0S2V5SWQsXHJcbiAgICAgICAgICBzdWJqZWN0Q2lwaGVyRGF0YVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzVHBBc3NlbWJseUFwcHJvdmVyTm9kZShcclxuICAgIGFwcHJvdmVyOiBUcEFzc2VtYmx5QXBwcm92ZXJOb2RlLFxyXG4gICAgYXBwbGllZDogYm9vbGVhblxyXG4gICkge1xyXG4gICAgcmV0dXJuIGFwcHJvdmVyO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import gql from 'graphql-tag';
|
|
4
|
-
import { EncryptionService } from '../cryptography/encryption.service';
|
|
5
|
-
import { KeyGraphService } from '../cryptography/key-graph.service';
|
|
6
|
-
import { KeyService } from '../cryptography/key.service';
|
|
7
|
-
import { ContactCardName } from '../users/profile.types';
|
|
8
|
-
import { LrApolloService } from './lr-apollo.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../cryptography/key.service";
|
|
11
|
-
import * as i2 from "./lr-apollo.service";
|
|
12
|
-
import * as i3 from "../cryptography/key-graph.service";
|
|
13
|
-
import * as i4 from "../cryptography/encryption.service";
|
|
14
|
-
export const SharedContactCardFields = `
|
|
15
|
-
id
|
|
16
|
-
owner {
|
|
17
|
-
id
|
|
18
|
-
username
|
|
19
|
-
}
|
|
20
|
-
ownerKey {
|
|
21
|
-
id
|
|
22
|
-
}
|
|
23
|
-
ownerCipherData
|
|
24
|
-
receiver {
|
|
25
|
-
id
|
|
26
|
-
username
|
|
27
|
-
}
|
|
28
|
-
receiverKey {
|
|
29
|
-
id
|
|
30
|
-
}
|
|
31
|
-
receiverCipherData
|
|
32
|
-
sharedKey {
|
|
33
|
-
id
|
|
34
|
-
}
|
|
35
|
-
sharedCipherData
|
|
36
|
-
sharedCipherDataSig
|
|
37
|
-
sharedCipherDataSigPxk {
|
|
38
|
-
id
|
|
39
|
-
}
|
|
40
|
-
`;
|
|
41
|
-
const UpdateOwnedContactCard = gql `
|
|
42
|
-
mutation UpdateOwnedContactCard(
|
|
43
|
-
$input: UpdateOwnedContactCardInput!
|
|
44
|
-
) {
|
|
45
|
-
updateOwnedContactCard(
|
|
46
|
-
input: $input
|
|
47
|
-
) {
|
|
48
|
-
ownedContactCard {
|
|
49
|
-
${SharedContactCardFields}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}`;
|
|
53
|
-
export class SharedContactCardService {
|
|
54
|
-
constructor(keyService, lrApollo, keyGraph, encryptionService) {
|
|
55
|
-
this.keyService = keyService;
|
|
56
|
-
this.lrApollo = lrApollo;
|
|
57
|
-
this.keyGraph = keyGraph;
|
|
58
|
-
this.encryptionService = encryptionService;
|
|
59
|
-
}
|
|
60
|
-
decryptSharedTrustedPartyDetails(cc) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const details = yield this.decryptTrustedPartyDetails(cc);
|
|
63
|
-
return Object.assign({ id: cc.id, ownedKeyId: cc.ownerKey.id, sharedKeyId: cc.sharedKey.id }, details);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
decryptTrustedPartyDetails(cc) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
if (cc && cc.sharedKey && cc.sharedCipherData) {
|
|
69
|
-
try {
|
|
70
|
-
return yield this.encryptionService.decrypt(yield this.keyGraph.getJwkKey(cc.sharedKey.id), cc.sharedCipherData);
|
|
71
|
-
}
|
|
72
|
-
catch (e) {
|
|
73
|
-
console.error('Cannot decrypt trusted party details', e);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
updateMySharedContactCard(id, ownedKeyId, sharedKeyId, contactCard) {
|
|
80
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
const ownerKey = yield this.keyGraph.getKey(ownedKeyId);
|
|
82
|
-
const sharedKey = yield this.keyGraph.getKey(sharedKeyId);
|
|
83
|
-
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
84
|
-
const sharedCipherData = yield this.encryptionService.encrypt(sharedKey.jwk, contactCard);
|
|
85
|
-
const sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, sharedCipherData));
|
|
86
|
-
const ownerPlainData = {
|
|
87
|
-
name: new ContactCardName(contactCard.name),
|
|
88
|
-
};
|
|
89
|
-
const ownerPlainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ownerPlainData));
|
|
90
|
-
yield this.lrApollo.mutate({
|
|
91
|
-
mutation: UpdateOwnedContactCard,
|
|
92
|
-
variables: {
|
|
93
|
-
input: {
|
|
94
|
-
id,
|
|
95
|
-
ownerCipherData: '',
|
|
96
|
-
ownerKeyId: ownerKey.id,
|
|
97
|
-
sharedCipherDataSig,
|
|
98
|
-
sharedKeyId: sharedKey.id,
|
|
99
|
-
sigPxkId: sigPxk.id,
|
|
100
|
-
ownerPlainDataSig,
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
SharedContactCardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedContactCardService_Factory() { return new SharedContactCardService(i0.ɵɵinject(i1.KeyService), i0.ɵɵinject(i2.LrApolloService), i0.ɵɵinject(i3.KeyGraphService), i0.ɵɵinject(i4.EncryptionService)); }, token: SharedContactCardService, providedIn: "root" });
|
|
108
|
-
SharedContactCardService.decorators = [
|
|
109
|
-
{ type: Injectable, args: [{
|
|
110
|
-
providedIn: 'root',
|
|
111
|
-
},] }
|
|
112
|
-
];
|
|
113
|
-
SharedContactCardService.ctorParameters = () => [
|
|
114
|
-
{ type: KeyService },
|
|
115
|
-
{ type: LrApolloService },
|
|
116
|
-
{ type: KeyGraphService },
|
|
117
|
-
{ type: EncryptionService }
|
|
118
|
-
];
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import gql from 'graphql-tag';
|
|
4
|
+
import { EncryptionService } from '../cryptography/encryption.service';
|
|
5
|
+
import { KeyGraphService } from '../cryptography/key-graph.service';
|
|
6
|
+
import { KeyService } from '../cryptography/key.service';
|
|
7
|
+
import { ContactCardName } from '../users/profile.types';
|
|
8
|
+
import { LrApolloService } from './lr-apollo.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../cryptography/key.service";
|
|
11
|
+
import * as i2 from "./lr-apollo.service";
|
|
12
|
+
import * as i3 from "../cryptography/key-graph.service";
|
|
13
|
+
import * as i4 from "../cryptography/encryption.service";
|
|
14
|
+
export const SharedContactCardFields = `
|
|
15
|
+
id
|
|
16
|
+
owner {
|
|
17
|
+
id
|
|
18
|
+
username
|
|
19
|
+
}
|
|
20
|
+
ownerKey {
|
|
21
|
+
id
|
|
22
|
+
}
|
|
23
|
+
ownerCipherData
|
|
24
|
+
receiver {
|
|
25
|
+
id
|
|
26
|
+
username
|
|
27
|
+
}
|
|
28
|
+
receiverKey {
|
|
29
|
+
id
|
|
30
|
+
}
|
|
31
|
+
receiverCipherData
|
|
32
|
+
sharedKey {
|
|
33
|
+
id
|
|
34
|
+
}
|
|
35
|
+
sharedCipherData
|
|
36
|
+
sharedCipherDataSig
|
|
37
|
+
sharedCipherDataSigPxk {
|
|
38
|
+
id
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
41
|
+
const UpdateOwnedContactCard = gql `
|
|
42
|
+
mutation UpdateOwnedContactCard(
|
|
43
|
+
$input: UpdateOwnedContactCardInput!
|
|
44
|
+
) {
|
|
45
|
+
updateOwnedContactCard(
|
|
46
|
+
input: $input
|
|
47
|
+
) {
|
|
48
|
+
ownedContactCard {
|
|
49
|
+
${SharedContactCardFields}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}`;
|
|
53
|
+
export class SharedContactCardService {
|
|
54
|
+
constructor(keyService, lrApollo, keyGraph, encryptionService) {
|
|
55
|
+
this.keyService = keyService;
|
|
56
|
+
this.lrApollo = lrApollo;
|
|
57
|
+
this.keyGraph = keyGraph;
|
|
58
|
+
this.encryptionService = encryptionService;
|
|
59
|
+
}
|
|
60
|
+
decryptSharedTrustedPartyDetails(cc) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const details = yield this.decryptTrustedPartyDetails(cc);
|
|
63
|
+
return Object.assign({ id: cc.id, ownedKeyId: cc.ownerKey.id, sharedKeyId: cc.sharedKey.id }, details);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
decryptTrustedPartyDetails(cc) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
if (cc && cc.sharedKey && cc.sharedCipherData) {
|
|
69
|
+
try {
|
|
70
|
+
return yield this.encryptionService.decrypt(yield this.keyGraph.getJwkKey(cc.sharedKey.id), cc.sharedCipherData);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
console.error('Cannot decrypt trusted party details', e);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
updateMySharedContactCard(id, ownedKeyId, sharedKeyId, contactCard) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const ownerKey = yield this.keyGraph.getKey(ownedKeyId);
|
|
82
|
+
const sharedKey = yield this.keyGraph.getKey(sharedKeyId);
|
|
83
|
+
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
84
|
+
const sharedCipherData = yield this.encryptionService.encrypt(sharedKey.jwk, contactCard);
|
|
85
|
+
const sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, sharedCipherData));
|
|
86
|
+
const ownerPlainData = {
|
|
87
|
+
name: new ContactCardName(contactCard.name),
|
|
88
|
+
};
|
|
89
|
+
const ownerPlainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ownerPlainData));
|
|
90
|
+
yield this.lrApollo.mutate({
|
|
91
|
+
mutation: UpdateOwnedContactCard,
|
|
92
|
+
variables: {
|
|
93
|
+
input: {
|
|
94
|
+
id,
|
|
95
|
+
ownerCipherData: '',
|
|
96
|
+
ownerKeyId: ownerKey.id,
|
|
97
|
+
sharedCipherDataSig,
|
|
98
|
+
sharedKeyId: sharedKey.id,
|
|
99
|
+
sigPxkId: sigPxk.id,
|
|
100
|
+
ownerPlainDataSig,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
SharedContactCardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedContactCardService_Factory() { return new SharedContactCardService(i0.ɵɵinject(i1.KeyService), i0.ɵɵinject(i2.LrApolloService), i0.ɵɵinject(i3.KeyGraphService), i0.ɵɵinject(i4.EncryptionService)); }, token: SharedContactCardService, providedIn: "root" });
|
|
108
|
+
SharedContactCardService.decorators = [
|
|
109
|
+
{ type: Injectable, args: [{
|
|
110
|
+
providedIn: 'root',
|
|
111
|
+
},] }
|
|
112
|
+
];
|
|
113
|
+
SharedContactCardService.ctorParameters = () => [
|
|
114
|
+
{ type: KeyService },
|
|
115
|
+
{ type: LrApolloService },
|
|
116
|
+
{ type: KeyGraphService },
|
|
117
|
+
{ type: EncryptionService }
|
|
118
|
+
];
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvc2hhcmVkLWNvbnRhY3QtY2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUU5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFHOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFFdEQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEJ0QyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O1FBUTFCLHVCQUF1Qjs7O0VBRzdCLENBQUM7QUEyQkgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLFFBQXlCLEVBQ3pCLGlCQUFvQztRQUhwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVFLGdDQUFnQyxDQUNwQyxFQUFxQjs7WUFFckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFMUQsdUJBQ0UsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQ1QsVUFBVSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUMxQixXQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQ3pCLE9BQU8sRUFDVjtRQUNKLENBQUM7S0FBQTtJQUVLLDBCQUEwQixDQUM5QixFQUFxQjs7WUFFckIsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzdDLElBQUk7b0JBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQ3pDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDOUMsRUFBRSxDQUFDLGdCQUFnQixDQUNwQixDQUFDO2lCQUNIO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzFEO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVLLHlCQUF5QixDQUM3QixFQUFVLEVBQ1YsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsV0FBZ0M7O1lBRWhDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUV4RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FDM0QsU0FBUyxDQUFDLEdBQUcsRUFDYixXQUFXLENBQ1osQ0FBQztZQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDeEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FDaEUsQ0FBQztZQUVGLE1BQU0sY0FBYyxHQUFHO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzthQUM1QyxDQUFDO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUN0QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FDOUQsQ0FBQztZQUVGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQXlCO2dCQUNqRCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNMLEVBQUU7d0JBQ0YsZUFBZSxFQUFFLEVBQUU7d0JBQ25CLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTt3QkFDdkIsbUJBQW1CO3dCQUNuQixXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUU7d0JBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTt3QkFDbkIsaUJBQWlCO3FCQUNsQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7OztZQS9FRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXhFUSxVQUFVO1lBS1YsZUFBZTtZQU5mLGVBQWU7WUFEZixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBLZXkgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1ncmFwaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5U2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9rZXkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNoYXJlZFRydXN0ZWRQYXJ0eURldGFpbHMgfSBmcm9tICcuLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS50eXBlcyc7XHJcbmltcG9ydCB7IENvbnRhY3RDYXJkTmFtZSwgVHJ1c3RlZFBhcnR5RGV0YWlscyB9IGZyb20gJy4uL3VzZXJzL3Byb2ZpbGUudHlwZXMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcnMvdXNlci50eXBlcyc7XHJcbmltcG9ydCB7IEtleUdyYXBoRmllbGQgfSBmcm9tICcuLi9fY29tbW9uL3F1ZXJpZXMuZ3FsJztcclxuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi9sci1hcG9sbG8uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY29uc3QgU2hhcmVkQ29udGFjdENhcmRGaWVsZHMgPSBgXHJcbiAgaWRcclxuICBvd25lciB7XHJcbiAgICBpZFxyXG4gICAgdXNlcm5hbWVcclxuICB9XHJcbiAgb3duZXJLZXkge1xyXG4gICAgaWRcclxuICB9XHJcbiAgb3duZXJDaXBoZXJEYXRhXHJcbiAgcmVjZWl2ZXIge1xyXG4gICAgaWRcclxuICAgIHVzZXJuYW1lXHJcbiAgfVxyXG4gIHJlY2VpdmVyS2V5IHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIHJlY2VpdmVyQ2lwaGVyRGF0YVxyXG4gIHNoYXJlZEtleSB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBzaGFyZWRDaXBoZXJEYXRhXHJcbiAgc2hhcmVkQ2lwaGVyRGF0YVNpZ1xyXG4gIHNoYXJlZENpcGhlckRhdGFTaWdQeGsge1xyXG4gICAgaWRcclxuICB9XHJcbmA7XHJcblxyXG5jb25zdCBVcGRhdGVPd25lZENvbnRhY3RDYXJkID0gZ3FsYFxyXG5tdXRhdGlvbiBVcGRhdGVPd25lZENvbnRhY3RDYXJkKFxyXG4gICRpbnB1dDogVXBkYXRlT3duZWRDb250YWN0Q2FyZElucHV0IVxyXG4pIHtcclxuICB1cGRhdGVPd25lZENvbnRhY3RDYXJkKFxyXG4gICAgaW5wdXQ6ICRpbnB1dFxyXG4gICkge1xyXG4gICAgb3duZWRDb250YWN0Q2FyZCB7XHJcbiAgICAgICR7U2hhcmVkQ29udGFjdENhcmRGaWVsZHN9XHJcbiAgICB9XHJcbiAgfVxyXG59YDtcclxuXHJcbmludGVyZmFjZSBVcGRhdGVPd25lZENvbnRhY3RDYXJkIHtcclxuICB1cGRhdGVPd25lZENvbnRhY3RDYXJkOiB7XHJcbiAgICBvd25lZENvbnRhY3RDYXJkOiBTaGFyZWRDb250YWN0Q2FyZDtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZENvbnRhY3RDYXJkIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG93bmVyOiBVc2VyO1xyXG4gIG93bmVyS2V5OiBLZXk7XHJcbiAgb3duZXJDaXBoZXJEYXRhOiBzdHJpbmc7XHJcbiAgcmVjZWl2ZXI6IFVzZXI7XHJcbiAgcmVjZWl2ZXJLZXk6IEtleTtcclxuICByZWNlaXZlckNpcGhlckRhdGE6IHN0cmluZztcclxuICBzaGFyZWRLZXk6IEtleTtcclxuICBzaGFyZWRDaXBoZXJEYXRhOiBzdHJpbmc7XHJcbiAgLy8gRGVjcnlwdGVkXHJcbiAgcGxhaW5Pd25lckNpcGhlckRhdGFKc29uOiBhbnk7XHJcbiAgcGxhaW5SZWNlaXZlckNpcGhlckRhdGFKc29uOiBhbnk7XHJcbiAgcGxhaW5TaGFyZWRDaXBoZXJEYXRhSnNvbjogYW55O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkQ29udGFjdENhcmRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcclxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcclxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcclxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBkZWNyeXB0U2hhcmVkVHJ1c3RlZFBhcnR5RGV0YWlscyhcclxuICAgIGNjOiBTaGFyZWRDb250YWN0Q2FyZFxyXG4gICk6IFByb21pc2U8U2hhcmVkVHJ1c3RlZFBhcnR5RGV0YWlscz4ge1xyXG4gICAgY29uc3QgZGV0YWlscyA9IGF3YWl0IHRoaXMuZGVjcnlwdFRydXN0ZWRQYXJ0eURldGFpbHMoY2MpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiBjYy5pZCxcclxuICAgICAgb3duZWRLZXlJZDogY2Mub3duZXJLZXkuaWQsXHJcbiAgICAgIHNoYXJlZEtleUlkOiBjYy5zaGFyZWRLZXkuaWQsXHJcbiAgICAgIC4uLmRldGFpbHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVjcnlwdFRydXN0ZWRQYXJ0eURldGFpbHMoXHJcbiAgICBjYzogU2hhcmVkQ29udGFjdENhcmRcclxuICApOiBQcm9taXNlPFRydXN0ZWRQYXJ0eURldGFpbHM+IHtcclxuICAgIGlmIChjYyAmJiBjYy5zaGFyZWRLZXkgJiYgY2Muc2hhcmVkQ2lwaGVyRGF0YSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEp3a0tleShjYy5zaGFyZWRLZXkuaWQpLFxyXG4gICAgICAgICAgY2Muc2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5ub3QgZGVjcnlwdCB0cnVzdGVkIHBhcnR5IGRldGFpbHMnLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVNeVNoYXJlZENvbnRhY3RDYXJkKFxyXG4gICAgaWQ6IHN0cmluZyxcclxuICAgIG93bmVkS2V5SWQ6IHN0cmluZyxcclxuICAgIHNoYXJlZEtleUlkOiBzdHJpbmcsXHJcbiAgICBjb250YWN0Q2FyZDogVHJ1c3RlZFBhcnR5RGV0YWlsc1xyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgb3duZXJLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShvd25lZEtleUlkKTtcclxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHNoYXJlZEtleUlkKTtcclxuICAgIGNvbnN0IHNpZ1B4ayA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50U2lnUHhrKCk7XHJcblxyXG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcclxuICAgICAgc2hhcmVkS2V5Lmp3ayxcclxuICAgICAgY29udGFjdENhcmRcclxuICAgICk7XHJcbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhU2lnID0gSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBzaGFyZWRDaXBoZXJEYXRhKVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBvd25lclBsYWluRGF0YSA9IHtcclxuICAgICAgbmFtZTogbmV3IENvbnRhY3RDYXJkTmFtZShjb250YWN0Q2FyZC5uYW1lKSxcclxuICAgIH07XHJcbiAgICBjb25zdCBvd25lclBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgb3duZXJQbGFpbkRhdGEpXHJcbiAgICApO1xyXG5cclxuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPFVwZGF0ZU93bmVkQ29udGFjdENhcmQ+KHtcclxuICAgICAgbXV0YXRpb246IFVwZGF0ZU93bmVkQ29udGFjdENhcmQsXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICBpZCxcclxuICAgICAgICAgIG93bmVyQ2lwaGVyRGF0YTogJycsXHJcbiAgICAgICAgICBvd25lcktleUlkOiBvd25lcktleS5pZCxcclxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGFTaWcsXHJcbiAgICAgICAgICBzaGFyZWRLZXlJZDogc2hhcmVkS2V5LmlkLFxyXG4gICAgICAgICAgc2lnUHhrSWQ6IHNpZ1B4ay5pZCxcclxuICAgICAgICAgIG93bmVyUGxhaW5EYXRhU2lnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { gqlTyped } from '../_common/ast';
|
|
2
|
-
export const UpdateOwnedContactCardMutation = gqlTyped `
|
|
3
|
-
mutation UpdateOwnedContactCardMutation(
|
|
4
|
-
$input: UpdateOwnedContactCardInput!
|
|
5
|
-
) {
|
|
6
|
-
updateOwnedContactCard(input: $input) {
|
|
7
|
-
ownedContactCard {
|
|
8
|
-
id
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
}`;
|
|
12
|
-
export const UpdateReceivedContactCardMutation = gqlTyped `
|
|
13
|
-
mutation UpdateReceivedContactCardMutation(
|
|
14
|
-
$input: UpdateReceivedContactCardInput!
|
|
15
|
-
) {
|
|
16
|
-
updateReceivedContactCard(input: $input) {
|
|
17
|
-
receivedContactCard {
|
|
18
|
-
id
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}`;
|
|
22
|
-
export const GetOwnedContactCardKeyIdsQuery = gqlTyped `
|
|
23
|
-
query GetOwnedContactCardKeyIdsQuery($id: LrRelayIdInput!) {
|
|
24
|
-
ownedContactCard(id: $id) {
|
|
25
|
-
sharedKey {
|
|
26
|
-
id
|
|
27
|
-
}
|
|
28
|
-
ownerKey {
|
|
29
|
-
id
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}`;
|
|
33
|
-
export const GetReceivedContactCardKeyIdQuery = gqlTyped `
|
|
34
|
-
query GetReceivedContactCardKeyIdQuery($id: LrRelayIdInput!) {
|
|
35
|
-
receivedContactCard(id: $id) {
|
|
36
|
-
receiverKey {
|
|
37
|
-
id
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}`;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { gqlTyped } from '../_common/ast';
|
|
2
|
+
export const UpdateOwnedContactCardMutation = gqlTyped `
|
|
3
|
+
mutation UpdateOwnedContactCardMutation(
|
|
4
|
+
$input: UpdateOwnedContactCardInput!
|
|
5
|
+
) {
|
|
6
|
+
updateOwnedContactCard(input: $input) {
|
|
7
|
+
ownedContactCard {
|
|
8
|
+
id
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}`;
|
|
12
|
+
export const UpdateReceivedContactCardMutation = gqlTyped `
|
|
13
|
+
mutation UpdateReceivedContactCardMutation(
|
|
14
|
+
$input: UpdateReceivedContactCardInput!
|
|
15
|
+
) {
|
|
16
|
+
updateReceivedContactCard(input: $input) {
|
|
17
|
+
receivedContactCard {
|
|
18
|
+
id
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}`;
|
|
22
|
+
export const GetOwnedContactCardKeyIdsQuery = gqlTyped `
|
|
23
|
+
query GetOwnedContactCardKeyIdsQuery($id: LrRelayIdInput!) {
|
|
24
|
+
ownedContactCard(id: $id) {
|
|
25
|
+
sharedKey {
|
|
26
|
+
id
|
|
27
|
+
}
|
|
28
|
+
ownerKey {
|
|
29
|
+
id
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}`;
|
|
33
|
+
export const GetReceivedContactCardKeyIdQuery = gqlTyped `
|
|
34
|
+
query GetReceivedContactCardKeyIdQuery($id: LrRelayIdInput!) {
|
|
35
|
+
receivedContactCard(id: $id) {
|
|
36
|
+
receiverKey {
|
|
37
|
+
id
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}`;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvc2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVUxQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7RUFTcEYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLFFBQVEsQ0FBbUM7Ozs7Ozs7OztFQVMxRixDQUFDO0FBWUgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsUUFBUSxDQUFnQzs7Ozs7Ozs7OztFQVVwRixDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsUUFBUSxDQUFrQzs7Ozs7OztFQU94RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsVHlwZWQgfSBmcm9tICcuLi9fY29tbW9uL2FzdCc7XHJcbmltcG9ydCB7IElEIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU93bmVkQ29udGFjdENhcmRNdXRhdGlvbiB7XHJcbiAgdXBkYXRlT3duZWRDb250YWN0Q2FyZDoge1xyXG4gICAgb3duZWRDb250YWN0Q2FyZDoge1xyXG4gICAgICBpZDogSUQ7XHJcbiAgICB9O1xyXG4gIH07XHJcbn1cclxuZXhwb3J0IGNvbnN0IFVwZGF0ZU93bmVkQ29udGFjdENhcmRNdXRhdGlvbiA9IGdxbFR5cGVkPFVwZGF0ZU93bmVkQ29udGFjdENhcmRNdXRhdGlvbj5gXHJcbm11dGF0aW9uIFVwZGF0ZU93bmVkQ29udGFjdENhcmRNdXRhdGlvbihcclxuICAkaW5wdXQ6IFVwZGF0ZU93bmVkQ29udGFjdENhcmRJbnB1dCFcclxuKSB7XHJcbiAgdXBkYXRlT3duZWRDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XHJcbiAgICBvd25lZENvbnRhY3RDYXJkIHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICB9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24ge1xyXG4gIHVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmQ6IHtcclxuICAgIHJlY2VpdmVkQ29udGFjdENhcmQ6IHtcclxuICAgICAgaWQ6IElEO1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbmV4cG9ydCBjb25zdCBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24gPSBncWxUeXBlZDxVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24+YFxyXG5tdXRhdGlvbiBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24oXHJcbiAgJGlucHV0OiBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkSW5wdXQhXHJcbikge1xyXG4gIHVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmQoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgcmVjZWl2ZWRDb250YWN0Q2FyZCB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG59YDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5IHtcclxuICBvd25lZENvbnRhY3RDYXJkOiB7XHJcbiAgICBzaGFyZWRLZXk6IHtcclxuICAgICAgaWQ6IElEO1xyXG4gICAgfTtcclxuICAgIG93bmVyS2V5OiB7XHJcbiAgICAgIGlkOiBJRDtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5leHBvcnQgY29uc3QgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5ID0gZ3FsVHlwZWQ8R2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5PmBcclxucXVlcnkgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5KCRpZDogTHJSZWxheUlkSW5wdXQhKSB7XHJcbiAgb3duZWRDb250YWN0Q2FyZChpZDogJGlkKSB7XHJcbiAgICBzaGFyZWRLZXkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gICAgb3duZXJLZXkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxufWA7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZFF1ZXJ5IHtcclxuICByZWNlaXZlZENvbnRhY3RDYXJkOiB7XHJcbiAgICByZWNlaXZlcktleToge1xyXG4gICAgICBpZDogSUQ7XHJcbiAgICB9O1xyXG4gIH07XHJcbn1cclxuZXhwb3J0IGNvbnN0IEdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZFF1ZXJ5ID0gZ3FsVHlwZWQ8R2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkUXVlcnk+YFxyXG5xdWVyeSBHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeSgkaWQ6IExyUmVsYXlJZElucHV0ISkge1xyXG4gIHJlY2VpdmVkQ29udGFjdENhcmQoaWQ6ICRpZCkge1xyXG4gICAgcmVjZWl2ZXJLZXkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxufWA7XHJcbiJdfQ==
|