@lifeready/core 1.0.1 → 1.0.2

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.
Files changed (380) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +15939 -0
  3. package/bundles/lifeready-core.umd.js.map +1 -0
  4. package/bundles/lifeready-core.umd.min.js +16 -0
  5. package/bundles/lifeready-core.umd.min.js.map +1 -0
  6. package/esm2015/lib/_common/ast.js +40 -0
  7. package/esm2015/lib/_common/deferred-promise.js +24 -0
  8. package/esm2015/lib/_common/exceptions.js +157 -0
  9. package/esm2015/lib/_common/queries.gql.js +190 -0
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -0
  11. package/esm2015/lib/_common/types.js +1 -0
  12. package/esm2015/lib/_common/utils.js +44 -0
  13. package/esm2015/lib/api/contact-card.gql.js +79 -0
  14. package/esm2015/lib/api/contact-card.service.js +154 -0
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -0
  16. package/esm2015/lib/api/contact-card2.service.js +103 -0
  17. package/esm2015/lib/api/file.service.js +74 -0
  18. package/esm2015/lib/api/item2.gql.js +110 -0
  19. package/esm2015/lib/api/item2.service.js +311 -0
  20. package/esm2015/lib/api/key-exchange.gql.js +188 -0
  21. package/esm2015/lib/api/key-exchange.service.js +442 -0
  22. package/esm2015/lib/api/key-exchange.types.js +18 -0
  23. package/esm2015/lib/api/key-exchange2.gql.js +171 -0
  24. package/esm2015/lib/api/key-exchange2.service.js +479 -0
  25. package/esm2015/lib/api/lock.gql.js +40 -0
  26. package/esm2015/lib/api/lock.service.js +64 -0
  27. package/esm2015/lib/api/lr-apollo.service.js +46 -0
  28. package/esm2015/lib/api/lr-graphql/index.js +6 -0
  29. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
  30. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
  31. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
  32. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
  33. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
  34. package/esm2015/lib/api/message.service.js +138 -0
  35. package/esm2015/lib/api/persist.service.js +181 -0
  36. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
  37. package/esm2015/lib/api/query-processor/index.js +3 -0
  38. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
  39. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
  40. package/esm2015/lib/api/shared-contact-card.service.js +119 -0
  41. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
  42. package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
  43. package/esm2015/lib/api/time.service.js +146 -0
  44. package/esm2015/lib/api/types/graphql.types.js +7 -0
  45. package/esm2015/lib/api/types/index.js +3 -0
  46. package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
  47. package/esm2015/lib/auth/auth.config.js +57 -0
  48. package/esm2015/lib/auth/auth.gql.js +48 -0
  49. package/esm2015/lib/auth/auth.types.js +27 -0
  50. package/esm2015/lib/auth/idle.service.js +168 -0
  51. package/esm2015/lib/auth/idle.types.js +7 -0
  52. package/esm2015/lib/auth/lbop.service.js +355 -0
  53. package/esm2015/lib/auth/life-ready-auth.service.js +500 -0
  54. package/esm2015/lib/auth/password.service.js +320 -0
  55. package/esm2015/lib/auth/register.service.js +172 -0
  56. package/esm2015/lib/auth/two-factor.service.js +74 -0
  57. package/esm2015/lib/category/category-meta.service.js +99 -0
  58. package/esm2015/lib/category/category.gql.js +406 -0
  59. package/esm2015/lib/category/category.service.js +390 -0
  60. package/esm2015/lib/category/category.types.js +29 -0
  61. package/esm2015/lib/cryptography/cryptography.types.js +11 -0
  62. package/esm2015/lib/cryptography/encryption.service.js +189 -0
  63. package/esm2015/lib/cryptography/key-factory.service.js +237 -0
  64. package/esm2015/lib/cryptography/key-graph.service.js +280 -0
  65. package/esm2015/lib/cryptography/key-meta.service.js +200 -0
  66. package/esm2015/lib/cryptography/key.service.js +124 -0
  67. package/esm2015/lib/cryptography/slip39.service.js +169 -0
  68. package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
  69. package/esm2015/lib/life-ready.config.js +84 -0
  70. package/esm2015/lib/life-ready.module.js +74 -0
  71. package/esm2015/lib/plan/plan.gql.js +123 -0
  72. package/esm2015/lib/plan/plan.service.js +149 -0
  73. package/esm2015/lib/plan/plan.types.js +11 -0
  74. package/esm2015/lib/record/record-attachment.service.js +101 -0
  75. package/esm2015/lib/record/record.gql.js +179 -0
  76. package/esm2015/lib/record/record.service.js +206 -0
  77. package/esm2015/lib/record/record.types.js +15 -0
  78. package/esm2015/lib/record-type/record-type.service.js +75 -0
  79. package/esm2015/lib/record-type/record-type.types.js +28 -0
  80. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
  81. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
  82. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
  85. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
  88. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
  89. package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
  90. package/esm2015/lib/scenario/scenario.gql.js +368 -0
  91. package/esm2015/lib/scenario/scenario.service.js +611 -0
  92. package/esm2015/lib/scenario/scenario.types.js +64 -0
  93. package/esm2015/lib/search/search.gql.js +62 -0
  94. package/esm2015/lib/search/search.service.js +156 -0
  95. package/esm2015/lib/search/search.types.js +6 -0
  96. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
  97. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -0
  98. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -0
  99. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
  100. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -0
  101. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
  102. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
  103. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
  104. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
  105. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
  106. package/esm2015/lib/users/profile-details.service.js +214 -0
  107. package/esm2015/lib/users/profile.gql.js +97 -0
  108. package/esm2015/lib/users/profile.service.js +169 -0
  109. package/esm2015/lib/users/profile.types.js +34 -0
  110. package/esm2015/lib/users/user.gql.js +60 -0
  111. package/esm2015/lib/users/user.service.js +79 -0
  112. package/esm2015/lib/users/user.types.js +5 -0
  113. package/esm2015/lifeready-core.js +10 -0
  114. package/esm2015/public-api.js +81 -0
  115. package/fesm2015/lifeready-core.js +13314 -0
  116. package/fesm2015/lifeready-core.js.map +1 -0
  117. package/lib/_common/ast.d.ts +11 -0
  118. package/lib/_common/deferred-promise.d.ts +12 -0
  119. package/lib/_common/exceptions.d.ts +109 -0
  120. package/lib/_common/queries.gql.d.ts +10 -0
  121. package/lib/_common/run-outside-angular.d.ts +14 -0
  122. package/{src/lib/_common/types.ts → lib/_common/types.d.ts} +10 -13
  123. package/lib/_common/utils.d.ts +3 -0
  124. package/lib/api/contact-card.gql.d.ts +7 -0
  125. package/lib/api/contact-card.service.d.ts +52 -0
  126. package/lib/api/contact-card2.gql.d.ts +34 -0
  127. package/lib/api/contact-card2.service.d.ts +49 -0
  128. package/lib/api/file.service.d.ts +18 -0
  129. package/lib/api/item2.gql.d.ts +96 -0
  130. package/lib/api/item2.service.d.ts +177 -0
  131. package/lib/api/key-exchange.gql.d.ts +9 -0
  132. package/lib/api/key-exchange.service.d.ts +39 -0
  133. package/lib/api/key-exchange.types.d.ts +196 -0
  134. package/lib/api/key-exchange2.gql.d.ts +125 -0
  135. package/lib/api/key-exchange2.service.d.ts +187 -0
  136. package/lib/api/lock.gql.d.ts +27 -0
  137. package/lib/api/lock.service.d.ts +25 -0
  138. package/lib/api/lr-apollo.service.d.ts +15 -0
  139. package/{src/lib/api/lr-graphql/index.ts → lib/api/lr-graphql/index.d.ts} +5 -5
  140. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
  141. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
  142. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
  143. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
  144. package/lib/api/lr-graphql/lr.service.d.ts +9 -0
  145. package/lib/api/message.service.d.ts +58 -0
  146. package/lib/api/persist.service.d.ts +31 -0
  147. package/lib/api/query-processor/common-processors.service.d.ts +36 -0
  148. package/{src/lib/api/query-processor/index.ts → lib/api/query-processor/index.d.ts} +2 -2
  149. package/lib/api/query-processor/query-processor.service.d.ts +18 -0
  150. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
  151. package/lib/api/shared-contact-card.service.d.ts +33 -0
  152. package/lib/api/shared-contact-card2.gql.d.ts +36 -0
  153. package/lib/api/shared-contact-card2.service.d.ts +45 -0
  154. package/lib/api/time.service.d.ts +16 -0
  155. package/lib/api/types/graphql.types.d.ts +29 -0
  156. package/{src/lib/api/types/index.ts → lib/api/types/index.d.ts} +2 -2
  157. package/lib/api/types/lr-graphql.types.d.ts +385 -0
  158. package/lib/auth/auth.config.d.ts +5 -0
  159. package/lib/auth/auth.gql.d.ts +15 -0
  160. package/lib/auth/auth.types.d.ts +66 -0
  161. package/lib/auth/idle.service.d.ts +40 -0
  162. package/lib/auth/idle.types.d.ts +10 -0
  163. package/lib/auth/lbop.service.d.ts +91 -0
  164. package/lib/auth/life-ready-auth.service.d.ts +59 -0
  165. package/lib/auth/password.service.d.ts +78 -0
  166. package/lib/auth/register.service.d.ts +25 -0
  167. package/lib/auth/two-factor.service.d.ts +15 -0
  168. package/lib/category/category-meta.service.d.ts +23 -0
  169. package/lib/category/category.gql.d.ts +45 -0
  170. package/lib/category/category.service.d.ts +67 -0
  171. package/lib/category/category.types.d.ts +79 -0
  172. package/lib/cryptography/cryptography.types.d.ts +83 -0
  173. package/lib/cryptography/encryption.service.d.ts +41 -0
  174. package/lib/cryptography/key-factory.service.d.ts +38 -0
  175. package/lib/cryptography/key-graph.service.d.ts +33 -0
  176. package/lib/cryptography/key-meta.service.d.ts +44 -0
  177. package/lib/cryptography/key.service.d.ts +36 -0
  178. package/lib/cryptography/slip39.service.d.ts +43 -0
  179. package/lib/cryptography/web-crypto.service.d.ts +5 -0
  180. package/lib/life-ready.config.d.ts +14 -0
  181. package/lib/life-ready.module.d.ts +5 -0
  182. package/lib/plan/plan.gql.d.ts +11 -0
  183. package/lib/plan/plan.service.d.ts +33 -0
  184. package/lib/plan/plan.types.d.ts +31 -0
  185. package/lib/record/record-attachment.service.d.ts +16 -0
  186. package/lib/record/record.gql.d.ts +14 -0
  187. package/lib/record/record.service.d.ts +25 -0
  188. package/lib/record/record.types.d.ts +57 -0
  189. package/lib/record-type/record-type.service.d.ts +11 -0
  190. package/lib/record-type/record-type.types.d.ts +50 -0
  191. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
  192. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
  193. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
  194. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
  195. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
  196. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
  197. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
  198. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
  199. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
  200. package/lib/scenario/scenario-setup.service.d.ts +22 -0
  201. package/lib/scenario/scenario.gql.d.ts +34 -0
  202. package/lib/scenario/scenario.service.d.ts +58 -0
  203. package/lib/scenario/scenario.types.d.ts +217 -0
  204. package/lib/search/search.gql.d.ts +1 -0
  205. package/lib/search/search.service.d.ts +25 -0
  206. package/lib/search/search.types.d.ts +20 -0
  207. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
  208. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -0
  209. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -0
  210. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
  211. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -0
  212. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
  213. package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
  214. package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
  215. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
  216. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
  217. package/lib/users/profile-details.service.d.ts +21 -0
  218. package/lib/users/profile.gql.d.ts +11 -0
  219. package/lib/users/profile.service.d.ts +35 -0
  220. package/lib/users/profile.types.d.ts +96 -0
  221. package/lib/users/user.gql.d.ts +9 -0
  222. package/lib/users/user.service.d.ts +12 -0
  223. package/lib/users/user.types.d.ts +23 -0
  224. package/lifeready-core.d.ts +9 -0
  225. package/lifeready-core.metadata.json +1 -0
  226. package/package.json +29 -21
  227. package/{src/public-api.ts → public-api.d.ts} +77 -96
  228. package/karma.conf.js +0 -32
  229. package/ng-package.json +0 -26
  230. package/src/lib/_common/ast.ts +0 -75
  231. package/src/lib/_common/deferred-promise.ts +0 -35
  232. package/src/lib/_common/exceptions.ts +0 -189
  233. package/src/lib/_common/queries.gql.ts +0 -200
  234. package/src/lib/_common/run-outside-angular.ts +0 -125
  235. package/src/lib/_common/tests.ts +0 -82
  236. package/src/lib/_common/utils.ts +0 -57
  237. package/src/lib/api/api-mutation.spec.ts +0 -547
  238. package/src/lib/api/api-query.spec.ts +0 -40
  239. package/src/lib/api/contact-card.gql.ts +0 -85
  240. package/src/lib/api/contact-card.service.spec.ts +0 -249
  241. package/src/lib/api/contact-card.service.ts +0 -228
  242. package/src/lib/api/contact-card2.gql.ts +0 -93
  243. package/src/lib/api/contact-card2.service.spec.ts +0 -297
  244. package/src/lib/api/contact-card2.service.ts +0 -139
  245. package/src/lib/api/file.service.spec.ts +0 -14
  246. package/src/lib/api/file.service.ts +0 -81
  247. package/src/lib/api/item2.gql.ts +0 -211
  248. package/src/lib/api/item2.service.spec.ts +0 -1043
  249. package/src/lib/api/item2.service.ts +0 -481
  250. package/src/lib/api/key-exchange.gql.ts +0 -196
  251. package/src/lib/api/key-exchange.service.spec.ts +0 -470
  252. package/src/lib/api/key-exchange.service.ts +0 -731
  253. package/src/lib/api/key-exchange.types.ts +0 -235
  254. package/src/lib/api/key-exchange2.gql.ts +0 -310
  255. package/src/lib/api/key-exchange2.service.spec.ts +0 -892
  256. package/src/lib/api/key-exchange2.service.ts +0 -875
  257. package/src/lib/api/lock.gql.ts +0 -67
  258. package/src/lib/api/lock.service.spec.ts +0 -549
  259. package/src/lib/api/lock.service.ts +0 -57
  260. package/src/lib/api/lr-apollo.service.spec.ts +0 -27
  261. package/src/lib/api/lr-apollo.service.ts +0 -43
  262. package/src/lib/api/lr-graphql/lr-graphql.service.ts +0 -313
  263. package/src/lib/api/lr-graphql/lr-merged-mutation.ts +0 -377
  264. package/src/lib/api/lr-graphql/lr-mutation-base.ts +0 -67
  265. package/src/lib/api/lr-graphql/lr-mutation.ts +0 -74
  266. package/src/lib/api/lr-graphql/lr.service.ts +0 -28
  267. package/src/lib/api/message.service.spec.ts +0 -20
  268. package/src/lib/api/message.service.ts +0 -210
  269. package/src/lib/api/persist.service.spec.ts +0 -209
  270. package/src/lib/api/persist.service.ts +0 -220
  271. package/src/lib/api/query-processor/common-processors.service.ts +0 -148
  272. package/src/lib/api/query-processor/query-processor.service.ts +0 -240
  273. package/src/lib/api/query-processor/tp-password-reset-processor.service.ts +0 -177
  274. package/src/lib/api/shared-contact-card.service.ts +0 -156
  275. package/src/lib/api/shared-contact-card2.gql.ts +0 -76
  276. package/src/lib/api/shared-contact-card2.service.ts +0 -154
  277. package/src/lib/api/time.service.spec.ts +0 -48
  278. package/src/lib/api/time.service.ts +0 -155
  279. package/src/lib/api/types/graphql.types.ts +0 -48
  280. package/src/lib/api/types/lr-graphql.types.ts +0 -467
  281. package/src/lib/auth/auth.config.ts +0 -83
  282. package/src/lib/auth/auth.gql.ts +0 -62
  283. package/src/lib/auth/auth.types.ts +0 -79
  284. package/src/lib/auth/idle.service.spec.ts +0 -119
  285. package/src/lib/auth/idle.service.ts +0 -208
  286. package/src/lib/auth/idle.types.ts +0 -11
  287. package/src/lib/auth/lbop.service.spec.ts +0 -56
  288. package/src/lib/auth/lbop.service.ts +0 -539
  289. package/src/lib/auth/life-ready-auth.service.spec.ts +0 -70
  290. package/src/lib/auth/life-ready-auth.service.ts +0 -454
  291. package/src/lib/auth/password.service.spec.ts +0 -51
  292. package/src/lib/auth/password.service.ts +0 -438
  293. package/src/lib/auth/register.service.spec.ts +0 -31
  294. package/src/lib/auth/register.service.ts +0 -181
  295. package/src/lib/auth/two-factor.service.spec.ts +0 -21
  296. package/src/lib/auth/two-factor.service.ts +0 -69
  297. package/src/lib/category/category-meta.service.spec.ts +0 -28
  298. package/src/lib/category/category-meta.service.ts +0 -125
  299. package/src/lib/category/category.gql.ts +0 -449
  300. package/src/lib/category/category.service.spec.ts +0 -26
  301. package/src/lib/category/category.service.ts +0 -498
  302. package/src/lib/category/category.types.ts +0 -89
  303. package/src/lib/cryptography/cryptography.types.ts +0 -108
  304. package/src/lib/cryptography/encryption.service.spec.ts +0 -125
  305. package/src/lib/cryptography/encryption.service.ts +0 -243
  306. package/src/lib/cryptography/key-factory.service.spec.ts +0 -15
  307. package/src/lib/cryptography/key-factory.service.ts +0 -303
  308. package/src/lib/cryptography/key-graph.service.spec.ts +0 -16
  309. package/src/lib/cryptography/key-graph.service.ts +0 -354
  310. package/src/lib/cryptography/key-meta.service.spec.ts +0 -40
  311. package/src/lib/cryptography/key-meta.service.ts +0 -254
  312. package/src/lib/cryptography/key.service.spec.ts +0 -16
  313. package/src/lib/cryptography/key.service.ts +0 -154
  314. package/src/lib/cryptography/slip39.service.spec.ts +0 -44
  315. package/src/lib/cryptography/slip39.service.ts +0 -204
  316. package/src/lib/cryptography/web-crypto.service.ts +0 -22
  317. package/src/lib/life-ready.config.ts +0 -127
  318. package/src/lib/life-ready.module.ts +0 -81
  319. package/src/lib/plan/plan.gql.ts +0 -133
  320. package/src/lib/plan/plan.service.spec.ts +0 -294
  321. package/src/lib/plan/plan.service.ts +0 -198
  322. package/src/lib/plan/plan.types.ts +0 -37
  323. package/src/lib/record/record-attachment.service.spec.ts +0 -31
  324. package/src/lib/record/record-attachment.service.ts +0 -101
  325. package/src/lib/record/record.gql.ts +0 -192
  326. package/src/lib/record/record.service.spec.ts +0 -598
  327. package/src/lib/record/record.service.ts +0 -236
  328. package/src/lib/record/record.types.ts +0 -86
  329. package/src/lib/record-type/record-type.service.spec.ts +0 -16
  330. package/src/lib/record-type/record-type.service.ts +0 -71
  331. package/src/lib/record-type/record-type.types.ts +0 -58
  332. package/src/lib/scenario/approvals/scenario-approval.gql.ts +0 -112
  333. package/src/lib/scenario/approvals/scenario-approval.types.ts +0 -85
  334. package/src/lib/scenario/approvals/scenario-approver.service.spec.ts +0 -16
  335. package/src/lib/scenario/approvals/scenario-approver.service.ts +0 -422
  336. package/src/lib/scenario/claimants/scenario-claimant.gql.ts +0 -56
  337. package/src/lib/scenario/claimants/scenario-claimant.service.spec.ts +0 -16
  338. package/src/lib/scenario/claimants/scenario-claimant.service.ts +0 -100
  339. package/src/lib/scenario/claimants/scenario-claimant.types.ts +0 -21
  340. package/src/lib/scenario/receivers/scenario-receiver.gql.ts +0 -157
  341. package/src/lib/scenario/receivers/scenario-receiver.service.spec.ts +0 -16
  342. package/src/lib/scenario/receivers/scenario-receiver.service.ts +0 -278
  343. package/src/lib/scenario/receivers/scenario-receiver.types.ts +0 -66
  344. package/src/lib/scenario/scenario-setup.service.spec.ts +0 -22
  345. package/src/lib/scenario/scenario-setup.service.ts +0 -369
  346. package/src/lib/scenario/scenario.gql.ts +0 -404
  347. package/src/lib/scenario/scenario.service.spec.ts +0 -1586
  348. package/src/lib/scenario/scenario.service.ts +0 -811
  349. package/src/lib/scenario/scenario.types.ts +0 -258
  350. package/src/lib/search/search.gql.ts +0 -62
  351. package/src/lib/search/search.service.spec.ts +0 -57
  352. package/src/lib/search/search.service.ts +0 -174
  353. package/src/lib/search/search.types.ts +0 -24
  354. package/src/lib/trusted-parties/tp-password-reset-request.service.ts +0 -140
  355. package/src/lib/trusted-parties/tp-password-reset-user.service.ts +0 -359
  356. package/src/lib/trusted-parties/tp-password-reset.gql.ts +0 -453
  357. package/src/lib/trusted-parties/tp-password-reset.service.spec.ts +0 -602
  358. package/src/lib/trusted-parties/tp-password-reset.service.ts +0 -482
  359. package/src/lib/trusted-parties/trusted-party.gql.ts +0 -159
  360. package/src/lib/trusted-parties/trusted-party.service.spec.ts +0 -1008
  361. package/src/lib/trusted-parties/trusted-party.service.ts +0 -394
  362. package/src/lib/trusted-parties/trusted-party.types.ts +0 -119
  363. package/src/lib/trusted-parties/trusted-party2.gql.ts +0 -165
  364. package/src/lib/trusted-parties/trusted-party2.service.spec.ts +0 -1782
  365. package/src/lib/trusted-parties/trusted-party2.service.ts +0 -272
  366. package/src/lib/users/profile-details.service.spec.ts +0 -45
  367. package/src/lib/users/profile-details.service.ts +0 -278
  368. package/src/lib/users/profile.gql.ts +0 -108
  369. package/src/lib/users/profile.service.spec.ts +0 -97
  370. package/src/lib/users/profile.service.ts +0 -224
  371. package/src/lib/users/profile.types.ts +0 -101
  372. package/src/lib/users/user.gql.ts +0 -69
  373. package/src/lib/users/user.service.spec.ts +0 -161
  374. package/src/lib/users/user.service.ts +0 -72
  375. package/src/lib/users/user.types.ts +0 -27
  376. package/src/test.ts +0 -21
  377. package/tsconfig.lib.json +0 -21
  378. package/tsconfig.lib.prod.json +0 -6
  379. package/tsconfig.spec.json +0 -10
  380. package/tslint.json +0 -17
