@lifeready/core 1.0.1 → 1.0.3
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 +15939 -0
- package/bundles/lifeready-core.umd.js.map +1 -0
- package/bundles/lifeready-core.umd.min.js +16 -0
- package/bundles/lifeready-core.umd.min.js.map +1 -0
- package/esm2015/lib/_common/ast.js +40 -0
- package/esm2015/lib/_common/deferred-promise.js +24 -0
- package/esm2015/lib/_common/exceptions.js +157 -0
- package/esm2015/lib/_common/queries.gql.js +190 -0
- package/esm2015/lib/_common/run-outside-angular.js +79 -0
- package/esm2015/lib/_common/types.js +1 -0
- package/esm2015/lib/_common/utils.js +44 -0
- package/esm2015/lib/api/contact-card.gql.js +79 -0
- package/esm2015/lib/api/contact-card.service.js +154 -0
- package/esm2015/lib/api/contact-card2.gql.js +60 -0
- package/esm2015/lib/api/contact-card2.service.js +103 -0
- package/esm2015/lib/api/file.service.js +74 -0
- package/esm2015/lib/api/item2.gql.js +110 -0
- package/esm2015/lib/api/item2.service.js +311 -0
- package/esm2015/lib/api/key-exchange.gql.js +188 -0
- package/esm2015/lib/api/key-exchange.service.js +442 -0
- package/esm2015/lib/api/key-exchange.types.js +18 -0
- package/esm2015/lib/api/key-exchange2.gql.js +171 -0
- package/esm2015/lib/api/key-exchange2.service.js +479 -0
- package/esm2015/lib/api/lock.gql.js +40 -0
- package/esm2015/lib/api/lock.service.js +64 -0
- package/esm2015/lib/api/lr-apollo.service.js +46 -0
- package/esm2015/lib/api/lr-graphql/index.js +6 -0
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
- package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
- package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
- package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
- package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
- package/esm2015/lib/api/message.service.js +138 -0
- package/esm2015/lib/api/persist.service.js +181 -0
- package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
- package/esm2015/lib/api/query-processor/index.js +3 -0
- package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
- package/esm2015/lib/api/shared-contact-card.service.js +119 -0
- package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
- package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
- package/esm2015/lib/api/time.service.js +146 -0
- package/esm2015/lib/api/types/graphql.types.js +7 -0
- package/esm2015/lib/api/types/index.js +3 -0
- package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
- package/esm2015/lib/auth/auth.config.js +57 -0
- package/esm2015/lib/auth/auth.gql.js +48 -0
- package/esm2015/lib/auth/auth.types.js +27 -0
- package/esm2015/lib/auth/idle.service.js +168 -0
- package/esm2015/lib/auth/idle.types.js +7 -0
- package/esm2015/lib/auth/lbop.service.js +355 -0
- package/esm2015/lib/auth/life-ready-auth.service.js +500 -0
- package/esm2015/lib/auth/password.service.js +320 -0
- package/esm2015/lib/auth/register.service.js +172 -0
- package/esm2015/lib/auth/two-factor.service.js +74 -0
- package/esm2015/lib/category/category-meta.service.js +99 -0
- package/esm2015/lib/category/category.gql.js +406 -0
- package/esm2015/lib/category/category.service.js +390 -0
- package/esm2015/lib/category/category.types.js +29 -0
- package/esm2015/lib/cryptography/cryptography.types.js +11 -0
- package/esm2015/lib/cryptography/encryption.service.js +189 -0
- package/esm2015/lib/cryptography/key-factory.service.js +237 -0
- package/esm2015/lib/cryptography/key-graph.service.js +280 -0
- package/esm2015/lib/cryptography/key-meta.service.js +200 -0
- package/esm2015/lib/cryptography/key.service.js +124 -0
- package/esm2015/lib/cryptography/slip39.service.js +169 -0
- package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
- package/esm2015/lib/life-ready.config.js +84 -0
- package/esm2015/lib/life-ready.module.js +74 -0
- package/esm2015/lib/plan/plan.gql.js +123 -0
- package/esm2015/lib/plan/plan.service.js +149 -0
- package/esm2015/lib/plan/plan.types.js +11 -0
- package/esm2015/lib/record/record-attachment.service.js +101 -0
- package/esm2015/lib/record/record.gql.js +179 -0
- package/esm2015/lib/record/record.service.js +206 -0
- package/esm2015/lib/record/record.types.js +15 -0
- package/esm2015/lib/record-type/record-type.service.js +75 -0
- package/esm2015/lib/record-type/record-type.types.js +28 -0
- package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
- package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
- package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
- package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
- package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
- package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
- package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
- package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
- package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
- package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
- package/esm2015/lib/scenario/scenario.gql.js +368 -0
- package/esm2015/lib/scenario/scenario.service.js +611 -0
- package/esm2015/lib/scenario/scenario.types.js +64 -0
- package/esm2015/lib/search/search.gql.js +62 -0
- package/esm2015/lib/search/search.service.js +156 -0
- package/esm2015/lib/search/search.types.js +6 -0
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -0
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -0
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -0
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
- package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
- package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
- package/esm2015/lib/users/profile-details.service.js +214 -0
- package/esm2015/lib/users/profile.gql.js +97 -0
- package/esm2015/lib/users/profile.service.js +169 -0
- package/esm2015/lib/users/profile.types.js +34 -0
- package/esm2015/lib/users/user.gql.js +60 -0
- package/esm2015/lib/users/user.service.js +79 -0
- package/esm2015/lib/users/user.types.js +5 -0
- package/esm2015/lifeready-core.js +10 -0
- package/esm2015/public-api.js +81 -0
- package/fesm2015/lifeready-core.js +13314 -0
- package/fesm2015/lifeready-core.js.map +1 -0
- package/lib/_common/ast.d.ts +11 -0
- package/lib/_common/deferred-promise.d.ts +12 -0
- package/lib/_common/exceptions.d.ts +109 -0
- package/lib/_common/queries.gql.d.ts +10 -0
- package/lib/_common/run-outside-angular.d.ts +14 -0
- package/{src/lib/_common/types.ts → lib/_common/types.d.ts} +3 -6
- package/lib/_common/utils.d.ts +3 -0
- package/lib/api/contact-card.gql.d.ts +7 -0
- package/lib/api/contact-card.service.d.ts +52 -0
- package/lib/api/contact-card2.gql.d.ts +34 -0
- package/lib/api/contact-card2.service.d.ts +49 -0
- package/lib/api/file.service.d.ts +18 -0
- package/lib/api/item2.gql.d.ts +96 -0
- package/lib/api/item2.service.d.ts +177 -0
- package/lib/api/key-exchange.gql.d.ts +9 -0
- package/lib/api/key-exchange.service.d.ts +39 -0
- package/lib/api/key-exchange.types.d.ts +196 -0
- package/lib/api/key-exchange2.gql.d.ts +125 -0
- package/lib/api/key-exchange2.service.d.ts +187 -0
- package/lib/api/lock.gql.d.ts +27 -0
- package/lib/api/lock.service.d.ts +25 -0
- package/lib/api/lr-apollo.service.d.ts +15 -0
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
- package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
- package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
- package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
- package/lib/api/lr-graphql/lr.service.d.ts +9 -0
- package/lib/api/message.service.d.ts +58 -0
- package/lib/api/persist.service.d.ts +31 -0
- package/lib/api/query-processor/common-processors.service.d.ts +36 -0
- package/lib/api/query-processor/query-processor.service.d.ts +18 -0
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
- package/lib/api/shared-contact-card.service.d.ts +33 -0
- package/lib/api/shared-contact-card2.gql.d.ts +36 -0
- package/lib/api/shared-contact-card2.service.d.ts +45 -0
- package/lib/api/time.service.d.ts +16 -0
- package/lib/api/types/graphql.types.d.ts +29 -0
- package/lib/api/types/lr-graphql.types.d.ts +385 -0
- package/lib/auth/auth.config.d.ts +5 -0
- package/lib/auth/auth.gql.d.ts +15 -0
- package/lib/auth/auth.types.d.ts +66 -0
- package/lib/auth/idle.service.d.ts +40 -0
- package/lib/auth/idle.types.d.ts +10 -0
- package/lib/auth/lbop.service.d.ts +91 -0
- package/lib/auth/life-ready-auth.service.d.ts +59 -0
- package/lib/auth/password.service.d.ts +78 -0
- package/lib/auth/register.service.d.ts +25 -0
- package/lib/auth/two-factor.service.d.ts +15 -0
- package/lib/category/category-meta.service.d.ts +23 -0
- package/lib/category/category.gql.d.ts +45 -0
- package/lib/category/category.service.d.ts +67 -0
- package/lib/category/category.types.d.ts +79 -0
- package/lib/cryptography/cryptography.types.d.ts +83 -0
- package/lib/cryptography/encryption.service.d.ts +41 -0
- package/lib/cryptography/key-factory.service.d.ts +38 -0
- package/lib/cryptography/key-graph.service.d.ts +33 -0
- package/lib/cryptography/key-meta.service.d.ts +44 -0
- package/lib/cryptography/key.service.d.ts +36 -0
- package/lib/cryptography/slip39.service.d.ts +43 -0
- package/lib/cryptography/web-crypto.service.d.ts +5 -0
- package/lib/life-ready.config.d.ts +14 -0
- package/lib/life-ready.module.d.ts +5 -0
- package/lib/plan/plan.gql.d.ts +11 -0
- package/lib/plan/plan.service.d.ts +33 -0
- package/lib/plan/plan.types.d.ts +31 -0
- package/lib/record/record-attachment.service.d.ts +16 -0
- package/lib/record/record.gql.d.ts +14 -0
- package/lib/record/record.service.d.ts +25 -0
- package/lib/record/record.types.d.ts +57 -0
- package/lib/record-type/record-type.service.d.ts +11 -0
- package/lib/record-type/record-type.types.d.ts +50 -0
- package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
- package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
- package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
- package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
- package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
- package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
- package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
- package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
- package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
- package/lib/scenario/scenario-setup.service.d.ts +22 -0
- package/lib/scenario/scenario.gql.d.ts +34 -0
- package/lib/scenario/scenario.service.d.ts +58 -0
- package/lib/scenario/scenario.types.d.ts +217 -0
- package/lib/search/search.gql.d.ts +1 -0
- package/lib/search/search.service.d.ts +25 -0
- package/lib/search/search.types.d.ts +20 -0
- package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
- package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -0
- package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -0
- package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
- package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -0
- package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
- package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
- package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
- package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
- package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
- package/lib/users/profile-details.service.d.ts +21 -0
- package/lib/users/profile.gql.d.ts +11 -0
- package/lib/users/profile.service.d.ts +35 -0
- package/lib/users/profile.types.d.ts +96 -0
- package/lib/users/user.gql.d.ts +9 -0
- package/lib/users/user.service.d.ts +12 -0
- package/lib/users/user.types.d.ts +23 -0
- package/lifeready-core.d.ts +9 -0
- package/lifeready-core.metadata.json +1 -0
- package/package.json +29 -21
- package/{src/public-api.ts → public-api.d.ts} +0 -19
- package/karma.conf.js +0 -32
- package/ng-package.json +0 -26
- package/src/lib/_common/ast.ts +0 -75
- package/src/lib/_common/deferred-promise.ts +0 -35
- package/src/lib/_common/exceptions.ts +0 -189
- package/src/lib/_common/queries.gql.ts +0 -200
- package/src/lib/_common/run-outside-angular.ts +0 -125
- package/src/lib/_common/tests.ts +0 -82
- package/src/lib/_common/utils.ts +0 -57
- package/src/lib/api/api-mutation.spec.ts +0 -547
- package/src/lib/api/api-query.spec.ts +0 -40
- package/src/lib/api/contact-card.gql.ts +0 -85
- package/src/lib/api/contact-card.service.spec.ts +0 -249
- package/src/lib/api/contact-card.service.ts +0 -228
- package/src/lib/api/contact-card2.gql.ts +0 -93
- package/src/lib/api/contact-card2.service.spec.ts +0 -297
- package/src/lib/api/contact-card2.service.ts +0 -139
- package/src/lib/api/file.service.spec.ts +0 -14
- package/src/lib/api/file.service.ts +0 -81
- package/src/lib/api/item2.gql.ts +0 -211
- package/src/lib/api/item2.service.spec.ts +0 -1043
- package/src/lib/api/item2.service.ts +0 -481
- package/src/lib/api/key-exchange.gql.ts +0 -196
- package/src/lib/api/key-exchange.service.spec.ts +0 -470
- package/src/lib/api/key-exchange.service.ts +0 -731
- package/src/lib/api/key-exchange.types.ts +0 -235
- package/src/lib/api/key-exchange2.gql.ts +0 -310
- package/src/lib/api/key-exchange2.service.spec.ts +0 -892
- package/src/lib/api/key-exchange2.service.ts +0 -875
- package/src/lib/api/lock.gql.ts +0 -67
- package/src/lib/api/lock.service.spec.ts +0 -549
- package/src/lib/api/lock.service.ts +0 -57
- package/src/lib/api/lr-apollo.service.spec.ts +0 -27
- package/src/lib/api/lr-apollo.service.ts +0 -43
- package/src/lib/api/lr-graphql/lr-graphql.service.ts +0 -313
- package/src/lib/api/lr-graphql/lr-merged-mutation.ts +0 -377
- package/src/lib/api/lr-graphql/lr-mutation-base.ts +0 -67
- package/src/lib/api/lr-graphql/lr-mutation.ts +0 -74
- package/src/lib/api/lr-graphql/lr.service.ts +0 -28
- package/src/lib/api/message.service.spec.ts +0 -20
- package/src/lib/api/message.service.ts +0 -210
- package/src/lib/api/persist.service.spec.ts +0 -209
- package/src/lib/api/persist.service.ts +0 -220
- package/src/lib/api/query-processor/common-processors.service.ts +0 -148
- package/src/lib/api/query-processor/query-processor.service.ts +0 -240
- package/src/lib/api/query-processor/tp-password-reset-processor.service.ts +0 -177
- package/src/lib/api/shared-contact-card.service.ts +0 -156
- package/src/lib/api/shared-contact-card2.gql.ts +0 -76
- package/src/lib/api/shared-contact-card2.service.ts +0 -154
- package/src/lib/api/time.service.spec.ts +0 -48
- package/src/lib/api/time.service.ts +0 -155
- package/src/lib/api/types/graphql.types.ts +0 -48
- package/src/lib/api/types/lr-graphql.types.ts +0 -467
- package/src/lib/auth/auth.config.ts +0 -83
- package/src/lib/auth/auth.gql.ts +0 -62
- package/src/lib/auth/auth.types.ts +0 -79
- package/src/lib/auth/idle.service.spec.ts +0 -119
- package/src/lib/auth/idle.service.ts +0 -208
- package/src/lib/auth/idle.types.ts +0 -11
- package/src/lib/auth/lbop.service.spec.ts +0 -56
- package/src/lib/auth/lbop.service.ts +0 -539
- package/src/lib/auth/life-ready-auth.service.spec.ts +0 -70
- package/src/lib/auth/life-ready-auth.service.ts +0 -454
- package/src/lib/auth/password.service.spec.ts +0 -51
- package/src/lib/auth/password.service.ts +0 -438
- package/src/lib/auth/register.service.spec.ts +0 -31
- package/src/lib/auth/register.service.ts +0 -181
- package/src/lib/auth/two-factor.service.spec.ts +0 -21
- package/src/lib/auth/two-factor.service.ts +0 -69
- package/src/lib/category/category-meta.service.spec.ts +0 -28
- package/src/lib/category/category-meta.service.ts +0 -125
- package/src/lib/category/category.gql.ts +0 -449
- package/src/lib/category/category.service.spec.ts +0 -26
- package/src/lib/category/category.service.ts +0 -498
- package/src/lib/category/category.types.ts +0 -89
- package/src/lib/cryptography/cryptography.types.ts +0 -108
- package/src/lib/cryptography/encryption.service.spec.ts +0 -125
- package/src/lib/cryptography/encryption.service.ts +0 -243
- package/src/lib/cryptography/key-factory.service.spec.ts +0 -15
- package/src/lib/cryptography/key-factory.service.ts +0 -303
- package/src/lib/cryptography/key-graph.service.spec.ts +0 -16
- package/src/lib/cryptography/key-graph.service.ts +0 -354
- package/src/lib/cryptography/key-meta.service.spec.ts +0 -40
- package/src/lib/cryptography/key-meta.service.ts +0 -254
- package/src/lib/cryptography/key.service.spec.ts +0 -16
- package/src/lib/cryptography/key.service.ts +0 -154
- package/src/lib/cryptography/slip39.service.spec.ts +0 -44
- package/src/lib/cryptography/slip39.service.ts +0 -204
- package/src/lib/cryptography/web-crypto.service.ts +0 -22
- package/src/lib/life-ready.config.ts +0 -127
- package/src/lib/life-ready.module.ts +0 -81
- package/src/lib/plan/plan.gql.ts +0 -133
- package/src/lib/plan/plan.service.spec.ts +0 -294
- package/src/lib/plan/plan.service.ts +0 -198
- package/src/lib/plan/plan.types.ts +0 -37
- package/src/lib/record/record-attachment.service.spec.ts +0 -31
- package/src/lib/record/record-attachment.service.ts +0 -101
- package/src/lib/record/record.gql.ts +0 -192
- package/src/lib/record/record.service.spec.ts +0 -598
- package/src/lib/record/record.service.ts +0 -236
- package/src/lib/record/record.types.ts +0 -86
- package/src/lib/record-type/record-type.service.spec.ts +0 -16
- package/src/lib/record-type/record-type.service.ts +0 -71
- package/src/lib/record-type/record-type.types.ts +0 -58
- package/src/lib/scenario/approvals/scenario-approval.gql.ts +0 -112
- package/src/lib/scenario/approvals/scenario-approval.types.ts +0 -85
- package/src/lib/scenario/approvals/scenario-approver.service.spec.ts +0 -16
- package/src/lib/scenario/approvals/scenario-approver.service.ts +0 -422
- package/src/lib/scenario/claimants/scenario-claimant.gql.ts +0 -56
- package/src/lib/scenario/claimants/scenario-claimant.service.spec.ts +0 -16
- package/src/lib/scenario/claimants/scenario-claimant.service.ts +0 -100
- package/src/lib/scenario/claimants/scenario-claimant.types.ts +0 -21
- package/src/lib/scenario/receivers/scenario-receiver.gql.ts +0 -157
- package/src/lib/scenario/receivers/scenario-receiver.service.spec.ts +0 -16
- package/src/lib/scenario/receivers/scenario-receiver.service.ts +0 -278
- package/src/lib/scenario/receivers/scenario-receiver.types.ts +0 -66
- package/src/lib/scenario/scenario-setup.service.spec.ts +0 -22
- package/src/lib/scenario/scenario-setup.service.ts +0 -369
- package/src/lib/scenario/scenario.gql.ts +0 -404
- package/src/lib/scenario/scenario.service.spec.ts +0 -1586
- package/src/lib/scenario/scenario.service.ts +0 -811
- package/src/lib/scenario/scenario.types.ts +0 -258
- package/src/lib/search/search.gql.ts +0 -62
- package/src/lib/search/search.service.spec.ts +0 -57
- package/src/lib/search/search.service.ts +0 -174
- package/src/lib/search/search.types.ts +0 -24
- package/src/lib/trusted-parties/tp-password-reset-request.service.ts +0 -140
- package/src/lib/trusted-parties/tp-password-reset-user.service.ts +0 -359
- package/src/lib/trusted-parties/tp-password-reset.gql.ts +0 -453
- package/src/lib/trusted-parties/tp-password-reset.service.spec.ts +0 -602
- package/src/lib/trusted-parties/tp-password-reset.service.ts +0 -482
- package/src/lib/trusted-parties/trusted-party.gql.ts +0 -159
- package/src/lib/trusted-parties/trusted-party.service.spec.ts +0 -1008
- package/src/lib/trusted-parties/trusted-party.service.ts +0 -394
- package/src/lib/trusted-parties/trusted-party.types.ts +0 -119
- package/src/lib/trusted-parties/trusted-party2.gql.ts +0 -165
- package/src/lib/trusted-parties/trusted-party2.service.spec.ts +0 -1782
- package/src/lib/trusted-parties/trusted-party2.service.ts +0 -272
- package/src/lib/users/profile-details.service.spec.ts +0 -45
- package/src/lib/users/profile-details.service.ts +0 -278
- package/src/lib/users/profile.gql.ts +0 -108
- package/src/lib/users/profile.service.spec.ts +0 -97
- package/src/lib/users/profile.service.ts +0 -224
- package/src/lib/users/profile.types.ts +0 -101
- package/src/lib/users/user.gql.ts +0 -69
- package/src/lib/users/user.service.spec.ts +0 -161
- package/src/lib/users/user.service.ts +0 -72
- package/src/lib/users/user.types.ts +0 -27
- package/src/test.ts +0 -21
- package/tsconfig.lib.json +0 -21
- package/tsconfig.lib.prod.json +0 -6
- package/tsconfig.spec.json +0 -10
- package/tslint.json +0 -17
- /package/{src/lib/api/lr-graphql/index.ts → lib/api/lr-graphql/index.d.ts} +0 -0
- /package/{src/lib/api/query-processor/index.ts → lib/api/query-processor/index.d.ts} +0 -0
- /package/{src/lib/api/types/index.ts → lib/api/types/index.d.ts} +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { KeyGraphField } from '../_common/queries.gql';
|
|
2
|
+
import gql from 'graphql-tag';
|
|
3
|
+
export const ContactCardFields = `
|
|
4
|
+
id
|
|
5
|
+
publicData
|
|
6
|
+
publicSearchable
|
|
7
|
+
cipherData
|
|
8
|
+
key {
|
|
9
|
+
id
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
export const ContactCardQuery = gql `
|
|
13
|
+
query ContactCardQuery(
|
|
14
|
+
$id: LrRelayIdInput!
|
|
15
|
+
) {
|
|
16
|
+
contactCard (
|
|
17
|
+
id: $id
|
|
18
|
+
) {
|
|
19
|
+
${ContactCardFields}
|
|
20
|
+
}
|
|
21
|
+
${KeyGraphField}
|
|
22
|
+
}`;
|
|
23
|
+
export const SearchContactCardQuery = gql `
|
|
24
|
+
query SearchContactCardQuery(
|
|
25
|
+
$publicSearchable: LrJSONFilter!
|
|
26
|
+
) {
|
|
27
|
+
searchContactCards(
|
|
28
|
+
publicSearchable: $publicSearchable
|
|
29
|
+
orderBy: "created"
|
|
30
|
+
) {
|
|
31
|
+
edges {
|
|
32
|
+
node {
|
|
33
|
+
${ContactCardFields}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
${KeyGraphField}
|
|
38
|
+
}`;
|
|
39
|
+
export const ContactCardListQuery = gql `
|
|
40
|
+
query ContactCardListQuery {
|
|
41
|
+
contactCards(
|
|
42
|
+
orderBy: "created"
|
|
43
|
+
) {
|
|
44
|
+
edges {
|
|
45
|
+
node {
|
|
46
|
+
${ContactCardFields}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
${KeyGraphField}
|
|
51
|
+
}`;
|
|
52
|
+
export const CreateContactCardMutation = gql `
|
|
53
|
+
mutation CreateContactCardMutation(
|
|
54
|
+
$input: CreateContactCardInput!
|
|
55
|
+
) {
|
|
56
|
+
createContactCard(input: $input) {
|
|
57
|
+
contactCard {
|
|
58
|
+
${ContactCardFields}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}`;
|
|
62
|
+
export const UpdateContactCardMutation = gql `
|
|
63
|
+
mutation UpdateContactCardMutation(
|
|
64
|
+
$input: UpdateContactCardInput!
|
|
65
|
+
) {
|
|
66
|
+
updateContactCard(input: $input) {
|
|
67
|
+
contactCard {
|
|
68
|
+
${ContactCardFields}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}`;
|
|
72
|
+
export const DeleteContactCardMutation = gql `
|
|
73
|
+
mutation DeleteContactCardMutation($input: DeleteContactCardInput!) {
|
|
74
|
+
deleteContactCard(input: $input) {
|
|
75
|
+
id
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
`;
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvY29udGFjdC1jYXJkLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHOzs7Ozs7OztDQVFoQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0lBTy9CLGlCQUFpQjs7RUFFbkIsYUFBYTtFQUNiLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7VUFVL0IsaUJBQWlCOzs7O0lBSXZCLGFBQWE7RUFDZixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O1VBTzdCLGlCQUFpQjs7OztJQUl2QixhQUFhO0VBQ2YsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O1FBTXBDLGlCQUFpQjs7O0VBR3ZCLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUE7Ozs7OztRQU1wQyxpQkFBaUI7OztFQUd2QixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleUdyYXBoRmllbGQgfSBmcm9tICcuLi9fY29tbW9uL3F1ZXJpZXMuZ3FsJztcclxuaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XHJcblxyXG5leHBvcnQgY29uc3QgQ29udGFjdENhcmRGaWVsZHMgPSBgXHJcbmlkXHJcbnB1YmxpY0RhdGFcclxucHVibGljU2VhcmNoYWJsZVxyXG5jaXBoZXJEYXRhXHJcbmtleSB7XHJcbiAgaWRcclxufVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhY3RDYXJkUXVlcnkgPSBncWxgXHJcbnF1ZXJ5IENvbnRhY3RDYXJkUXVlcnkoXHJcbiRpZDogTHJSZWxheUlkSW5wdXQhXHJcbikge1xyXG5jb250YWN0Q2FyZCAoXHJcbiAgaWQ6ICRpZFxyXG4pIHtcclxuICAke0NvbnRhY3RDYXJkRmllbGRzfVxyXG59XHJcbiR7S2V5R3JhcGhGaWVsZH1cclxufWA7XHJcblxyXG5leHBvcnQgY29uc3QgU2VhcmNoQ29udGFjdENhcmRRdWVyeSA9IGdxbGBcclxucXVlcnkgU2VhcmNoQ29udGFjdENhcmRRdWVyeShcclxuICAkcHVibGljU2VhcmNoYWJsZTogTHJKU09ORmlsdGVyIVxyXG4pIHtcclxuICBzZWFyY2hDb250YWN0Q2FyZHMoXHJcbiAgICBwdWJsaWNTZWFyY2hhYmxlOiAkcHVibGljU2VhcmNoYWJsZVxyXG4gICAgb3JkZXJCeTogXCJjcmVhdGVkXCJcclxuICApIHtcclxuICAgIGVkZ2VzIHtcclxuICAgICAgbm9kZSB7XHJcbiAgICAgICAgJHtDb250YWN0Q2FyZEZpZWxkc31cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAke0tleUdyYXBoRmllbGR9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENvbnRhY3RDYXJkTGlzdFF1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBDb250YWN0Q2FyZExpc3RRdWVyeSB7XHJcbiAgY29udGFjdENhcmRzKFxyXG4gICAgb3JkZXJCeTogXCJjcmVhdGVkXCJcclxuICApIHtcclxuICAgIGVkZ2VzIHtcclxuICAgICAgbm9kZSB7XHJcbiAgICAgICAgJHtDb250YWN0Q2FyZEZpZWxkc31cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAke0tleUdyYXBoRmllbGR9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24gPSBncWxgXHJcbm11dGF0aW9uIENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24oXHJcbiAgJGlucHV0OiBDcmVhdGVDb250YWN0Q2FyZElucHV0IVxyXG4pIHtcclxuICBjcmVhdGVDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XHJcbiAgICBjb250YWN0Q2FyZCB7XHJcbiAgICAgICR7Q29udGFjdENhcmRGaWVsZHN9XHJcbiAgICB9XHJcbiAgfVxyXG59YDtcclxuXHJcbmV4cG9ydCBjb25zdCBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uID0gZ3FsYFxyXG5tdXRhdGlvbiBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uKFxyXG4gICRpbnB1dDogVXBkYXRlQ29udGFjdENhcmRJbnB1dCFcclxuKSB7XHJcbiAgdXBkYXRlQ29udGFjdENhcmQoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgY29udGFjdENhcmQge1xyXG4gICAgICAke0NvbnRhY3RDYXJkRmllbGRzfVxyXG4gICAgfVxyXG4gIH1cclxufWA7XHJcblxyXG5leHBvcnQgY29uc3QgRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uKCRpbnB1dDogRGVsZXRlQ29udGFjdENhcmRJbnB1dCEpIHtcclxuICAgIGRlbGV0ZUNvbnRhY3RDYXJkKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICB9XHJcbmA7XHJcbiJdfQ==
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { EncryptionService } from '../cryptography/encryption.service';
|
|
4
|
+
import { KeyGraphService } from '../cryptography/key-graph.service';
|
|
5
|
+
import { KeyService } from '../cryptography/key.service';
|
|
6
|
+
import { LrApolloService } from './lr-apollo.service';
|
|
7
|
+
import { SearchContactCardQuery, ContactCardListQuery, ContactCardQuery, CreateContactCardMutation, UpdateContactCardMutation, DeleteContactCardMutation, } from './contact-card.gql';
|
|
8
|
+
import { KeyFactoryService } from '../cryptography/key-factory.service';
|
|
9
|
+
import { KeyMetaService } from '../cryptography/key-meta.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../cryptography/key-factory.service";
|
|
12
|
+
import * as i2 from "../cryptography/key.service";
|
|
13
|
+
import * as i3 from "./lr-apollo.service";
|
|
14
|
+
import * as i4 from "../cryptography/key-graph.service";
|
|
15
|
+
import * as i5 from "../cryptography/encryption.service";
|
|
16
|
+
import * as i6 from "../cryptography/key-meta.service";
|
|
17
|
+
export class ContactCard {
|
|
18
|
+
}
|
|
19
|
+
export class ContactCardService {
|
|
20
|
+
constructor(keyFactory, keyService, lrApollo, keyGraph, encryptionService, keyMetaService) {
|
|
21
|
+
this.keyFactory = keyFactory;
|
|
22
|
+
this.keyService = keyService;
|
|
23
|
+
this.lrApollo = lrApollo;
|
|
24
|
+
this.keyGraph = keyGraph;
|
|
25
|
+
this.encryptionService = encryptionService;
|
|
26
|
+
this.keyMetaService = keyMetaService;
|
|
27
|
+
}
|
|
28
|
+
decryptContactCard(cc) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const ret = Object.assign(Object.assign({}, cc), { publicDataJson: JSON.parse(cc.publicData), publicSearchableJson: JSON.parse(cc.publicSearchable) });
|
|
31
|
+
if (cc.key) {
|
|
32
|
+
const key = yield this.keyGraph.getJwkKey(cc.key.id);
|
|
33
|
+
// TODO: verify signature
|
|
34
|
+
ret.plainCipherDataJson = yield this.encryptionService.decrypt(key, cc.cipherData);
|
|
35
|
+
}
|
|
36
|
+
return ret;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
decryptContactCardEdges(hasEdges) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return Promise.all(hasEdges.edges.map((edge) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const cc = edge.node;
|
|
43
|
+
return yield this.decryptContactCard(cc);
|
|
44
|
+
})));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// { "filter": [{ "contains": { "a": true } }] }
|
|
48
|
+
searchContactCard(publicSearchable) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const data = yield this.lrApollo.query({
|
|
51
|
+
query: SearchContactCardQuery,
|
|
52
|
+
variables: {
|
|
53
|
+
publicSearchable: JSON.stringify(publicSearchable),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
return yield this.decryptContactCardEdges(data.searchContactCards);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getContactCardList() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const data = yield this.lrApollo.query({
|
|
62
|
+
query: ContactCardListQuery,
|
|
63
|
+
});
|
|
64
|
+
return yield this.decryptContactCardEdges(data.contactCards);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
getContactCard(id) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const data = yield this.lrApollo.query({
|
|
70
|
+
query: ContactCardQuery,
|
|
71
|
+
variables: {
|
|
72
|
+
id,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
return yield this.decryptContactCard(data.contactCard);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
prepareContactCardInput(input) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
81
|
+
const publicDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicDataJson));
|
|
82
|
+
const publicSearchableSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicSearchableJson));
|
|
83
|
+
const plainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.plainDataJson));
|
|
84
|
+
return {
|
|
85
|
+
sigPxkId: sigPxk.id,
|
|
86
|
+
publicDataSig,
|
|
87
|
+
publicSearchableSig,
|
|
88
|
+
plainDataSig,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
createContactCard(input) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
// Get encryption key
|
|
95
|
+
const rootKey = yield this.keyService.getCurrentRootKey();
|
|
96
|
+
const key = yield this.keyFactory.createKey();
|
|
97
|
+
const wrappedKey = yield this.keyGraph.encryptToString(rootKey.jwk, key.toJSON(true));
|
|
98
|
+
const cipherData = yield this.keyGraph.encryptToString(key, input.plainCipherDataJson);
|
|
99
|
+
const params = yield this.prepareContactCardInput(input);
|
|
100
|
+
const data = yield this.lrApollo.mutate({
|
|
101
|
+
mutation: CreateContactCardMutation,
|
|
102
|
+
variables: {
|
|
103
|
+
input: Object.assign(Object.assign({}, params), { wrappingKeyId: rootKey.id, wrappedKey,
|
|
104
|
+
cipherData }),
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
return data.createContactCard.contactCard;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
updateContactCard(input) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
// Get encryption key
|
|
113
|
+
const cc = yield this.getContactCard(input.id);
|
|
114
|
+
const key = yield this.keyGraph.getJwkKey(cc.key.id);
|
|
115
|
+
const cipherData = yield this.keyGraph.encryptToString(key, input.plainCipherDataJson);
|
|
116
|
+
const params = yield this.prepareContactCardInput(input);
|
|
117
|
+
const data = yield this.lrApollo.mutate({
|
|
118
|
+
mutation: UpdateContactCardMutation,
|
|
119
|
+
variables: {
|
|
120
|
+
input: Object.assign(Object.assign({}, params), { id: input.id, cipherData }),
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
return data.updateContactCard.contactCard;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
deleteContactCard(id) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const data = yield this.lrApollo.mutate({
|
|
129
|
+
mutation: DeleteContactCardMutation,
|
|
130
|
+
variables: {
|
|
131
|
+
input: {
|
|
132
|
+
id,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
return data.deleteContactCard.id;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
ContactCardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContactCardService_Factory() { return new ContactCardService(i0.ɵɵinject(i1.KeyFactoryService), i0.ɵɵinject(i2.KeyService), i0.ɵɵinject(i3.LrApolloService), i0.ɵɵinject(i4.KeyGraphService), i0.ɵɵinject(i5.EncryptionService), i0.ɵɵinject(i6.KeyMetaService)); }, token: ContactCardService, providedIn: "root" });
|
|
141
|
+
ContactCardService.decorators = [
|
|
142
|
+
{ type: Injectable, args: [{
|
|
143
|
+
providedIn: 'root',
|
|
144
|
+
},] }
|
|
145
|
+
];
|
|
146
|
+
ContactCardService.ctorParameters = () => [
|
|
147
|
+
{ type: KeyFactoryService },
|
|
148
|
+
{ type: KeyService },
|
|
149
|
+
{ type: LrApolloService },
|
|
150
|
+
{ type: KeyGraphService },
|
|
151
|
+
{ type: EncryptionService },
|
|
152
|
+
{ type: KeyMetaService }
|
|
153
|
+
];
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL2NvbnRhY3QtY2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHlCQUF5QixHQUMxQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFjbEUsTUFBTSxPQUFPLFdBQVc7Q0FnQnZCO0FBZ0JELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxVQUE2QixFQUM3QixVQUFzQixFQUN0QixRQUF5QixFQUN6QixRQUF5QixFQUN6QixpQkFBb0MsRUFDcEMsY0FBOEI7UUFMOUIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNy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O1lBSGYsZUFBZTtZQURmLGlCQUFpQjtZQWVqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIYXNLZXlHcmFwaCwgS2V5IH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XHJcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2VuY3J5cHRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9rZXktZ3JhcGguc2VydmljZSc7XHJcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIYXNFZGdlcyB9IGZyb20gJy4uL19jb21tb24vdHlwZXMnO1xyXG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuL2xyLWFwb2xsby5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hDb250YWN0Q2FyZFF1ZXJ5LFxyXG4gIENvbnRhY3RDYXJkTGlzdFF1ZXJ5LFxyXG4gIENvbnRhY3RDYXJkUXVlcnksXHJcbiAgQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbixcclxuICBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gIERlbGV0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXHJcbn0gZnJvbSAnLi9jb250YWN0LWNhcmQuZ3FsJztcclxuaW1wb3J0IHsgS2V5RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzIH0gZnJvbSAnLi4vdXNlcnMvcHJvZmlsZS50eXBlcyc7XHJcbmltcG9ydCB7IEtleU1ldGFTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1tZXRhLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIENvbnRhY3RDYXJkUXVlcnkgZXh0ZW5kcyBIYXNLZXlHcmFwaCB7XHJcbiAgY29udGFjdENhcmQ6IENvbnRhY3RDYXJkO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2VhcmNoQ29udGFjdENhcmRRdWVyeSBleHRlbmRzIEhhc0tleUdyYXBoIHtcclxuICBzZWFyY2hDb250YWN0Q2FyZHM6IEhhc0VkZ2VzPENvbnRhY3RDYXJkPjtcclxufVxyXG5cclxuaW50ZXJmYWNlIENvbnRhY3RDYXJkTGlzdFF1ZXJ5IGV4dGVuZHMgSGFzS2V5R3JhcGgge1xyXG4gIGNvbnRhY3RDYXJkczogSGFzRWRnZXM8Q29udGFjdENhcmQ+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udGFjdENhcmQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5OiBLZXk7XHJcbiAgc2lnUHhrOiBLZXk7XHJcbiAgcHVibGljRGF0YTogc3RyaW5nO1xyXG4gIHB1YmxpY0RhdGFTaWc6IHN0cmluZztcclxuICBwdWJsaWNTZWFyY2hhYmxlOiBzdHJpbmc7XHJcbiAgcHVibGljU2VhcmNoYWJsZVNpZzogc3RyaW5nO1xyXG4gIHBsYWluRGF0YTogc3RyaW5nO1xyXG4gIHBsYWluRGF0YVNpZzogc3RyaW5nO1xyXG4gIGNpcGhlckRhdGE6IHN0cmluZztcclxuICAvLyBQYXJzZS9kZWNyeXB0ZWQgdmVyc2lvbnMgb2YgdGhlIGFib3ZlLlxyXG4gIHB1YmxpY0RhdGFKc29uOiBhbnk7XHJcbiAgcHVibGljU2VhcmNoYWJsZUpzb246IGFueTtcclxuICBwbGFpbkNpcGhlckRhdGFKc29uOiBhbnk7XHJcbiAgcGxhaW5EYXRhSnNvbjogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnRhY3RDYXJkSW5wdXQge1xyXG4gIHB1YmxpY0RhdGFKc29uOiBhbnk7XHJcbiAgcHVibGljU2VhcmNoYWJsZUpzb246IGFueTtcclxuICBwbGFpbkNpcGhlckRhdGFKc29uOiBhbnk7XHJcbiAgcGxhaW5EYXRhSnNvbjogTWFpbkNvbnRhY3RDYXJkUGxhaW5GaWVsZHM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQ29udGFjdENhcmRJbnB1dCBleHRlbmRzIENyZWF0ZUNvbnRhY3RDYXJkSW5wdXQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Q2FyZFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcclxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcclxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcclxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcclxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGRlY3J5cHRDb250YWN0Q2FyZChjYzogQ29udGFjdENhcmQpOiBQcm9taXNlPENvbnRhY3RDYXJkPiB7XHJcbiAgICBjb25zdCByZXQgPSB7XHJcbiAgICAgIC4uLmNjLFxyXG4gICAgICBwdWJsaWNEYXRhSnNvbjogSlNPTi5wYXJzZShjYy5wdWJsaWNEYXRhKSxcclxuICAgICAgcHVibGljU2VhcmNoYWJsZUpzb246IEpTT04ucGFyc2UoY2MucHVibGljU2VhcmNoYWJsZSksXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChjYy5rZXkpIHtcclxuICAgICAgY29uc3Qga2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoY2Mua2V5LmlkKTtcclxuICAgICAgLy8gVE9ETzogdmVyaWZ5IHNpZ25hdHVyZVxyXG4gICAgICByZXQucGxhaW5DaXBoZXJEYXRhSnNvbiA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZGVjcnlwdChcclxuICAgICAgICBrZXksXHJcbiAgICAgICAgY2MuY2lwaGVyRGF0YVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBkZWNyeXB0Q29udGFjdENhcmRFZGdlcyhcclxuICAgIGhhc0VkZ2VzOiBIYXNFZGdlczxDb250YWN0Q2FyZD5cclxuICApOiBQcm9taXNlPENvbnRhY3RDYXJkW10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLmFsbChcclxuICAgICAgaGFzRWRnZXMuZWRnZXMubWFwKGFzeW5jIChlZGdlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBjYyA9IGVkZ2Uubm9kZSBhcyBDb250YWN0Q2FyZDtcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWNyeXB0Q29udGFjdENhcmQoY2MpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIHsgXCJmaWx0ZXJcIjogW3sgXCJjb250YWluc1wiOiB7IFwiYVwiOiB0cnVlIH0gfV0gfVxyXG4gIGFzeW5jIHNlYXJjaENvbnRhY3RDYXJkKHB1YmxpY1NlYXJjaGFibGU6IG9iamVjdCk6IFByb21pc2U8Q29udGFjdENhcmRbXT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8U2VhcmNoQ29udGFjdENhcmRRdWVyeT4oe1xyXG4gICAgICBxdWVyeTogU2VhcmNoQ29udGFjdENhcmRRdWVyeSxcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgcHVibGljU2VhcmNoYWJsZTogSlNPTi5zdHJpbmdpZnkocHVibGljU2VhcmNoYWJsZSksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWNyeXB0Q29udGFjdENhcmRFZGdlcyhkYXRhLnNlYXJjaENvbnRhY3RDYXJkcyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRDb250YWN0Q2FyZExpc3QoKTogUHJvbWlzZTxDb250YWN0Q2FyZFtdPiB7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxDb250YWN0Q2FyZExpc3RRdWVyeT4oe1xyXG4gICAgICBxdWVyeTogQ29udGFjdENhcmRMaXN0UXVlcnksXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWNyeXB0Q29udGFjdENhcmRFZGdlcyhkYXRhLmNvbnRhY3RDYXJkcyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRDb250YWN0Q2FyZChpZDogc3RyaW5nKTogUHJvbWlzZTxDb250YWN0Q2FyZD4ge1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8Q29udGFjdENhcmRRdWVyeT4oe1xyXG4gICAgICBxdWVyeTogQ29udGFjdENhcmRRdWVyeSxcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWNyeXB0Q29udGFjdENhcmQoZGF0YS5jb250YWN0Q2FyZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVDb250YWN0Q2FyZElucHV0KFxyXG4gICAgaW5wdXQ6IENyZWF0ZUNvbnRhY3RDYXJkSW5wdXRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3Qgc2lnUHhrID0gYXdhaXQgdGhpcy5rZXlTZXJ2aWNlLmdldEN1cnJlbnRTaWdQeGsoKTtcclxuICAgIGNvbnN0IHB1YmxpY0RhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcclxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY0RhdGFKc29uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHB1YmxpY1NlYXJjaGFibGVTaWcgPSBKU09OLnN0cmluZ2lmeShcclxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY1NlYXJjaGFibGVKc29uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgaW5wdXQucGxhaW5EYXRhSnNvbilcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2lnUHhrSWQ6IHNpZ1B4ay5pZCxcclxuICAgICAgcHVibGljRGF0YVNpZyxcclxuICAgICAgcHVibGljU2VhcmNoYWJsZVNpZyxcclxuICAgICAgcGxhaW5EYXRhU2lnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNyZWF0ZUNvbnRhY3RDYXJkKGlucHV0OiBDcmVhdGVDb250YWN0Q2FyZElucHV0KTogUHJvbWlzZTxDb250YWN0Q2FyZD4ge1xyXG4gICAgLy8gR2V0IGVuY3J5cHRpb24ga2V5XHJcbiAgICBjb25zdCByb290S2V5ID0gYXdhaXQgdGhpcy5rZXlTZXJ2aWNlLmdldEN1cnJlbnRSb290S2V5KCk7XHJcbiAgICBjb25zdCBrZXkgPSBhd2FpdCB0aGlzLmtleUZhY3RvcnkuY3JlYXRlS2V5KCk7XHJcbiAgICBjb25zdCB3cmFwcGVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXHJcbiAgICAgIHJvb3RLZXkuandrLFxyXG4gICAgICBrZXkudG9KU09OKHRydWUpXHJcbiAgICApO1xyXG4gICAgY29uc3QgY2lwaGVyRGF0YSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxyXG4gICAgICBrZXksXHJcbiAgICAgIGlucHV0LnBsYWluQ2lwaGVyRGF0YUpzb25cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgcGFyYW1zID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChpbnB1dCk7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHtcclxuICAgICAgY3JlYXRlQ29udGFjdENhcmQ6IHsgY29udGFjdENhcmQ6IENvbnRhY3RDYXJkIH07XHJcbiAgICB9Pih7XHJcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgICAgd3JhcHBpbmdLZXlJZDogcm9vdEtleS5pZCxcclxuICAgICAgICAgIHdyYXBwZWRLZXksXHJcbiAgICAgICAgICBjaXBoZXJEYXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZGF0YS5jcmVhdGVDb250YWN0Q2FyZC5jb250YWN0Q2FyZDtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZUNvbnRhY3RDYXJkKGlucHV0OiBVcGRhdGVDb250YWN0Q2FyZElucHV0KTogUHJvbWlzZTxDb250YWN0Q2FyZD4ge1xyXG4gICAgLy8gR2V0IGVuY3J5cHRpb24ga2V5XHJcbiAgICBjb25zdCBjYyA9IGF3YWl0IHRoaXMuZ2V0Q29udGFjdENhcmQoaW5wdXQuaWQpO1xyXG4gICAgY29uc3Qga2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoY2Mua2V5LmlkKTtcclxuICAgIGNvbnN0IGNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcclxuICAgICAga2V5LFxyXG4gICAgICBpbnB1dC5wbGFpbkNpcGhlckRhdGFKc29uXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IHRoaXMucHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoaW5wdXQpO1xyXG5cclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XHJcbiAgICAgIHVwZGF0ZUNvbnRhY3RDYXJkOiB7IGNvbnRhY3RDYXJkOiBDb250YWN0Q2FyZCB9O1xyXG4gICAgfT4oe1xyXG4gICAgICBtdXRhdGlvbjogVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICAgIGlkOiBpbnB1dC5pZCxcclxuICAgICAgICAgIGNpcGhlckRhdGEsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkYXRhLnVwZGF0ZUNvbnRhY3RDYXJkLmNvbnRhY3RDYXJkO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlQ29udGFjdENhcmQoaWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XHJcbiAgICAgIG11dGF0aW9uOiBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkYXRhLmRlbGV0ZUNvbnRhY3RDYXJkLmlkO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { gqlTyped } from '../_common/ast';
|
|
2
|
+
export const ContactCardFragment = gqlTyped `
|
|
3
|
+
fragment ContactCardFragment on ContactCardNode {
|
|
4
|
+
id
|
|
5
|
+
publicData
|
|
6
|
+
publicSearchable
|
|
7
|
+
cipherData
|
|
8
|
+
key {
|
|
9
|
+
id
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
export const CreateContactCardMutation = gqlTyped `
|
|
14
|
+
mutation CreateContactCardMutation(
|
|
15
|
+
$input: CreateContactCardInput!
|
|
16
|
+
) {
|
|
17
|
+
createContactCard(input: $input) {
|
|
18
|
+
contactCard {
|
|
19
|
+
id
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
export const UpdateContactCardMutation = gqlTyped `
|
|
25
|
+
mutation UpdateContactCardMutation($input: UpdateContactCardInput!) {
|
|
26
|
+
updateContactCard(input: $input) {
|
|
27
|
+
contactCard {
|
|
28
|
+
id
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
export const DeleteContactCardMutation = gqlTyped `
|
|
34
|
+
mutation DeleteContactCardMutation($input: DeleteContactCardInput!) {
|
|
35
|
+
deleteContactCard(input: $input) {
|
|
36
|
+
id
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
export const ContactCardsQuery = gqlTyped `
|
|
41
|
+
query ContactCardsQuery {
|
|
42
|
+
contactCards(orderBy: "created") {
|
|
43
|
+
edges {
|
|
44
|
+
node {
|
|
45
|
+
...ContactCardFragment
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
${ContactCardFragment}
|
|
51
|
+
`;
|
|
52
|
+
export const ContactCardQuery = gqlTyped `
|
|
53
|
+
query ContactCardQuery($id: LrRelayIdInput!) {
|
|
54
|
+
contactCard(id: $id) {
|
|
55
|
+
...ContactCardFragment
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
${ContactCardFragment}
|
|
59
|
+
`;
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkMi5ncWwuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL2NvbnRhY3QtY2FyZDIuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQWlCOzs7Ozs7Ozs7O0NBVTNELENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQTJCOzs7Ozs7Ozs7O0NBVTNFLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQTJCOzs7Ozs7OztDQVEzRSxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsUUFBUSxDQUEyQjs7Ozs7O0NBTTNFLENBQUM7QUFLRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQW1COzs7Ozs7Ozs7O0lBVXhELG1CQUFtQjtDQUN0QixDQUFDO0FBS0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFrQjs7Ozs7O0lBTXRELG1CQUFtQjtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvbiwgQ29udGFjdENhcmROb2RlLCBJRCB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBncWxUeXBlZCB9IGZyb20gJy4uL19jb21tb24vYXN0JztcclxuXHJcbmV4cG9ydCBjb25zdCBDb250YWN0Q2FyZEZyYWdtZW50ID0gZ3FsVHlwZWQ8Q29udGFjdENhcmROb2RlPmBcclxuICBmcmFnbWVudCBDb250YWN0Q2FyZEZyYWdtZW50IG9uIENvbnRhY3RDYXJkTm9kZSB7XHJcbiAgICBpZFxyXG4gICAgcHVibGljRGF0YVxyXG4gICAgcHVibGljU2VhcmNoYWJsZVxyXG4gICAgY2lwaGVyRGF0YVxyXG4gICAga2V5IHtcclxuICAgICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbiB7XHJcbiAgY3JlYXRlQ29udGFjdENhcmQ6IHtcclxuICAgIGNvbnRhY3RDYXJkOiB7XHJcbiAgICAgIGlkOiBJRDtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbiA9IGdxbFR5cGVkPENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24+YFxyXG4gIG11dGF0aW9uIENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24oXHJcbiAgICAkaW5wdXQ6IENyZWF0ZUNvbnRhY3RDYXJkSW5wdXQhXHJcbiAgKSB7XHJcbiAgICBjcmVhdGVDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGNvbnRhY3RDYXJkIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uIHtcclxuICB1cGRhdGVDb250YWN0Q2FyZDoge1xyXG4gICAgY29udGFjdENhcmQ6IHtcclxuICAgICAgaWQ6IElEO1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbmV4cG9ydCBjb25zdCBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uID0gZ3FsVHlwZWQ8VXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbj5gXHJcbiAgbXV0YXRpb24gVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbigkaW5wdXQ6IFVwZGF0ZUNvbnRhY3RDYXJkSW5wdXQhKSB7XHJcbiAgICB1cGRhdGVDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGNvbnRhY3RDYXJkIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uIHtcclxuICBkZWxldGVDb250YWN0Q2FyZDoge1xyXG4gICAgZGVsZXRlQ29udGFjdENhcmQ6IHtcclxuICAgICAgaWQ6IElEO1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcbmV4cG9ydCBjb25zdCBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uID0gZ3FsVHlwZWQ8RGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbj5gXHJcbiAgbXV0YXRpb24gRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbigkaW5wdXQ6IERlbGV0ZUNvbnRhY3RDYXJkSW5wdXQhKSB7XHJcbiAgICBkZWxldGVDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0Q2FyZHNRdWVyeSB7XHJcbiAgY29udGFjdENhcmRzOiBDb25uZWN0aW9uPENvbnRhY3RDYXJkTm9kZT47XHJcbn1cclxuZXhwb3J0IGNvbnN0IENvbnRhY3RDYXJkc1F1ZXJ5ID0gZ3FsVHlwZWQ8Q29udGFjdENhcmRzUXVlcnk+YFxyXG4gIHF1ZXJ5IENvbnRhY3RDYXJkc1F1ZXJ5IHtcclxuICAgIGNvbnRhY3RDYXJkcyhvcmRlckJ5OiBcImNyZWF0ZWRcIikge1xyXG4gICAgICBlZGdlcyB7XHJcbiAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAuLi5Db250YWN0Q2FyZEZyYWdtZW50XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICR7Q29udGFjdENhcmRGcmFnbWVudH1cclxuYDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdENhcmRRdWVyeSB7XHJcbiAgY29udGFjdENhcmQ6IENvbnRhY3RDYXJkTm9kZTtcclxufVxyXG5leHBvcnQgY29uc3QgQ29udGFjdENhcmRRdWVyeSA9IGdxbFR5cGVkPENvbnRhY3RDYXJkUXVlcnk+YFxyXG4gIHF1ZXJ5IENvbnRhY3RDYXJkUXVlcnkoJGlkOiBMclJlbGF5SWRJbnB1dCEpIHtcclxuICAgIGNvbnRhY3RDYXJkKGlkOiAkaWQpIHtcclxuICAgICAgLi4uQ29udGFjdENhcmRGcmFnbWVudFxyXG4gICAgfVxyXG4gIH1cclxuICAke0NvbnRhY3RDYXJkRnJhZ21lbnR9XHJcbmA7XHJcbiJdfQ==
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
3
|
+
import { EncryptionService } from '../cryptography/encryption.service';
|
|
4
|
+
import { KeyFactoryService } from '../cryptography/key-factory.service';
|
|
5
|
+
import { KeyGraphService } from '../cryptography/key-graph.service';
|
|
6
|
+
import { KeyMetaService } from '../cryptography/key-meta.service';
|
|
7
|
+
import { KeyService } from '../cryptography/key.service';
|
|
8
|
+
import { RunOutsideAngular } from '../_common/run-outside-angular';
|
|
9
|
+
import { CreateContactCardMutation, DeleteContactCardMutation, UpdateContactCardMutation, } from './contact-card2.gql';
|
|
10
|
+
import { LrMutation } from './lr-graphql';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../cryptography/key-factory.service";
|
|
13
|
+
import * as i2 from "../cryptography/key.service";
|
|
14
|
+
import * as i3 from "../cryptography/encryption.service";
|
|
15
|
+
import * as i4 from "../cryptography/key-graph.service";
|
|
16
|
+
import * as i5 from "../cryptography/key-meta.service";
|
|
17
|
+
export class OwnerPlainDataJson {
|
|
18
|
+
}
|
|
19
|
+
let ContactCard2Service = class ContactCard2Service {
|
|
20
|
+
constructor(keyFactory, keyService, encryptionService, keyGraph, keyMetaService, ngZone) {
|
|
21
|
+
this.keyFactory = keyFactory;
|
|
22
|
+
this.keyService = keyService;
|
|
23
|
+
this.encryptionService = encryptionService;
|
|
24
|
+
this.keyGraph = keyGraph;
|
|
25
|
+
this.keyMetaService = keyMetaService;
|
|
26
|
+
this.ngZone = ngZone;
|
|
27
|
+
}
|
|
28
|
+
createContactCard(input) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
// Get encryption key
|
|
31
|
+
const rootKey = yield this.keyService.getCurrentRootKey();
|
|
32
|
+
const key = yield this.keyFactory.createKey();
|
|
33
|
+
const wrappedKey = yield this.keyGraph.encryptToString(rootKey.jwk, key.toJSON(true));
|
|
34
|
+
const cipherData = yield this.keyGraph.encryptToString(key, input.plainCipherDataJson);
|
|
35
|
+
const params = yield this.prepareContactCardInput(input);
|
|
36
|
+
return new LrMutation({
|
|
37
|
+
mutation: CreateContactCardMutation,
|
|
38
|
+
variables: {
|
|
39
|
+
input: Object.assign(Object.assign({}, params), { wrappingKeyId: rootKey.id, wrappedKey,
|
|
40
|
+
cipherData }),
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
updateContactCard(input) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
// Get encryption key
|
|
48
|
+
const cipherData = yield this.keyGraph.encryptToString(input.keyId, input.plainCipherDataJson);
|
|
49
|
+
const params = yield this.prepareContactCardInput(input);
|
|
50
|
+
return new LrMutation({
|
|
51
|
+
mutation: UpdateContactCardMutation,
|
|
52
|
+
variables: {
|
|
53
|
+
input: Object.assign(Object.assign({}, params), { id: input.id, cipherData }),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
deleteContactCard(id) {
|
|
59
|
+
return new LrMutation({
|
|
60
|
+
mutation: DeleteContactCardMutation,
|
|
61
|
+
variables: {
|
|
62
|
+
input: {
|
|
63
|
+
id,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
prepareContactCardInput(input) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
71
|
+
const publicDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicDataJson));
|
|
72
|
+
const publicSearchableSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicSearchableJson));
|
|
73
|
+
const plainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.plainDataJson));
|
|
74
|
+
return {
|
|
75
|
+
sigPxkId: sigPxk.id,
|
|
76
|
+
publicDataSig,
|
|
77
|
+
publicSearchableSig,
|
|
78
|
+
plainDataSig,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
ContactCard2Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContactCard2Service_Factory() { return new ContactCard2Service(i0.ɵɵinject(i1.KeyFactoryService), i0.ɵɵinject(i2.KeyService), i0.ɵɵinject(i3.EncryptionService), i0.ɵɵinject(i4.KeyGraphService), i0.ɵɵinject(i5.KeyMetaService), i0.ɵɵinject(i0.NgZone)); }, token: ContactCard2Service, providedIn: "root" });
|
|
84
|
+
ContactCard2Service.decorators = [
|
|
85
|
+
{ type: Injectable, args: [{
|
|
86
|
+
providedIn: 'root',
|
|
87
|
+
},] }
|
|
88
|
+
];
|
|
89
|
+
ContactCard2Service.ctorParameters = () => [
|
|
90
|
+
{ type: KeyFactoryService },
|
|
91
|
+
{ type: KeyService },
|
|
92
|
+
{ type: EncryptionService },
|
|
93
|
+
{ type: KeyGraphService },
|
|
94
|
+
{ type: KeyMetaService },
|
|
95
|
+
{ type: NgZone }
|
|
96
|
+
];
|
|
97
|
+
ContactCard2Service = __decorate([
|
|
98
|
+
RunOutsideAngular({
|
|
99
|
+
ngZoneName: 'ngZone',
|
|
100
|
+
})
|
|
101
|
+
], ContactCard2Service);
|
|
102
|
+
export { ContactCard2Service };
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkMi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2FwaS9jb250YWN0LWNhcmQyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHlCQUF5QixHQUMxQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFtQjFDLE1BQU0sT0FBTyxrQkFBa0I7Q0FFOUI7SUFhWSxtQkFBbUIsU0FBbkIsbUJBQW1CO0lBQzlCLFlBQ1UsVUFBNkIsRUFDN0IsVUFBc0IsRUFDdEIsaUJBQW9DLEVBQ3BDLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLE1BQWM7UUFMZCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FB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Qjs7O1lBNUNRLGlCQUFpQjtZQUdqQixVQUFVO1lBSlYsaUJBQWlCO1lBRWpCLGVBQWU7WUFDZixjQUFjO1lBSkYsTUFBTTs7QUErQ2QsbUJBQW1CO0lBTi9CLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVyxtQkFBbUIsQ0EyRi9CO1NBM0ZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9lbmNyeXB0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLZXlGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1ncmFwaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5TWV0YVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LW1ldGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWluQ29udGFjdENhcmRQbGFpbkZpZWxkcyB9IGZyb20gJy4uL3VzZXJzL3Byb2ZpbGUudHlwZXMnO1xyXG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbixcclxuICBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gIFVwZGF0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXHJcbn0gZnJvbSAnLi9jb250YWN0LWNhcmQyLmdxbCc7XHJcbmltcG9ydCB7IExyTXV0YXRpb24gfSBmcm9tICcuL2xyLWdyYXBocWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDb250YWN0Q2FyZElucHV0MiB7XHJcbiAgcHVibGljRGF0YUpzb246IGFueTtcclxuICBwdWJsaWNTZWFyY2hhYmxlSnNvbjogYW55O1xyXG4gIHBsYWluQ2lwaGVyRGF0YUpzb246IGFueTtcclxuICBwbGFpbkRhdGFKc29uOiBNYWluQ29udGFjdENhcmRQbGFpbkZpZWxkcztcclxufVxyXG5cclxuLy8gVGhlc2UgY29udGFjdCBuYW1lIGZpZWxkcyBhcmUgZW5mb3JjZWQgYnkgdGhlIHNlcnZlciBzbyB0aGF0IGl0IGNhbiBzZW5kIG91dCBlbWFpbHMgd2l0aFxyXG4vLyBhcHByb3ByaWF0ZSBmb3JtYXQuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdENhcmROYW1lMiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGZpcnN0TmFtZT86IHN0cmluZztcclxuICBsYXN0TmFtZT86IHN0cmluZztcclxuICAvLyBhZGRpdGlvbmFsIGZpZWxkcyBhcmUgbm90IGFsbG93ZWQgYnkgdGhlIHNlcnZlclxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT3duZXJQbGFpbkRhdGFKc29uIHtcclxuICBuYW1lOiBDb250YWN0Q2FyZE5hbWUyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUNvbnRhY3RDYXJkSW5wdXQyIGV4dGVuZHMgQ3JlYXRlQ29udGFjdENhcmRJbnB1dDIge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxufVxyXG5cclxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcclxuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcclxufSlcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3RDYXJkMlNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcclxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcclxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBjcmVhdGVDb250YWN0Q2FyZChpbnB1dDogQ3JlYXRlQ29udGFjdENhcmRJbnB1dDIpIHtcclxuICAgIC8vIEdldCBlbmNyeXB0aW9uIGtleVxyXG4gICAgY29uc3Qgcm9vdEtleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50Um9vdEtleSgpO1xyXG4gICAgY29uc3Qga2V5ID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZUtleSgpO1xyXG4gICAgY29uc3Qgd3JhcHBlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxyXG4gICAgICByb290S2V5Lmp3ayxcclxuICAgICAga2V5LnRvSlNPTih0cnVlKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcclxuICAgICAga2V5LFxyXG4gICAgICBpbnB1dC5wbGFpbkNpcGhlckRhdGFKc29uXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IHRoaXMucHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoaW5wdXQpO1xyXG5cclxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XHJcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgICAgd3JhcHBpbmdLZXlJZDogcm9vdEtleS5pZCxcclxuICAgICAgICAgIHdyYXBwZWRLZXksXHJcbiAgICAgICAgICBjaXBoZXJEYXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZUNvbnRhY3RDYXJkKGlucHV0OiBVcGRhdGVDb250YWN0Q2FyZElucHV0Mikge1xyXG4gICAgLy8gR2V0IGVuY3J5cHRpb24ga2V5XHJcbiAgICBjb25zdCBjaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXHJcbiAgICAgIGlucHV0LmtleUlkLFxyXG4gICAgICBpbnB1dC5wbGFpbkNpcGhlckRhdGFKc29uXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IHRoaXMucHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoaW5wdXQpO1xyXG5cclxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XHJcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgICAgaWQ6IGlucHV0LmlkLFxyXG4gICAgICAgICAgY2lwaGVyRGF0YSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDb250YWN0Q2FyZChpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xyXG4gICAgICBtdXRhdGlvbjogRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoXHJcbiAgICBpbnB1dDogQ3JlYXRlQ29udGFjdENhcmRJbnB1dDJcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3Qgc2lnUHhrID0gYXdhaXQgdGhpcy5rZXlTZXJ2aWNlLmdldEN1cnJlbnRTaWdQeGsoKTtcclxuICAgIGNvbnN0IHB1YmxpY0RhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcclxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY0RhdGFKc29uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHB1YmxpY1NlYXJjaGFibGVTaWcgPSBKU09OLnN0cmluZ2lmeShcclxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY1NlYXJjaGFibGVKc29uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgaW5wdXQucGxhaW5EYXRhSnNvbilcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2lnUHhrSWQ6IHNpZ1B4ay5pZCxcclxuICAgICAgcHVibGljRGF0YVNpZyxcclxuICAgICAgcHVibGljU2VhcmNoYWJsZVNpZyxcclxuICAgICAgcGxhaW5EYXRhU2lnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Injectable, Inject } from '@angular/core';
|
|
4
|
+
import { LR_CONFIG } from '../life-ready.config';
|
|
5
|
+
import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../life-ready.config";
|
|
8
|
+
import * as i2 from "@angular/common/http";
|
|
9
|
+
import * as i3 from "../auth/life-ready-auth.service";
|
|
10
|
+
export class FileService {
|
|
11
|
+
constructor(config, http, lrAuth) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.lrAuth = lrAuth;
|
|
15
|
+
}
|
|
16
|
+
downloadEncryptedFile(fileStateNodeId) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
return JSON.parse(yield this.downloadEncryptedFile2(fileStateNodeId));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
downloadEncryptedFile2(fileStateNodeId) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const url = `${this.config.apiUrl}files/download/?file_state_node_id=${fileStateNodeId}`;
|
|
24
|
+
const content = yield this.http
|
|
25
|
+
.get(url, {
|
|
26
|
+
responseType: 'text',
|
|
27
|
+
headers: {
|
|
28
|
+
Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
|
|
29
|
+
},
|
|
30
|
+
})
|
|
31
|
+
.toPromise();
|
|
32
|
+
return content;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
loadFile(file) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
const reader = new FileReader();
|
|
39
|
+
reader.onload = () => {
|
|
40
|
+
// OK to type cast here since we are using readAsArrayBuffer.
|
|
41
|
+
resolve(reader.result);
|
|
42
|
+
};
|
|
43
|
+
reader.readAsArrayBuffer(file);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
uploadEncryptedFile(options) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const { encryptedContent, fileName } = options;
|
|
50
|
+
const formData = new FormData();
|
|
51
|
+
formData.append('content', new Blob([encryptedContent]), fileName);
|
|
52
|
+
const { content_resource } = yield this.http
|
|
53
|
+
.post(`${this.config.apiUrl}files/upload/`, formData, {
|
|
54
|
+
headers: {
|
|
55
|
+
Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
|
|
56
|
+
},
|
|
57
|
+
})
|
|
58
|
+
.toPromise();
|
|
59
|
+
return content_resource;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LifeReadyAuthService)); }, token: FileService, providedIn: "root" });
|
|
64
|
+
FileService.decorators = [
|
|
65
|
+
{ type: Injectable, args: [{
|
|
66
|
+
providedIn: 'root',
|
|
67
|
+
},] }
|
|
68
|
+
];
|
|
69
|
+
FileService.ctorParameters = () => [
|
|
70
|
+
{ type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
|
|
71
|
+
{ type: HttpClient },
|
|
72
|
+
{ type: LifeReadyAuthService }
|
|
73
|
+
];
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2FwaS9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQWN2RSxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUM2QixNQUF1QixFQUMxQyxJQUFnQixFQUNoQixNQUE0QjtRQUZULFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7SUFDbkMsQ0FBQztJQUVFLHFCQUFxQixDQUFDLGVBQXVCOztZQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0tBQUE7SUFFSyxzQkFBc0IsQ0FBQyxlQUF1Qjs7WUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLGVBQWUsRUFBRSxDQUFDO1lBRXpGLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQzVCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsVUFBVSxDQUN2QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQzVCLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtpQkFDeEI7YUFDRixDQUFDO2lCQUNELFNBQVMsRUFBRSxDQUFDO1lBRWYsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLElBQVU7O1lBQ3ZCLE9BQU8sSUFBSSxPQUFPLENBQWMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO29CQUNuQiw2REFBNkQ7b0JBQzdELE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBcUIsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUssbUJBQW1CLENBQ3ZCLE9BQW1DOztZQUVuQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBRS9DLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFbkUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSTtpQkFDekMsSUFBSSxDQUNILEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsRUFDcEMsUUFBUSxFQUNSO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsVUFBVSxDQUN2QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQzVCLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtpQkFDeEI7YUFDRixDQUNGO2lCQUNBLFNBQVMsRUFBRSxDQUFDO1lBRWYsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO0tBQUE7Ozs7WUFqRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7NENBR0ksTUFBTSxTQUFDLFNBQVM7WUFuQlosVUFBVTtZQUdWLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMUl9DT05GSUcsIExpZmVSZWFkeUNvbmZpZyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcclxuaW1wb3J0IHsgTGlmZVJlYWR5QXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2xpZmUtcmVhZHktYXV0aC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEZpbGVDb250ZW50Q29udGV4dCA9ICdGSUxFX1NUQVRFJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkRW5jcnlwdGVkRmlsZU9wdGlvbnMge1xyXG4gIGVuY3J5cHRlZENvbnRlbnQ6IHN0cmluZztcclxuICAvLyBUT0RPIEFkZCBpbiB0aGUgY29udGV4dCBmaWVsZCBhbmQgbWFrZSBpdCBtYW5kYXRvcnlcclxuICAvLyBjb250ZXh0OiBGaWxlQ29udGVudENvbnRleHQ7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KExSX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IExpZmVSZWFkeUNvbmZpZyxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgbHJBdXRoOiBMaWZlUmVhZHlBdXRoU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgYXN5bmMgZG93bmxvYWRFbmNyeXB0ZWRGaWxlKGZpbGVTdGF0ZU5vZGVJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBKU09OLnBhcnNlKGF3YWl0IHRoaXMuZG93bmxvYWRFbmNyeXB0ZWRGaWxlMihmaWxlU3RhdGVOb2RlSWQpKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGRvd25sb2FkRW5jcnlwdGVkRmlsZTIoZmlsZVN0YXRlTm9kZUlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfWZpbGVzL2Rvd25sb2FkLz9maWxlX3N0YXRlX25vZGVfaWQ9JHtmaWxlU3RhdGVOb2RlSWR9YDtcclxuXHJcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgdGhpcy5odHRwXHJcbiAgICAgIC5nZXQodXJsLCB7XHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sckF1dGguZ2V0VXNlcigpXHJcbiAgICAgICAgICApLmdldEFjY2Vzc0p3dFRva2VuKCl9YCxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2FkRmlsZShmaWxlOiBGaWxlKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEFycmF5QnVmZmVyPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgLy8gT0sgdG8gdHlwZSBjYXN0IGhlcmUgc2luY2Ugd2UgYXJlIHVzaW5nIHJlYWRBc0FycmF5QnVmZmVyLlxyXG4gICAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBsb2FkRW5jcnlwdGVkRmlsZShcclxuICAgIG9wdGlvbnM6IFVwbG9hZEVuY3J5cHRlZEZpbGVPcHRpb25zXHJcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IHsgZW5jcnlwdGVkQ29udGVudCwgZmlsZU5hbWUgfSA9IG9wdGlvbnM7XHJcblxyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29udGVudCcsIG5ldyBCbG9iKFtlbmNyeXB0ZWRDb250ZW50XSksIGZpbGVOYW1lKTtcclxuXHJcbiAgICBjb25zdCB7IGNvbnRlbnRfcmVzb3VyY2UgfSA9IGF3YWl0IHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDx7IGNvbnRlbnRfcmVzb3VyY2UgfT4oXHJcbiAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpVXJsfWZpbGVzL3VwbG9hZC9gLFxyXG4gICAgICAgIGZvcm1EYXRhLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhcclxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxyQXV0aC5nZXRVc2VyKClcclxuICAgICAgICAgICAgKS5nZXRBY2Nlc3NKd3RUb2tlbigpfWAsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRfcmVzb3VyY2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|