@@ -1,148 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { EncryptionService } from '../../cryptography/encryption.service';
3
- import { KeyGraphService } from '../../cryptography/key-graph.service';
4
- import { LrBadLogicException } from '../../_common/exceptions';
5
- import { RunOutsideAngular } from '../../_common/run-outside-angular';
6
- import { Connection } from '../types';
7
-
8
- export interface ProcessorOptions {
9
- hasKeys: boolean;
10
- }
11
-
12
- export const DefaultProcessorOptions: ProcessorOptions = {
13
- hasKeys: true,
14
- };
15
-
16
- // Sent to each processor for context information
17
- export interface ProcessorContext {
18
- path: ReadonlyArray<string>;
19
- // processor can set this to false if child fields should
20
- // not be processed any further
21
- processChildren: boolean;
22
- }
23
-
24
- export interface ProcessorCallbackParams<T = any> {
25
- field: T;
26
- context: ProcessorContext;
27
- options: ProcessorOptions;
28
- }
29
-
30
- export type ProcessorCallback<T = any> = (
31
- params: ProcessorCallbackParams<T>
32
- ) => T | Promise<T>;
33
-
34
- interface ParseJsonProcessorOptions {
35
- plainFieldName?: string;
36
- jsonFieldSuffix?: string;
37
- }
38
-
39
- interface DecryptionProcessorOptions {
40
- cipherFieldName?: string;
41
- clearFieldSuffix?: string;
42
- getKeyId?: (params: ProcessorCallbackParams) => Promise<string> | string;
43
- }
44
-
45
- export async function processConnection<Node>(
46
- field: Connection<Node>,
47
- processNode: (node: Node) => Node | Promise<Node>
48
- ): Promise<Connection<Node>> {
49
- return {
50
- ...field,
51
- edges: await Promise.all(
52
- field.edges.map(async (edge) => ({
53
- ...edge,
54
- node: await processNode(edge.node),
55
- }))
56
- ),
57
- };
58
- }
59
-
60
- @RunOutsideAngular({
61
- ngZoneName: 'ngZone',
62
- })
63
- @Injectable({
64
- providedIn: 'root',
65
- })
66
- export class CommonProcessorsService {
67
- constructor(private ngZone: NgZone, private keyGraph: KeyGraphService) {}
68
-
69
- series(processors: ProcessorCallback[]): ProcessorCallback {
70
- return async ({ field, context, options }) => {
71
- for (const processor of processors) {
72
- field = await processor({ field, context, options });
73
- }
74
- return field;
75
- };
76
- }
77
-
78
- makeJsonParseProcessor({
79
- plainFieldName,
80
- jsonFieldSuffix = 'Json',
81
- }: ParseJsonProcessorOptions = {}): ProcessorCallback {
82
- const jsonFieldName = plainFieldName + jsonFieldSuffix;
83
-
84
- return ({ field }) => {
85
- if (field[plainFieldName] == null || jsonFieldName in field) {
86
- // if plainFieldName is undefined or null, then don't parse it.
87
- // if you parse it, then JSON.parse(null) and JSON.parse("null") both return null, so
88
- // you can't distinguish between the two.
89
- // If clearFieldName already exists in node as a property, then we don't
90
- // need to process it again, even if it's value can be undefined or null even.
91
- return field;
92
- }
93
-
94
- try {
95
- return {
96
- ...field,
97
- [jsonFieldName]: JSON.parse(field[plainFieldName]),
98
- };
99
- } catch (error) {
100
- return field;
101
- }
102
- };
103
- }
104
-
105
- makeDecryptionProcessor({
106
- cipherFieldName,
107
- clearFieldSuffix = 'ClearJson',
108
- getKeyId = null,
109
- }: DecryptionProcessorOptions = {}): ProcessorCallback {
110
- const clearFieldName = cipherFieldName + clearFieldSuffix;
111
-
112
- return async (params) => {
113
- const { field, context, options } = params;
114
-
115
- // Can't decrypt anything if key graph is not returned
116
- if (!options.hasKeys) {
117
- return field;
118
- }
119
-
120
- const cipherField = field[cipherFieldName];
121
-
122
- // cipherField can be empty string, null or undefined.
123
- if (!cipherField || clearFieldName in field) {
124
- return field;
125
- }
126
-
127
- const keyId = getKeyId
128
- ? await getKeyId(params)
129
- : field.keyId || field.key?.id;
130
-
131
- if (!keyId) {
132
- const keyIdName = getKeyId ? 'key-id' : 'keyId or key.id';
133
- throw new LrBadLogicException(
134
- `Query response does not contain ${keyIdName} field: ${context.path.join(
135
- '.'
136
- )}`
137
- );
138
- }
139
-
140
- return this.keyGraph
141
- .decryptFromString(keyId, cipherField)
142
- .then((clear) => ({
143
- ...field,
144
- [clearFieldName]: clear,
145
- }));
146
- };
147
- }
148
- }
@@ -1,240 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { LrBadLogicException } from '../../_common/exceptions';
3
- import { mapValuesMayAsync, promiseAllMayAsync } from '../../_common/utils';
4
- import { KeyService } from '../../cryptography/key.service';
5
- import {
6
- CommonProcessorsService,
7
- // FieldContext,
8
- ProcessorCallback,
9
- ProcessorCallbackParams,
10
- ProcessorContext,
11
- ProcessorOptions,
12
- DefaultProcessorOptions,
13
- } from './common-processors.service';
14
- import { TpPasswordResetService } from '../../trusted-parties/tp-password-reset.service';
15
- import { RunOutsideAngular } from '../../_common/run-outside-angular';
16
- import { TpPasswordResetProcessorService } from './tp-password-reset-processor.service';
17
-
18
- function extendPath(context: ProcessorContext, key: string): ProcessorContext {
19
- return {
20
- ...context,
21
- path: [...context.path, key],
22
- };
23
- }
24
-
25
- @RunOutsideAngular({
26
- ngZoneName: 'ngZone',
27
- })
28
- @Injectable({
29
- providedIn: 'root',
30
- })
31
- export class QueryProcessorService {
32
- readonly TYPENAME = '__typename';
33
- private processors: { [key: string]: ProcessorCallback } = {};
34
-
35
- constructor(
36
- private ngZone: NgZone,
37
- private keyService: KeyService,
38
- private common: CommonProcessorsService,
39
- private tpprProcessor: TpPasswordResetProcessorService
40
- ) {
41
- this.registerProcessor(
42
- 'DirectoryNode',
43
- common.series([
44
- common.makeJsonParseProcessor({
45
- plainFieldName: 'plainMeta',
46
- }),
47
- common.makeDecryptionProcessor({
48
- cipherFieldName: 'cipherMeta',
49
- }),
50
- ])
51
- );
52
- this.registerProcessor(
53
- 'FileStateNode',
54
- common.series([
55
- common.makeJsonParseProcessor({
56
- plainFieldName: 'plainMeta',
57
- }),
58
- common.makeDecryptionProcessor({
59
- cipherFieldName: 'cipherMeta',
60
- }),
61
- ])
62
- );
63
- this.registerProcessor(
64
- 'ContactCardNode',
65
- common.makeDecryptionProcessor({
66
- cipherFieldName: 'cipherData',
67
- })
68
- );
69
- this.registerProcessor(
70
- 'SharedContactCardNode',
71
- common.series([
72
- common.makeJsonParseProcessor({
73
- plainFieldName: 'ownerPlainData',
74
- }),
75
- common.makeDecryptionProcessor({
76
- cipherFieldName: 'ownerCipherData',
77
- getKeyId: ({ field }) => {
78
- return field.ownerKey.id;
79
- },
80
- }),
81
- common.makeDecryptionProcessor({
82
- cipherFieldName: 'receiverCipherData',
83
- getKeyId: ({ field }) => {
84
- return field.receiverKey.id;
85
- },
86
- }),
87
- common.makeDecryptionProcessor({
88
- cipherFieldName: 'sharedCipherData',
89
- getKeyId: ({ field }) => field.sharedKey.id,
90
- }),
91
- ])
92
- );
93
- this.registerProcessor(
94
- 'TpPasswordResetNode',
95
- this.tpprProcessor.makeTpPasswordResetNodeProcessor()
96
- );
97
- this.registerProcessor(
98
- 'SharedTpClaimApproverNode',
99
- common.series([
100
- common.makeDecryptionProcessor({
101
- cipherFieldName: 'sharedCipherApprovalData',
102
- getKeyId: ({ field }) => field.sharedKey.id,
103
- }),
104
- common.makeDecryptionProcessor({
105
- cipherFieldName: 'sharedCipherPartialAssemblyKey',
106
- getKeyId: ({ field }) => field.sharedKey.id,
107
- }),
108
- ])
109
- );
110
- this.registerProcessor(
111
- 'TpAssemblyAsApproverNode',
112
- common.series([
113
- common.makeDecryptionProcessor({
114
- cipherFieldName: 'sharedCipherData',
115
- getKeyId: ({ field }) => field.sharedKey.id,
116
- }),
117
- ])
118
- );
119
- }
120
-
121
- async processQuery(
122
- fields: { [key: string]: any },
123
- options: ProcessorOptions
124
- ) {
125
- options = {
126
- ...DefaultProcessorOptions,
127
- ...options,
128
- };
129
-
130
- // The top level query does not have __typename
131
- const ret = mapValuesMayAsync(fields, (field, key) =>
132
- this.processField({
133
- field,
134
- context: {
135
- path: [key],
136
- processChildren: true,
137
- },
138
- options,
139
- })
140
- );
141
- return ret;
142
- }
143
-
144
- // Either returns a Promise, or a value.
145
- // The Promise<any> type is redundant but it shows that it can return a promise
146
- // We are not using async on the function because we don't want auto promotion into a Promise, which
147
- // always defer execution into the event loops. It is costly and unnecessary for objects
148
- // with only native data types.
149
- private async processField({
150
- field,
151
- context,
152
- options,
153
- }: ProcessorCallbackParams) {
154
- if (field?.then) {
155
- throw new LrBadLogicException(
156
- 'processField() should not receive thenable.'
157
- );
158
- }
159
-
160
- if (field == null) {
161
- return null;
162
- }
163
-
164
- const newParams: ProcessorCallbackParams = {
165
- field,
166
- context: {
167
- ...context,
168
- // Processors modifies this field to communicate back to the caller.
169
- processChildren: true,
170
- },
171
- options,
172
- };
173
-
174
- // TODO allow registering processors by field name so we can process primitive fields as well.
175
- // We have common fields like "created", "modified" that be processed based on name.
176
- if (field[this.TYPENAME]) {
177
- // It's a custom object type
178
- const processor = this.processors[field[this.TYPENAME]];
179
- if (processor) {
180
- // Returns either a value or a promise.
181
- field = processor(newParams);
182
- }
183
-
184
- const processChildren = (childField) => {
185
- if (
186
- context.processChildren &&
187
- childField !== null &&
188
- typeof childField === 'object'
189
- ) {
190
- return mapValuesMayAsync(childField, (x, key) =>
191
- this.processField({
192
- field: x,
193
- context: extendPath(context, key),
194
- options,
195
- })
196
- );
197
- } else {
198
- return childField;
199
- }
200
- };
201
-
202
- // Keep processing all child fields
203
- if (field.then) {
204
- // Wait for field to resolve
205
- field = field.then((resolvedField) => {
206
- return processChildren(resolvedField);
207
- });
208
- } else {
209
- // Field is already resolved
210
- field = processChildren(field);
211
- }
212
- } else {
213
- // Keep processing all child fields
214
- if (context.processChildren) {
215
- if (Array.isArray(field)) {
216
- field = promiseAllMayAsync(
217
- (field as Array<any>).map((x, i) =>
218
- this.processField({
219
- field: x,
220
- context: extendPath(context, i.toString()),
221
- options,
222
- })
223
- )
224
- );
225
- }
226
- }
227
- }
228
-
229
- return field;
230
- }
231
-
232
- private registerProcessor(name: string, processor: ProcessorCallback) {
233
- if (this.processors[name]) {
234
- throw new LrBadLogicException(
235
- `Processor for field ${name} already exists.`
236
- );
237
- }
238
- this.processors[name] = processor;
239
- }
240
- }
@@ -1,177 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { KeyGraphService } from '../../cryptography/key-graph.service';
3
- import { RunOutsideAngular } from '../../_common/run-outside-angular';
4
- import {
5
- ID,
6
- SharedTpAssemblyNode,
7
- TpAssemblyApproverNode,
8
- TpAssemblyNode,
9
- TpSubAssemblyNode,
10
- } from '../types';
11
- import {
12
- processConnection,
13
- ProcessorCallbackParams,
14
- } from './common-processors.service';
15
- import {
16
- TpPasswordResetUserNode,
17
- TpPasswordResetUserApprovalNode,
18
- TpPasswordResetNode,
19
- } from '../types';
20
- import { Key } from '../../cryptography/cryptography.types';
21
- import { LrBadRequestException } from '../../_common/exceptions';
22
-
23
- @RunOutsideAngular({
24
- ngZoneName: 'ngZone',
25
- })
26
- @Injectable({
27
- providedIn: 'root',
28
- })
29
- export class TpPasswordResetProcessorService {
30
- constructor(private ngZone: NgZone, private keyGraph: KeyGraphService) {}
31
-
32
- async processTpPasswordResetUserNode(
33
- node: TpPasswordResetUserNode
34
- ): Promise<TpPasswordResetUserNode> {
35
- const pxk = node.pxk?.id && (await this.keyGraph.getKey(node.pxk.id));
36
-
37
- const ret = {
38
- ...node,
39
- };
40
-
41
- if (pxk && node.approvals) {
42
- ret.approvals = await Promise.all(
43
- node.approvals.map((approval) =>
44
- this.processTpPasswordResetUserApprovalNode(approval, pxk)
45
- )
46
- );
47
- }
48
-
49
- return ret;
50
- }
51
-
52
- private async processTpPasswordResetUserApprovalNode(
53
- approval: TpPasswordResetUserApprovalNode,
54
- pxk: Key
55
- ) {
56
- const ret = {
57
- ...approval,
58
- };
59
-
60
- if (approval.receiverCipher) {
61
- ret.receiverCipherClearJson = this.keyGraph.decryptFromString(
62
- pxk,
63
- approval.receiverCipher
64
- );
65
- }
66
-
67
- if (approval.receiverCipherPartialAssemblyKey) {
68
- ret.receiverCipherPartialAssemblyKeyClearJson = this.keyGraph.decryptFromString(
69
- pxk,
70
- approval.receiverCipherPartialAssemblyKey
71
- );
72
- }
73
- return ret;
74
- }
75
-
76
- makeTpPasswordResetNodeProcessor() {
77
- return async ({
78
- field,
79
- }: ProcessorCallbackParams): Promise<TpPasswordResetNode> => {
80
- const ret = {
81
- ...field,
82
- };
83
-
84
- if (field.assembly) {
85
- if (field.applied == null) {
86
- throw new LrBadRequestException(
87
- 'If you request for field "assembly" in the TpPasswordResetNode, then you must also request the "applied" field'
88
- );
89
- }
90
-
91
- ret.assembly = await this.processTpAssemblyNode(
92
- field.assembly,
93
- field.applied
94
- );
95
- }
96
-
97
- return ret;
98
- };
99
- }
100
-
101
- private async processTpAssemblyNode(
102
- assembly: TpAssemblyNode,
103
- applied: boolean
104
- ): Promise<TpAssemblyNode> {
105
- // Subject key is encrypted user the master key. So if reset has been applied, then
106
- // these keys are not available any more.
107
- const {
108
- subjectKey,
109
- assemblyKey,
110
- assemblyCipherData,
111
- subAssemblies,
112
- } = assembly;
113
-
114
- const ret: TpAssemblyNode = {
115
- ...assembly,
116
- subAssemblies: await processConnection(subAssemblies, (node) =>
117
- this.processTpSubAssemblyNode(node, subjectKey.id, applied)
118
- ),
119
- };
120
-
121
- if (!applied) {
122
- if (assemblyCipherData) {
123
- ret.assemblyCipherDataClearJson = await this.keyGraph.decryptFromString(
124
- assemblyKey.id,
125
- assemblyCipherData
126
- );
127
- }
128
- }
129
-
130
- return ret;
131
- }
132
-
133
- private async processTpSubAssemblyNode(
134
- subAssembly: TpSubAssemblyNode,
135
- subjectKeyId: ID,
136
- applied: boolean
137
- ): Promise<TpSubAssemblyNode> {
138
- const { subjectCipherData, approvers } = subAssembly;
139
-
140
- // const ret: TpSubAssemblyNode = {
141
- // ...subAssembly,
142
- // approvers: {
143
- // ...approvers,
144
- // edges: await Promise.all(
145
- // approvers.edges.map(async (edge) => ({
146
- // ...edge,
147
- // node: await this.processTpAssemblyApproverNode(edge.node, applied),
148
- // }))
149
- // ),
150
- // },
151
- // };
152
- const ret: TpSubAssemblyNode = {
153
- ...subAssembly,
154
- approvers: await processConnection(approvers, (node) =>
155
- this.processTpAssemblyApproverNode(node, applied)
156
- ),
157
- };
158
-
159
- if (!applied) {
160
- if (subjectCipherData) {
161
- ret.subjectCipherDataClearJson = await this.keyGraph.decryptFromString(
162
- subjectKeyId,
163
- subjectCipherData
164
- );
165
- }
166
- }
167
-
168
- return ret;
169
- }
170
-
171
- private async processTpAssemblyApproverNode(
172
- approver: TpAssemblyApproverNode,
173
- applied: boolean
174
- ) {
175
- return approver;
176
- }
177
- }
@@ -1,156 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import gql from 'graphql-tag';
3
- import { Key } from '../cryptography/cryptography.types';
4
- import { EncryptionService } from '../cryptography/encryption.service';
5
- import { KeyGraphService } from '../cryptography/key-graph.service';
6
- import { KeyService } from '../cryptography/key.service';
7
- import { SharedTrustedPartyDetails } from '../trusted-parties/trusted-party.types';
8
- import { ContactCardName, TrustedPartyDetails } from '../users/profile.types';
9
- import { User } from '../users/user.types';
10
- import { KeyGraphField } from '../_common/queries.gql';
11
- import { LrApolloService } from './lr-apollo.service';
12
-
13
- export const SharedContactCardFields = `
14
- id
15
- owner {
16
- id
17
- username
18
- }
19
- ownerKey {
20
- id
21
- }
22
- ownerCipherData
23
- receiver {
24
- id
25
- username
26
- }
27
- receiverKey {
28
- id
29
- }
30
- receiverCipherData
31
- sharedKey {
32
- id
33
- }
34
- sharedCipherData
35
- sharedCipherDataSig
36
- sharedCipherDataSigPxk {
37
- id
38
- }
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
-
54
- interface UpdateOwnedContactCard {
55
- updateOwnedContactCard: {
56
- ownedContactCard: SharedContactCard;
57
- };
58
- }
59
-
60
- export interface SharedContactCard {
61
- id: string;
62
- owner: User;
63
- ownerKey: Key;
64
- ownerCipherData: string;
65
- receiver: User;
66
- receiverKey: Key;
67
- receiverCipherData: string;
68
- sharedKey: Key;
69
- sharedCipherData: string;
70
- // Decrypted
71
- plainOwnerCipherDataJson: any;
72
- plainReceiverCipherDataJson: any;
73
- plainSharedCipherDataJson: any;
74
- }
75
-
76
- @Injectable({
77
- providedIn: 'root',
78
- })
79
- export class SharedContactCardService {
80
- constructor(
81
- private keyService: KeyService,
82
- private lrApollo: LrApolloService,
83
- private keyGraph: KeyGraphService,
84
- private encryptionService: EncryptionService
85
- ) {}
86
-
87
- async decryptSharedTrustedPartyDetails(
88
- cc: SharedContactCard
89
- ): Promise<SharedTrustedPartyDetails> {
90
- const details = await this.decryptTrustedPartyDetails(cc);
91
-
92
- return {
93
- id: cc.id,
94
- ownedKeyId: cc.ownerKey.id,
95
- sharedKeyId: cc.sharedKey.id,
96
- ...details,
97
- };
98
- }
99
-
100
- async decryptTrustedPartyDetails(
101
- cc: SharedContactCard
102
- ): Promise<TrustedPartyDetails> {
103
- if (cc && cc.sharedKey && cc.sharedCipherData) {
104
- try {
105
- return await this.encryptionService.decrypt(
106
- await this.keyGraph.getJwkKey(cc.sharedKey.id),
107
- cc.sharedCipherData
108
- );
109
- } catch (e) {
110
- console.error('Cannot decrypt trusted party details', e);
111
- }
112
- }
113
- return null;
114
- }
115
-
116
- async updateMySharedContactCard(
117
- id: string,
118
- ownedKeyId: string,
119
- sharedKeyId: string,
120
- contactCard: TrustedPartyDetails
121
- ): Promise<void> {
122
- const ownerKey = await this.keyGraph.getKey(ownedKeyId);
123
- const sharedKey = await this.keyGraph.getKey(sharedKeyId);
124
- const sigPxk = await this.keyService.getCurrentSigPxk();
125
-
126
- const sharedCipherData = await this.encryptionService.encrypt(
127
- sharedKey.jwk,
128
- contactCard
129
- );
130
- const sharedCipherDataSig = JSON.stringify(
131
- await this.encryptionService.sign(sigPxk.jwk, sharedCipherData)
132
- );
133
-
134
- const ownerPlainData = {
135
- name: new ContactCardName(contactCard.name),
136
- };
137
- const ownerPlainDataSig = JSON.stringify(
138
- await this.encryptionService.sign(sigPxk.jwk, ownerPlainData)
139
- );
140
-
141
- await this.lrApollo.mutate<UpdateOwnedContactCard>({
142
- mutation: UpdateOwnedContactCard,
143
- variables: {
144
- input: {
145
- id,
146
- ownerCipherData: '',
147
- ownerKeyId: ownerKey.id,
148
- sharedCipherDataSig,
149
- sharedKeyId: sharedKey.id,
150
- sigPxkId: sigPxk.id,
151
- ownerPlainDataSig,
152
- },
153
- },
154
- });
155
- }
156
- }