@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.
Files changed (379) hide show
  1. package/bundles/lifeready-core.umd.js +15939 -0
  2. package/bundles/lifeready-core.umd.js.map +1 -0
  3. package/bundles/lifeready-core.umd.min.js +16 -0
  4. package/bundles/lifeready-core.umd.min.js.map +1 -0
  5. package/esm2015/lib/_common/ast.js +40 -0
  6. package/esm2015/lib/_common/deferred-promise.js +24 -0
  7. package/esm2015/lib/_common/exceptions.js +157 -0
  8. package/esm2015/lib/_common/queries.gql.js +190 -0
  9. package/esm2015/lib/_common/run-outside-angular.js +79 -0
  10. package/esm2015/lib/_common/types.js +1 -0
  11. package/esm2015/lib/_common/utils.js +44 -0
  12. package/esm2015/lib/api/contact-card.gql.js +79 -0
  13. package/esm2015/lib/api/contact-card.service.js +154 -0
  14. package/esm2015/lib/api/contact-card2.gql.js +60 -0
  15. package/esm2015/lib/api/contact-card2.service.js +103 -0
  16. package/esm2015/lib/api/file.service.js +74 -0
  17. package/esm2015/lib/api/item2.gql.js +110 -0
  18. package/esm2015/lib/api/item2.service.js +311 -0
  19. package/esm2015/lib/api/key-exchange.gql.js +188 -0
  20. package/esm2015/lib/api/key-exchange.service.js +442 -0
  21. package/esm2015/lib/api/key-exchange.types.js +18 -0
  22. package/esm2015/lib/api/key-exchange2.gql.js +171 -0
  23. package/esm2015/lib/api/key-exchange2.service.js +479 -0
  24. package/esm2015/lib/api/lock.gql.js +40 -0
  25. package/esm2015/lib/api/lock.service.js +64 -0
  26. package/esm2015/lib/api/lr-apollo.service.js +46 -0
  27. package/esm2015/lib/api/lr-graphql/index.js +6 -0
  28. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
  29. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
  30. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
  31. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
  32. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
  33. package/esm2015/lib/api/message.service.js +138 -0
  34. package/esm2015/lib/api/persist.service.js +181 -0
  35. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
  36. package/esm2015/lib/api/query-processor/index.js +3 -0
  37. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
  38. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
  39. package/esm2015/lib/api/shared-contact-card.service.js +119 -0
  40. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
  41. package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
  42. package/esm2015/lib/api/time.service.js +146 -0
  43. package/esm2015/lib/api/types/graphql.types.js +7 -0
  44. package/esm2015/lib/api/types/index.js +3 -0
  45. package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
  46. package/esm2015/lib/auth/auth.config.js +57 -0
  47. package/esm2015/lib/auth/auth.gql.js +48 -0
  48. package/esm2015/lib/auth/auth.types.js +27 -0
  49. package/esm2015/lib/auth/idle.service.js +168 -0
  50. package/esm2015/lib/auth/idle.types.js +7 -0
  51. package/esm2015/lib/auth/lbop.service.js +355 -0
  52. package/esm2015/lib/auth/life-ready-auth.service.js +500 -0
  53. package/esm2015/lib/auth/password.service.js +320 -0
  54. package/esm2015/lib/auth/register.service.js +172 -0
  55. package/esm2015/lib/auth/two-factor.service.js +74 -0
  56. package/esm2015/lib/category/category-meta.service.js +99 -0
  57. package/esm2015/lib/category/category.gql.js +406 -0
  58. package/esm2015/lib/category/category.service.js +390 -0
  59. package/esm2015/lib/category/category.types.js +29 -0
  60. package/esm2015/lib/cryptography/cryptography.types.js +11 -0
  61. package/esm2015/lib/cryptography/encryption.service.js +189 -0
  62. package/esm2015/lib/cryptography/key-factory.service.js +237 -0
  63. package/esm2015/lib/cryptography/key-graph.service.js +280 -0
  64. package/esm2015/lib/cryptography/key-meta.service.js +200 -0
  65. package/esm2015/lib/cryptography/key.service.js +124 -0
  66. package/esm2015/lib/cryptography/slip39.service.js +169 -0
  67. package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
  68. package/esm2015/lib/life-ready.config.js +84 -0
  69. package/esm2015/lib/life-ready.module.js +74 -0
  70. package/esm2015/lib/plan/plan.gql.js +123 -0
  71. package/esm2015/lib/plan/plan.service.js +149 -0
  72. package/esm2015/lib/plan/plan.types.js +11 -0
  73. package/esm2015/lib/record/record-attachment.service.js +101 -0
  74. package/esm2015/lib/record/record.gql.js +179 -0
  75. package/esm2015/lib/record/record.service.js +206 -0
  76. package/esm2015/lib/record/record.types.js +15 -0
  77. package/esm2015/lib/record-type/record-type.service.js +75 -0
  78. package/esm2015/lib/record-type/record-type.types.js +28 -0
  79. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
  80. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
  81. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
  82. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
  85. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
  88. package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
  89. package/esm2015/lib/scenario/scenario.gql.js +368 -0
  90. package/esm2015/lib/scenario/scenario.service.js +611 -0
  91. package/esm2015/lib/scenario/scenario.types.js +64 -0
  92. package/esm2015/lib/search/search.gql.js +62 -0
  93. package/esm2015/lib/search/search.service.js +156 -0
  94. package/esm2015/lib/search/search.types.js +6 -0
  95. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
  96. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -0
  97. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -0
  98. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
  99. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -0
  100. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
  101. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
  102. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
  103. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
  104. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
  105. package/esm2015/lib/users/profile-details.service.js +214 -0
  106. package/esm2015/lib/users/profile.gql.js +97 -0
  107. package/esm2015/lib/users/profile.service.js +169 -0
  108. package/esm2015/lib/users/profile.types.js +34 -0
  109. package/esm2015/lib/users/user.gql.js +60 -0
  110. package/esm2015/lib/users/user.service.js +79 -0
  111. package/esm2015/lib/users/user.types.js +5 -0
  112. package/esm2015/lifeready-core.js +10 -0
  113. package/esm2015/public-api.js +81 -0
  114. package/fesm2015/lifeready-core.js +13314 -0
  115. package/fesm2015/lifeready-core.js.map +1 -0
  116. package/lib/_common/ast.d.ts +11 -0
  117. package/lib/_common/deferred-promise.d.ts +12 -0
  118. package/lib/_common/exceptions.d.ts +109 -0
  119. package/lib/_common/queries.gql.d.ts +10 -0
  120. package/lib/_common/run-outside-angular.d.ts +14 -0
  121. package/{src/lib/_common/types.ts → lib/_common/types.d.ts} +3 -6
  122. package/lib/_common/utils.d.ts +3 -0
  123. package/lib/api/contact-card.gql.d.ts +7 -0
  124. package/lib/api/contact-card.service.d.ts +52 -0
  125. package/lib/api/contact-card2.gql.d.ts +34 -0
  126. package/lib/api/contact-card2.service.d.ts +49 -0
  127. package/lib/api/file.service.d.ts +18 -0
  128. package/lib/api/item2.gql.d.ts +96 -0
  129. package/lib/api/item2.service.d.ts +177 -0
  130. package/lib/api/key-exchange.gql.d.ts +9 -0
  131. package/lib/api/key-exchange.service.d.ts +39 -0
  132. package/lib/api/key-exchange.types.d.ts +196 -0
  133. package/lib/api/key-exchange2.gql.d.ts +125 -0
  134. package/lib/api/key-exchange2.service.d.ts +187 -0
  135. package/lib/api/lock.gql.d.ts +27 -0
  136. package/lib/api/lock.service.d.ts +25 -0
  137. package/lib/api/lr-apollo.service.d.ts +15 -0
  138. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
  139. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
  140. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
  141. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
  142. package/lib/api/lr-graphql/lr.service.d.ts +9 -0
  143. package/lib/api/message.service.d.ts +58 -0
  144. package/lib/api/persist.service.d.ts +31 -0
  145. package/lib/api/query-processor/common-processors.service.d.ts +36 -0
  146. package/lib/api/query-processor/query-processor.service.d.ts +18 -0
  147. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
  148. package/lib/api/shared-contact-card.service.d.ts +33 -0
  149. package/lib/api/shared-contact-card2.gql.d.ts +36 -0
  150. package/lib/api/shared-contact-card2.service.d.ts +45 -0
  151. package/lib/api/time.service.d.ts +16 -0
  152. package/lib/api/types/graphql.types.d.ts +29 -0
  153. package/lib/api/types/lr-graphql.types.d.ts +385 -0
  154. package/lib/auth/auth.config.d.ts +5 -0
  155. package/lib/auth/auth.gql.d.ts +15 -0
  156. package/lib/auth/auth.types.d.ts +66 -0
  157. package/lib/auth/idle.service.d.ts +40 -0
  158. package/lib/auth/idle.types.d.ts +10 -0
  159. package/lib/auth/lbop.service.d.ts +91 -0
  160. package/lib/auth/life-ready-auth.service.d.ts +59 -0
  161. package/lib/auth/password.service.d.ts +78 -0
  162. package/lib/auth/register.service.d.ts +25 -0
  163. package/lib/auth/two-factor.service.d.ts +15 -0
  164. package/lib/category/category-meta.service.d.ts +23 -0
  165. package/lib/category/category.gql.d.ts +45 -0
  166. package/lib/category/category.service.d.ts +67 -0
  167. package/lib/category/category.types.d.ts +79 -0
  168. package/lib/cryptography/cryptography.types.d.ts +83 -0
  169. package/lib/cryptography/encryption.service.d.ts +41 -0
  170. package/lib/cryptography/key-factory.service.d.ts +38 -0
  171. package/lib/cryptography/key-graph.service.d.ts +33 -0
  172. package/lib/cryptography/key-meta.service.d.ts +44 -0
  173. package/lib/cryptography/key.service.d.ts +36 -0
  174. package/lib/cryptography/slip39.service.d.ts +43 -0
  175. package/lib/cryptography/web-crypto.service.d.ts +5 -0
  176. package/lib/life-ready.config.d.ts +14 -0
  177. package/lib/life-ready.module.d.ts +5 -0
  178. package/lib/plan/plan.gql.d.ts +11 -0
  179. package/lib/plan/plan.service.d.ts +33 -0
  180. package/lib/plan/plan.types.d.ts +31 -0
  181. package/lib/record/record-attachment.service.d.ts +16 -0
  182. package/lib/record/record.gql.d.ts +14 -0
  183. package/lib/record/record.service.d.ts +25 -0
  184. package/lib/record/record.types.d.ts +57 -0
  185. package/lib/record-type/record-type.service.d.ts +11 -0
  186. package/lib/record-type/record-type.types.d.ts +50 -0
  187. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
  188. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
  189. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
  190. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
  191. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
  192. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
  193. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
  194. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
  195. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
  196. package/lib/scenario/scenario-setup.service.d.ts +22 -0
  197. package/lib/scenario/scenario.gql.d.ts +34 -0
  198. package/lib/scenario/scenario.service.d.ts +58 -0
  199. package/lib/scenario/scenario.types.d.ts +217 -0
  200. package/lib/search/search.gql.d.ts +1 -0
  201. package/lib/search/search.service.d.ts +25 -0
  202. package/lib/search/search.types.d.ts +20 -0
  203. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
  204. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -0
  205. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -0
  206. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
  207. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -0
  208. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
  209. package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
  210. package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
  211. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
  212. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
  213. package/lib/users/profile-details.service.d.ts +21 -0
  214. package/lib/users/profile.gql.d.ts +11 -0
  215. package/lib/users/profile.service.d.ts +35 -0
  216. package/lib/users/profile.types.d.ts +96 -0
  217. package/lib/users/user.gql.d.ts +9 -0
  218. package/lib/users/user.service.d.ts +12 -0
  219. package/lib/users/user.types.d.ts +23 -0
  220. package/lifeready-core.d.ts +9 -0
  221. package/lifeready-core.metadata.json +1 -0
  222. package/package.json +29 -21
  223. package/{src/public-api.ts → public-api.d.ts} +0 -19
  224. package/karma.conf.js +0 -32
  225. package/ng-package.json +0 -26
  226. package/src/lib/_common/ast.ts +0 -75
  227. package/src/lib/_common/deferred-promise.ts +0 -35
  228. package/src/lib/_common/exceptions.ts +0 -189
  229. package/src/lib/_common/queries.gql.ts +0 -200
  230. package/src/lib/_common/run-outside-angular.ts +0 -125
  231. package/src/lib/_common/tests.ts +0 -82
  232. package/src/lib/_common/utils.ts +0 -57
  233. package/src/lib/api/api-mutation.spec.ts +0 -547
  234. package/src/lib/api/api-query.spec.ts +0 -40
  235. package/src/lib/api/contact-card.gql.ts +0 -85
  236. package/src/lib/api/contact-card.service.spec.ts +0 -249
  237. package/src/lib/api/contact-card.service.ts +0 -228
  238. package/src/lib/api/contact-card2.gql.ts +0 -93
  239. package/src/lib/api/contact-card2.service.spec.ts +0 -297
  240. package/src/lib/api/contact-card2.service.ts +0 -139
  241. package/src/lib/api/file.service.spec.ts +0 -14
  242. package/src/lib/api/file.service.ts +0 -81
  243. package/src/lib/api/item2.gql.ts +0 -211
  244. package/src/lib/api/item2.service.spec.ts +0 -1043
  245. package/src/lib/api/item2.service.ts +0 -481
  246. package/src/lib/api/key-exchange.gql.ts +0 -196
  247. package/src/lib/api/key-exchange.service.spec.ts +0 -470
  248. package/src/lib/api/key-exchange.service.ts +0 -731
  249. package/src/lib/api/key-exchange.types.ts +0 -235
  250. package/src/lib/api/key-exchange2.gql.ts +0 -310
  251. package/src/lib/api/key-exchange2.service.spec.ts +0 -892
  252. package/src/lib/api/key-exchange2.service.ts +0 -875
  253. package/src/lib/api/lock.gql.ts +0 -67
  254. package/src/lib/api/lock.service.spec.ts +0 -549
  255. package/src/lib/api/lock.service.ts +0 -57
  256. package/src/lib/api/lr-apollo.service.spec.ts +0 -27
  257. package/src/lib/api/lr-apollo.service.ts +0 -43
  258. package/src/lib/api/lr-graphql/lr-graphql.service.ts +0 -313
  259. package/src/lib/api/lr-graphql/lr-merged-mutation.ts +0 -377
  260. package/src/lib/api/lr-graphql/lr-mutation-base.ts +0 -67
  261. package/src/lib/api/lr-graphql/lr-mutation.ts +0 -74
  262. package/src/lib/api/lr-graphql/lr.service.ts +0 -28
  263. package/src/lib/api/message.service.spec.ts +0 -20
  264. package/src/lib/api/message.service.ts +0 -210
  265. package/src/lib/api/persist.service.spec.ts +0 -209
  266. package/src/lib/api/persist.service.ts +0 -220
  267. package/src/lib/api/query-processor/common-processors.service.ts +0 -148
  268. package/src/lib/api/query-processor/query-processor.service.ts +0 -240
  269. package/src/lib/api/query-processor/tp-password-reset-processor.service.ts +0 -177
  270. package/src/lib/api/shared-contact-card.service.ts +0 -156
  271. package/src/lib/api/shared-contact-card2.gql.ts +0 -76
  272. package/src/lib/api/shared-contact-card2.service.ts +0 -154
  273. package/src/lib/api/time.service.spec.ts +0 -48
  274. package/src/lib/api/time.service.ts +0 -155
  275. package/src/lib/api/types/graphql.types.ts +0 -48
  276. package/src/lib/api/types/lr-graphql.types.ts +0 -467
  277. package/src/lib/auth/auth.config.ts +0 -83
  278. package/src/lib/auth/auth.gql.ts +0 -62
  279. package/src/lib/auth/auth.types.ts +0 -79
  280. package/src/lib/auth/idle.service.spec.ts +0 -119
  281. package/src/lib/auth/idle.service.ts +0 -208
  282. package/src/lib/auth/idle.types.ts +0 -11
  283. package/src/lib/auth/lbop.service.spec.ts +0 -56
  284. package/src/lib/auth/lbop.service.ts +0 -539
  285. package/src/lib/auth/life-ready-auth.service.spec.ts +0 -70
  286. package/src/lib/auth/life-ready-auth.service.ts +0 -454
  287. package/src/lib/auth/password.service.spec.ts +0 -51
  288. package/src/lib/auth/password.service.ts +0 -438
  289. package/src/lib/auth/register.service.spec.ts +0 -31
  290. package/src/lib/auth/register.service.ts +0 -181
  291. package/src/lib/auth/two-factor.service.spec.ts +0 -21
  292. package/src/lib/auth/two-factor.service.ts +0 -69
  293. package/src/lib/category/category-meta.service.spec.ts +0 -28
  294. package/src/lib/category/category-meta.service.ts +0 -125
  295. package/src/lib/category/category.gql.ts +0 -449
  296. package/src/lib/category/category.service.spec.ts +0 -26
  297. package/src/lib/category/category.service.ts +0 -498
  298. package/src/lib/category/category.types.ts +0 -89
  299. package/src/lib/cryptography/cryptography.types.ts +0 -108
  300. package/src/lib/cryptography/encryption.service.spec.ts +0 -125
  301. package/src/lib/cryptography/encryption.service.ts +0 -243
  302. package/src/lib/cryptography/key-factory.service.spec.ts +0 -15
  303. package/src/lib/cryptography/key-factory.service.ts +0 -303
  304. package/src/lib/cryptography/key-graph.service.spec.ts +0 -16
  305. package/src/lib/cryptography/key-graph.service.ts +0 -354
  306. package/src/lib/cryptography/key-meta.service.spec.ts +0 -40
  307. package/src/lib/cryptography/key-meta.service.ts +0 -254
  308. package/src/lib/cryptography/key.service.spec.ts +0 -16
  309. package/src/lib/cryptography/key.service.ts +0 -154
  310. package/src/lib/cryptography/slip39.service.spec.ts +0 -44
  311. package/src/lib/cryptography/slip39.service.ts +0 -204
  312. package/src/lib/cryptography/web-crypto.service.ts +0 -22
  313. package/src/lib/life-ready.config.ts +0 -127
  314. package/src/lib/life-ready.module.ts +0 -81
  315. package/src/lib/plan/plan.gql.ts +0 -133
  316. package/src/lib/plan/plan.service.spec.ts +0 -294
  317. package/src/lib/plan/plan.service.ts +0 -198
  318. package/src/lib/plan/plan.types.ts +0 -37
  319. package/src/lib/record/record-attachment.service.spec.ts +0 -31
  320. package/src/lib/record/record-attachment.service.ts +0 -101
  321. package/src/lib/record/record.gql.ts +0 -192
  322. package/src/lib/record/record.service.spec.ts +0 -598
  323. package/src/lib/record/record.service.ts +0 -236
  324. package/src/lib/record/record.types.ts +0 -86
  325. package/src/lib/record-type/record-type.service.spec.ts +0 -16
  326. package/src/lib/record-type/record-type.service.ts +0 -71
  327. package/src/lib/record-type/record-type.types.ts +0 -58
  328. package/src/lib/scenario/approvals/scenario-approval.gql.ts +0 -112
  329. package/src/lib/scenario/approvals/scenario-approval.types.ts +0 -85
  330. package/src/lib/scenario/approvals/scenario-approver.service.spec.ts +0 -16
  331. package/src/lib/scenario/approvals/scenario-approver.service.ts +0 -422
  332. package/src/lib/scenario/claimants/scenario-claimant.gql.ts +0 -56
  333. package/src/lib/scenario/claimants/scenario-claimant.service.spec.ts +0 -16
  334. package/src/lib/scenario/claimants/scenario-claimant.service.ts +0 -100
  335. package/src/lib/scenario/claimants/scenario-claimant.types.ts +0 -21
  336. package/src/lib/scenario/receivers/scenario-receiver.gql.ts +0 -157
  337. package/src/lib/scenario/receivers/scenario-receiver.service.spec.ts +0 -16
  338. package/src/lib/scenario/receivers/scenario-receiver.service.ts +0 -278
  339. package/src/lib/scenario/receivers/scenario-receiver.types.ts +0 -66
  340. package/src/lib/scenario/scenario-setup.service.spec.ts +0 -22
  341. package/src/lib/scenario/scenario-setup.service.ts +0 -369
  342. package/src/lib/scenario/scenario.gql.ts +0 -404
  343. package/src/lib/scenario/scenario.service.spec.ts +0 -1586
  344. package/src/lib/scenario/scenario.service.ts +0 -811
  345. package/src/lib/scenario/scenario.types.ts +0 -258
  346. package/src/lib/search/search.gql.ts +0 -62
  347. package/src/lib/search/search.service.spec.ts +0 -57
  348. package/src/lib/search/search.service.ts +0 -174
  349. package/src/lib/search/search.types.ts +0 -24
  350. package/src/lib/trusted-parties/tp-password-reset-request.service.ts +0 -140
  351. package/src/lib/trusted-parties/tp-password-reset-user.service.ts +0 -359
  352. package/src/lib/trusted-parties/tp-password-reset.gql.ts +0 -453
  353. package/src/lib/trusted-parties/tp-password-reset.service.spec.ts +0 -602
  354. package/src/lib/trusted-parties/tp-password-reset.service.ts +0 -482
  355. package/src/lib/trusted-parties/trusted-party.gql.ts +0 -159
  356. package/src/lib/trusted-parties/trusted-party.service.spec.ts +0 -1008
  357. package/src/lib/trusted-parties/trusted-party.service.ts +0 -394
  358. package/src/lib/trusted-parties/trusted-party.types.ts +0 -119
  359. package/src/lib/trusted-parties/trusted-party2.gql.ts +0 -165
  360. package/src/lib/trusted-parties/trusted-party2.service.spec.ts +0 -1782
  361. package/src/lib/trusted-parties/trusted-party2.service.ts +0 -272
  362. package/src/lib/users/profile-details.service.spec.ts +0 -45
  363. package/src/lib/users/profile-details.service.ts +0 -278
  364. package/src/lib/users/profile.gql.ts +0 -108
  365. package/src/lib/users/profile.service.spec.ts +0 -97
  366. package/src/lib/users/profile.service.ts +0 -224
  367. package/src/lib/users/profile.types.ts +0 -101
  368. package/src/lib/users/user.gql.ts +0 -69
  369. package/src/lib/users/user.service.spec.ts +0 -161
  370. package/src/lib/users/user.service.ts +0 -72
  371. package/src/lib/users/user.types.ts +0 -27
  372. package/src/test.ts +0 -21
  373. package/tsconfig.lib.json +0 -21
  374. package/tsconfig.lib.prod.json +0 -6
  375. package/tsconfig.spec.json +0 -10
  376. package/tslint.json +0 -17
  377. /package/{src/lib/api/lr-graphql/index.ts → lib/api/lr-graphql/index.d.ts} +0 -0
  378. /package/{src/lib/api/query-processor/index.ts → lib/api/query-processor/index.d.ts} +0 -0
  379. /package/{src/lib/api/types/index.ts → lib/api/types/index.d.ts} +0 -0
@@ -0,0 +1,150 @@
1
+ import gql from 'graphql-tag';
2
+ import { KeyGraphField } from '../../_common/queries.gql';
3
+ import { TrustedPartyProperties } from '../../trusted-parties/trusted-party.gql';
4
+ import { CategoryFields, AccessFields } from '../../category/category.gql';
5
+ export const ReceiverFields = `
6
+ id
7
+ tp {
8
+ ${TrustedPartyProperties}
9
+ }
10
+ pbk {
11
+ id
12
+ }
13
+ sharedKey {
14
+ id
15
+ }
16
+ sharedCipherData
17
+ categories: receiverDirectories(plainMeta: $categoryFilter, orderBy: "created") {
18
+ edges {
19
+ node {
20
+ id
21
+ sharedKey {
22
+ id
23
+ }
24
+ sharedCipherData
25
+ accessRole
26
+ wrappedItemKey
27
+ directory {
28
+ ${CategoryFields}
29
+ }
30
+ }
31
+ }
32
+ }
33
+ records: receiverDirectories(plainMeta: $recordFilter, orderBy: "created") {
34
+ edges {
35
+ node {
36
+ id
37
+ sharedKey {
38
+ id
39
+ }
40
+ sharedCipherData
41
+ accessRole
42
+ wrappedItemKey
43
+ directory {
44
+ id
45
+ keyId
46
+ archived
47
+ plainMeta
48
+ cipherMeta
49
+ created
50
+ modified
51
+ ${AccessFields}
52
+ content: childFileLinks(plainMeta: $contentFilter) {
53
+ edges {
54
+ node {
55
+ childFile {
56
+ id
57
+ archived
58
+ currentVersion {
59
+ state {
60
+ keyId
61
+ plainMeta
62
+ cipherMeta
63
+ created
64
+ modified
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ `;
76
+ export const GetScenarioReceiverQuery = gql `
77
+ query GetScenarioReceiverQuery(
78
+ $id: LrRelayIdInput!,
79
+ $categoryFilter: LrJSONFilter!,
80
+ $recordFilter: LrJSONFilter!,
81
+ $contentFilter: LrJSONFilter
82
+ ) {
83
+ scenarioReceiver(id: $id) {
84
+ ${ReceiverFields}
85
+ }
86
+ ${KeyGraphField}
87
+ } `;
88
+ export const CreateScenarioReceiverMutation = gql `
89
+ mutation CreateScenarioReceiverMutation(
90
+ $input: CreateScenarioReceiverInput!
91
+ ) {
92
+ createScenarioReceiver(input: $input) {
93
+ receiver {
94
+ id
95
+ }
96
+ }
97
+ }
98
+ `;
99
+ export const UpdateScenarioReceiverMutation = gql `
100
+ mutation UpdateScenarioReceiverMutation(
101
+ $input: UpdateScenarioReceiverInput!
102
+ ) {
103
+ updateScenarioReceiver(input: $input) {
104
+ receiver {
105
+ id
106
+ }
107
+ }
108
+ }
109
+ `;
110
+ export const DeleteScenarioReceiverMutation = gql `
111
+ mutation DeleteScenarioReceiverMutation(
112
+ $input: DeleteScenarioReceiverInput!
113
+ ) {
114
+ deleteScenarioReceiver(input: $input) {
115
+ id
116
+ }
117
+ }
118
+ `;
119
+ export const AddScenarioReceiverDirectoryMutation = gql `
120
+ mutation AddScenarioReceiverDirectoryMutation(
121
+ $input: AddScenarioReceiverDirectoryInput!
122
+ ) {
123
+ addScenarioReceiverDirectory(input: $input) {
124
+ receiverDirectory {
125
+ id
126
+ }
127
+ }
128
+ }
129
+ `;
130
+ export const UpdateScenarioReceiverDirectoryMutation = gql `
131
+ mutation UpdateScenarioReceiverDirectoryMutation(
132
+ $input: UpdateScenarioReceiverDirectoryInput!
133
+ ) {
134
+ updateScenarioReceiverDirectory(input: $input) {
135
+ receiverDirectory {
136
+ id
137
+ }
138
+ }
139
+ }
140
+ `;
141
+ export const DeleteScenarioReceiverDirectoryMutation = gql `
142
+ mutation DeleteScenarioReceiverDirectoryMutation(
143
+ $input: DeleteScenarioReceiverDirectoryInput!
144
+ ) {
145
+ deleteScenarioReceiverDirectory(input: $input) {
146
+ id
147
+ }
148
+ }
149
+ `;
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIuZ3FsLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NjZW5hcmlvL3JlY2VpdmVycy9zY2VuYXJpby1yZWNlaXZlci5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRzs7O01BR3hCLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFvQmhCLGNBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBdUJkLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCdkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7TUFRckMsY0FBYzs7SUFFaEIsYUFBYTtHQUNkLENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVaEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztDQVVoRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVFoRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVXRELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVekQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaEZpZWxkIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XHJcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS5ncWwnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeUZpZWxkcywgQWNjZXNzRmllbGRzIH0gZnJvbSAnLi4vLi4vY2F0ZWdvcnkvY2F0ZWdvcnkuZ3FsJztcclxuXHJcbmV4cG9ydCBjb25zdCBSZWNlaXZlckZpZWxkcyA9IGBcclxuICBpZFxyXG4gIHRwIHtcclxuICAgICR7VHJ1c3RlZFBhcnR5UHJvcGVydGllc31cclxuICB9XHJcbiAgcGJrIHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIHNoYXJlZEtleSB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBzaGFyZWRDaXBoZXJEYXRhXHJcbiAgY2F0ZWdvcmllczogcmVjZWl2ZXJEaXJlY3RvcmllcyhwbGFpbk1ldGE6ICRjYXRlZ29yeUZpbHRlciwgb3JkZXJCeTogXCJjcmVhdGVkXCIpIHtcclxuICAgIGVkZ2VzIHtcclxuICAgICAgbm9kZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBzaGFyZWRLZXkge1xyXG4gICAgICAgICAgaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICAgIGFjY2Vzc1JvbGVcclxuICAgICAgICB3cmFwcGVkSXRlbUtleVxyXG4gICAgICAgIGRpcmVjdG9yeSB7XHJcbiAgICAgICAgICAke0NhdGVnb3J5RmllbGRzfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZWNvcmRzOiByZWNlaXZlckRpcmVjdG9yaWVzKHBsYWluTWV0YTogJHJlY29yZEZpbHRlciwgb3JkZXJCeTogXCJjcmVhdGVkXCIpIHtcclxuICAgIGVkZ2VzIHtcclxuICAgICAgbm9kZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBzaGFyZWRLZXkge1xyXG4gICAgICAgICAgaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICAgIGFjY2Vzc1JvbGVcclxuICAgICAgICB3cmFwcGVkSXRlbUtleVxyXG4gICAgICAgIGRpcmVjdG9yeSB7XHJcbiAgICAgICAgICBpZFxyXG4gICAgICAgICAga2V5SWRcclxuICAgICAgICAgIGFyY2hpdmVkXHJcbiAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgIGNpcGhlck1ldGFcclxuICAgICAgICAgIGNyZWF0ZWRcclxuICAgICAgICAgIG1vZGlmaWVkXHJcbiAgICAgICAgICAke0FjY2Vzc0ZpZWxkc31cclxuICAgICAgICAgIGNvbnRlbnQ6IGNoaWxkRmlsZUxpbmtzKHBsYWluTWV0YTogJGNvbnRlbnRGaWx0ZXIpIHtcclxuICAgICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICAgICAgY2hpbGRGaWxlIHtcclxuICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgYXJjaGl2ZWRcclxuICAgICAgICAgICAgICAgICAgY3VycmVudFZlcnNpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgICAgICAgICAgICAgIGNpcGhlck1ldGFcclxuICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdldFNjZW5hcmlvUmVjZWl2ZXJRdWVyeSA9IGdxbGBcclxucXVlcnkgR2V0U2NlbmFyaW9SZWNlaXZlclF1ZXJ5KFxyXG4gICRpZDogTHJSZWxheUlkSW5wdXQhLFxyXG4gICRjYXRlZ29yeUZpbHRlcjogTHJKU09ORmlsdGVyISxcclxuICAkcmVjb3JkRmlsdGVyOiBMckpTT05GaWx0ZXIhLFxyXG4gICRjb250ZW50RmlsdGVyOiBMckpTT05GaWx0ZXJcclxuKSB7XHJcbiAgc2NlbmFyaW9SZWNlaXZlcihpZDogJGlkKSB7XHJcbiAgICAke1JlY2VpdmVyRmllbGRzfVxyXG4gIH1cclxuICAke0tleUdyYXBoRmllbGR9XHJcbn0gYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gQ3JlYXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uKFxyXG4gICAgJGlucHV0OiBDcmVhdGVTY2VuYXJpb1JlY2VpdmVySW5wdXQhXHJcbiAgKSB7XHJcbiAgICBjcmVhdGVTY2VuYXJpb1JlY2VpdmVyKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgcmVjZWl2ZXIge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVXBkYXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbihcclxuICAgICRpbnB1dDogVXBkYXRlU2NlbmFyaW9SZWNlaXZlcklucHV0IVxyXG4gICkge1xyXG4gICAgdXBkYXRlU2NlbmFyaW9SZWNlaXZlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIHJlY2VpdmVyIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBEZWxldGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24oXHJcbiAgICAkaW5wdXQ6IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJJbnB1dCFcclxuICApIHtcclxuICAgIGRlbGV0ZVNjZW5hcmlvUmVjZWl2ZXIoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gQWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uKFxyXG4gICAgJGlucHV0OiBBZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5SW5wdXQhXHJcbiAgKSB7XHJcbiAgICBhZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5KGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgcmVjZWl2ZXJEaXJlY3Rvcnkge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVXBkYXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbihcclxuICAgICRpbnB1dDogVXBkYXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeUlucHV0IVxyXG4gICkge1xyXG4gICAgdXBkYXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIHJlY2VpdmVyRGlyZWN0b3J5IHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBEZWxldGVTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24oXHJcbiAgICAkaW5wdXQ6IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlJbnB1dCFcclxuICApIHtcclxuICAgIGRlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuIl19
@@ -0,0 +1,229 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { LrApolloService } from '../../api/lr-apollo.service';
4
+ import { CategoryFilter, RecordFilter } from '../../category/category.gql';
5
+ import { CategoryService } from '../../category/category.service';
6
+ import { KeyGraphService } from '../../cryptography/key-graph.service';
7
+ import { KeyMetaService } from '../../cryptography/key-meta.service';
8
+ import { RecordContentFilter } from '../../record/record.gql';
9
+ import { RecordService } from '../../record/record.service';
10
+ import { TrustedPartyService } from '../../trusted-parties/trusted-party.service';
11
+ import { AddScenarioReceiverDirectoryMutation, CreateScenarioReceiverMutation, DeleteScenarioReceiverDirectoryMutation, DeleteScenarioReceiverMutation, GetScenarioReceiverQuery, UpdateScenarioReceiverDirectoryMutation, UpdateScenarioReceiverMutation, } from './scenario-receiver.gql';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "../../api/lr-apollo.service";
14
+ import * as i2 from "../../cryptography/key-graph.service";
15
+ import * as i3 from "../../cryptography/key-meta.service";
16
+ import * as i4 from "../../trusted-parties/trusted-party.service";
17
+ import * as i5 from "../../category/category.service";
18
+ import * as i6 from "../../record/record.service";
19
+ export class ScenarioReceiverService {
20
+ constructor(lrApollo, keyGraph, keyMetaService, tpService, categoryService, recordService) {
21
+ this.lrApollo = lrApollo;
22
+ this.keyGraph = keyGraph;
23
+ this.keyMetaService = keyMetaService;
24
+ this.tpService = tpService;
25
+ this.categoryService = categoryService;
26
+ this.recordService = recordService;
27
+ }
28
+ getReceiver(receiverId) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const { scenarioReceiver } = yield this.lrApollo.query({
31
+ query: GetScenarioReceiverQuery,
32
+ variables: {
33
+ id: receiverId,
34
+ categoryFilter: CategoryFilter,
35
+ recordFilter: RecordFilter,
36
+ contentFilter: RecordContentFilter,
37
+ },
38
+ });
39
+ return this.mapReceiver(scenarioReceiver);
40
+ });
41
+ }
42
+ mapReceiver(receiver) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const { message } = yield this.keyGraph.decryptFromString(receiver.sharedKey.id, receiver.sharedCipherData);
45
+ return {
46
+ id: receiver.id,
47
+ keyId: receiver.sharedKey.id,
48
+ trustedParty: yield this.tpService.mapTrustedParty(receiver.tp),
49
+ message,
50
+ categories: yield this.mapCategories(receiver.categories),
51
+ records: yield this.mapRecords(receiver.records),
52
+ };
53
+ });
54
+ }
55
+ mapCategories(list) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return (yield Promise.all(list.edges
58
+ .map((x) => x.node)
59
+ .map((x) => x.childDirectory || x)
60
+ .map((node) => this.mapReceiverCategory(node))))
61
+ .filter((x) => x)
62
+ .sort((x, y) => x.category.name === y.category.name
63
+ ? 0
64
+ : x.category.name > y.category.name
65
+ ? 1
66
+ : -1);
67
+ });
68
+ }
69
+ mapRecords(list) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ return (yield Promise.all(list.edges
72
+ .map((x) => x.node)
73
+ .map((x) => x.childDirectory || x)
74
+ .map((node) => this.mapReceiverRecord(node))))
75
+ .filter((x) => x)
76
+ .sort((x, y) => x.record.name === y.record.name
77
+ ? 0
78
+ : x.record.name > y.record.name
79
+ ? 1
80
+ : -1);
81
+ });
82
+ }
83
+ mapReceiverCategory(receiverDirectory) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ return {
86
+ id: receiverDirectory.id,
87
+ keyId: receiverDirectory.sharedKey.id,
88
+ accessLevel: receiverDirectory.accessRole,
89
+ category: yield this.categoryService.mapCategory(receiverDirectory.directory),
90
+ };
91
+ });
92
+ }
93
+ mapReceiverRecord(receiverDirectory) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ return {
96
+ id: receiverDirectory.id,
97
+ keyId: receiverDirectory.sharedKey.id,
98
+ accessLevel: receiverDirectory.accessRole,
99
+ record: yield this.categoryService.mapRecord(receiverDirectory.directory),
100
+ };
101
+ });
102
+ }
103
+ addReceiver(receiver) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ const wrappedContent = yield this.keyMetaService.wrapContentWithKey(receiver.plainSharedCipherData, receiver.trustedPartySharedKeyId);
106
+ const { createScenarioReceiver } = yield this.lrApollo.mutate({
107
+ mutation: CreateScenarioReceiverMutation,
108
+ variables: {
109
+ input: {
110
+ scenarioId: receiver.scenarioId,
111
+ tpId: receiver.trustedPartyId,
112
+ tpSharedKeyId: receiver.trustedPartySharedKeyId,
113
+ tpSharedKeyWrappedSharedKey: wrappedContent.rootKey.wrappedKey,
114
+ sharedCipherData: wrappedContent.cipherMeta,
115
+ },
116
+ },
117
+ });
118
+ return createScenarioReceiver.receiver.id;
119
+ });
120
+ }
121
+ updateReceiver(receiver) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ const sharedCipherData = yield this.keyGraph.encryptToString(receiver.keyId, receiver.plainSharedCipherData);
124
+ yield this.lrApollo.mutate({
125
+ mutation: UpdateScenarioReceiverMutation,
126
+ variables: {
127
+ input: {
128
+ receiverId: receiver.id,
129
+ sharedKeyId: receiver.keyId,
130
+ sharedCipherData,
131
+ },
132
+ },
133
+ });
134
+ });
135
+ }
136
+ deleteReceiver(receiverId) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ yield this.lrApollo.mutate({
139
+ mutation: DeleteScenarioReceiverMutation,
140
+ variables: { input: { receiverId } },
141
+ });
142
+ });
143
+ }
144
+ addReceiverCategory(input) {
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ const category = yield this.categoryService.getCategory(input.categoryId);
147
+ const res = yield this.lrApollo.mutate({
148
+ mutation: AddScenarioReceiverDirectoryMutation,
149
+ variables: {
150
+ input: Object.assign(Object.assign({}, (yield this.addReceiverItem(input, category.category.keyId))), { directoryId: category.category.id }),
151
+ },
152
+ });
153
+ return res.addScenarioReceiverDirectory.receiverDirectory.id;
154
+ });
155
+ }
156
+ addReceiverRecord(input) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const record = yield this.recordService.getRecord(input.recordId);
159
+ const { addScenarioReceiverDirectory } = yield this.lrApollo.mutate({
160
+ mutation: AddScenarioReceiverDirectoryMutation,
161
+ variables: {
162
+ input: Object.assign(Object.assign({}, (yield this.addReceiverItem(input, record.keyId))), { directoryId: record.id }),
163
+ },
164
+ });
165
+ return addScenarioReceiverDirectory.receiverDirectory.id;
166
+ });
167
+ }
168
+ addReceiverItem(input, itemKeyId) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const sharedCipherData = input.plainSharedCipherData
171
+ ? yield this.keyGraph.encryptToString(input.receiverKeyId, input.plainSharedCipherData)
172
+ : '';
173
+ const itemKey = yield this.keyGraph.getKey(itemKeyId);
174
+ let wrappedItemKey = yield this.keyGraph.encryptToString(input.receiverKeyId, itemKey.jwk.toJSON(true));
175
+ if (input.assemblyKeyId) {
176
+ wrappedItemKey = yield this.keyGraph.encryptToString(input.assemblyKeyId, wrappedItemKey);
177
+ }
178
+ return {
179
+ receiverId: input.receiverId,
180
+ sharedKeyId: input.receiverKeyId,
181
+ assemblyKeyId: input.assemblyKeyId,
182
+ wrappedItemKey,
183
+ accessRole: input.accessRole,
184
+ sharedCipherData,
185
+ };
186
+ });
187
+ }
188
+ updateReceiverItem(input) {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ const sharedCipherData = input.plainSharedCipherData
191
+ ? yield this.keyGraph.encryptToString(input.keyId, input.plainSharedCipherData)
192
+ : '';
193
+ yield this.lrApollo.mutate({
194
+ mutation: UpdateScenarioReceiverDirectoryMutation,
195
+ variables: {
196
+ input: {
197
+ receiverDirectoryId: input.id,
198
+ sharedKeyId: input.keyId,
199
+ accessRole: input.accessRole,
200
+ sharedCipherData,
201
+ },
202
+ },
203
+ });
204
+ });
205
+ }
206
+ deleteReceiverItem(receiverCategoryId) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ yield this.lrApollo.mutate({
209
+ mutation: DeleteScenarioReceiverDirectoryMutation,
210
+ variables: { input: { receiverDirectoryId: receiverCategoryId } },
211
+ });
212
+ });
213
+ }
214
+ }
215
+ ScenarioReceiverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScenarioReceiverService_Factory() { return new ScenarioReceiverService(i0.ɵɵinject(i1.LrApolloService), i0.ɵɵinject(i2.KeyGraphService), i0.ɵɵinject(i3.KeyMetaService), i0.ɵɵinject(i4.TrustedPartyService), i0.ɵɵinject(i5.CategoryService), i0.ɵɵinject(i6.RecordService)); }, token: ScenarioReceiverService, providedIn: "root" });
216
+ ScenarioReceiverService.decorators = [
217
+ { type: Injectable, args: [{
218
+ providedIn: 'root',
219
+ },] }
220
+ ];
221
+ ScenarioReceiverService.ctorParameters = () => [
222
+ { type: LrApolloService },
223
+ { type: KeyGraphService },
224
+ { type: KeyMetaService },
225
+ { type: TrustedPartyService },
226
+ { type: CategoryService },
227
+ { type: RecordService }
228
+ ];
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zY2VuYXJpby9yZWNlaXZlcnMvc2NlbmFyaW8tcmVjZWl2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDOUIsdUNBQXVDLEVBQ3ZDLDhCQUE4QixFQUM5Qix3QkFBd0IsRUFDeEIsdUNBQXVDLEVBQ3ZDLDhCQUE4QixHQUMvQixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNVLFFBQXlCLEVBQ3pCLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLFNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLGFBQTRCO1FBTDVCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFj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O1lBRVAsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBTTtnQkFDOUIsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRTt3QkFDTCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLO3dCQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7d0JBQzVCLGdCQUFnQjtxQkFDakI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFWSxrQkFBa0IsQ0FBQyxrQkFBMEI7O1lBQ3hELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU07Z0JBQzlCLFFBQVEsRUFBRSx1Q0FBdUM7Z0JBQ2pELFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLEVBQUU7YUFDbEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7O1lBclBGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBaENRLGVBQWU7WUFHZixlQUFlO1lBQ2YsY0FBYztZQUdkLG1CQUFtQjtZQUxuQixlQUFlO1lBSWYsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL2xyLWFwb2xsby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIsIFJlY29yZEZpbHRlciB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LmdxbCc7XHJcbmltcG9ydCB7IENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jcnlwdG9ncmFwaHkva2V5LWdyYXBoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLZXlNZXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2NyeXB0b2dyYXBoeS9rZXktbWV0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVjb3JkQ29udGVudEZpbHRlciB9IGZyb20gJy4uLy4uL3JlY29yZC9yZWNvcmQuZ3FsJztcclxuaW1wb3J0IHsgUmVjb3JkU2VydmljZSB9IGZyb20gJy4uLy4uL3JlY29yZC9yZWNvcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGFzRWRnZXMgfSBmcm9tICcuLi8uLi9fY29tbW9uL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBBZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24sXHJcbiAgQ3JlYXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uLFxyXG4gIERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcclxuICBEZWxldGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXHJcbiAgR2V0U2NlbmFyaW9SZWNlaXZlclF1ZXJ5LFxyXG4gIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcclxuICBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXHJcbn0gZnJvbSAnLi9zY2VuYXJpby1yZWNlaXZlci5ncWwnO1xyXG5pbXBvcnQge1xyXG4gIEFkZFNjZW5hcmlvUmVjZWl2ZXJDYXRlZ29yeUlucHV0LFxyXG4gIEFkZFNjZW5hcmlvUmVjZWl2ZXJJdGVtSW5wdXQsXHJcbiAgQWRkU2NlbmFyaW9SZWNlaXZlclJlY29yZElucHV0LFxyXG4gIEFkZFNjZW5hcmlvUmVjZWl2ZXIsXHJcbiAgUmVjZWl2ZXIsXHJcbiAgUmVjZWl2ZXJDYXRlZ29yeSxcclxuICBSZWNlaXZlclJlY29yZCxcclxuICBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyLFxyXG4gIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJJdGVtSW5wdXQsXHJcbn0gZnJvbSAnLi9zY2VuYXJpby1yZWNlaXZlci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NlbmFyaW9SZWNlaXZlclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRwU2VydmljZTogVHJ1c3RlZFBhcnR5U2VydmljZSxcclxuICAgIHByaXZhdGUgY2F0ZWdvcnlTZXJ2aWNlOiBDYXRlZ29yeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlY29yZFNlcnZpY2U6IFJlY29yZFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRSZWNlaXZlcihyZWNlaXZlcklkOiBzdHJpbmcpOiBQcm9taXNlPFJlY2VpdmVyPiB7XHJcbiAgICBjb25zdCB7IHNjZW5hcmlvUmVjZWl2ZXIgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XHJcbiAgICAgIHF1ZXJ5OiBHZXRTY2VuYXJpb1JlY2VpdmVyUXVlcnksXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlkOiByZWNlaXZlcklkLFxyXG4gICAgICAgIGNhdGVnb3J5RmlsdGVyOiBDYXRlZ29yeUZpbHRlcixcclxuICAgICAgICByZWNvcmRGaWx0ZXI6IFJlY29yZEZpbHRlcixcclxuICAgICAgICBjb250ZW50RmlsdGVyOiBSZWNvcmRDb250ZW50RmlsdGVyLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBSZWNlaXZlcihzY2VuYXJpb1JlY2VpdmVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBtYXBSZWNlaXZlcihyZWNlaXZlcjogYW55KTogUHJvbWlzZTxSZWNlaXZlcj4ge1xyXG4gICAgY29uc3QgeyBtZXNzYWdlIH0gPSBhd2FpdCB0aGlzLmtleUdyYXBoLmRlY3J5cHRGcm9tU3RyaW5nPHtcclxuICAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgfT4ocmVjZWl2ZXIuc2hhcmVkS2V5LmlkLCByZWNlaXZlci5zaGFyZWRDaXBoZXJEYXRhKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiByZWNlaXZlci5pZCxcclxuICAgICAga2V5SWQ6IHJlY2VpdmVyLnNoYXJlZEtleS5pZCxcclxuICAgICAgdHJ1c3RlZFBhcnR5OiBhd2FpdCB0aGlzLnRwU2VydmljZS5tYXBUcnVzdGVkUGFydHkocmVjZWl2ZXIudHApLFxyXG4gICAgICBtZXNzYWdlLFxyXG4gICAgICBjYXRlZ29yaWVzOiBhd2FpdCB0aGlzLm1hcENhdGVnb3JpZXMocmVjZWl2ZXIuY2F0ZWdvcmllcyksXHJcbiAgICAgIHJlY29yZHM6IGF3YWl0IHRoaXMubWFwUmVjb3JkcyhyZWNlaXZlci5yZWNvcmRzKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIG1hcENhdGVnb3JpZXMobGlzdDogSGFzRWRnZXM8YW55Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGw8UmVjZWl2ZXJDYXRlZ29yeT4oXHJcbiAgICAgICAgbGlzdC5lZGdlc1xyXG4gICAgICAgICAgLm1hcCgoeCkgPT4geC5ub2RlKVxyXG4gICAgICAgICAgLm1hcCgoeCkgPT4geC5jaGlsZERpcmVjdG9yeSB8fCB4KVxyXG4gICAgICAgICAgLm1hcCgobm9kZTogYW55KSA9PiB0aGlzLm1hcFJlY2VpdmVyQ2F0ZWdvcnkobm9kZSkpXHJcbiAgICAgIClcclxuICAgIClcclxuICAgICAgLmZpbHRlcigoeCkgPT4geClcclxuICAgICAgLnNvcnQoKHgsIHkpID0+XHJcbiAgICAgICAgeC5jYXRlZ29yeS5uYW1lID09PSB5LmNhdGVnb3J5Lm5hbWVcclxuICAgICAgICAgID8gMFxyXG4gICAgICAgICAgOiB4LmNhdGVnb3J5Lm5hbWUgPiB5LmNhdGVnb3J5Lm5hbWVcclxuICAgICAgICAgID8gMVxyXG4gICAgICAgICAgOiAtMVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBtYXBSZWNvcmRzKGxpc3Q6IEhhc0VkZ2VzPGFueT4pIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsPFJlY2VpdmVyUmVjb3JkPihcclxuICAgICAgICBsaXN0LmVkZ2VzXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB4Lm5vZGUpXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB4LmNoaWxkRGlyZWN0b3J5IHx8IHgpXHJcbiAgICAgICAgICAubWFwKChub2RlOiBhbnkpID0+IHRoaXMubWFwUmVjZWl2ZXJSZWNvcmQobm9kZSkpXHJcbiAgICAgIClcclxuICAgIClcclxuICAgICAgLmZpbHRlcigoeCkgPT4geClcclxuICAgICAgLnNvcnQoKHgsIHkpID0+XHJcbiAgICAgICAgeC5yZWNvcmQubmFtZSA9PT0geS5yZWNvcmQubmFtZVxyXG4gICAgICAgICAgPyAwXHJcbiAgICAgICAgICA6IHgucmVjb3JkLm5hbWUgPiB5LnJlY29yZC5uYW1lXHJcbiAgICAgICAgICA/IDFcclxuICAgICAgICAgIDogLTFcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgbWFwUmVjZWl2ZXJDYXRlZ29yeShcclxuICAgIHJlY2VpdmVyRGlyZWN0b3J5OiBhbnlcclxuICApOiBQcm9taXNlPFJlY2VpdmVyQ2F0ZWdvcnk+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiByZWNlaXZlckRpcmVjdG9yeS5pZCxcclxuICAgICAga2V5SWQ6IHJlY2VpdmVyRGlyZWN0b3J5LnNoYXJlZEtleS5pZCxcclxuICAgICAgYWNjZXNzTGV2ZWw6IHJlY2VpdmVyRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXHJcbiAgICAgIGNhdGVnb3J5OiBhd2FpdCB0aGlzLmNhdGVnb3J5U2VydmljZS5tYXBDYXRlZ29yeShcclxuICAgICAgICByZWNlaXZlckRpcmVjdG9yeS5kaXJlY3RvcnlcclxuICAgICAgKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIG1hcFJlY2VpdmVyUmVjb3JkKFxyXG4gICAgcmVjZWl2ZXJEaXJlY3Rvcnk6IGFueVxyXG4gICk6IFByb21pc2U8UmVjZWl2ZXJSZWNvcmQ+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiByZWNlaXZlckRpcmVjdG9yeS5pZCxcclxuICAgICAga2V5SWQ6IHJlY2VpdmVyRGlyZWN0b3J5LnNoYXJlZEtleS5pZCxcclxuICAgICAgYWNjZXNzTGV2ZWw6IHJlY2VpdmVyRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXHJcbiAgICAgIHJlY29yZDogYXdhaXQgdGhpcy5jYXRlZ29yeVNlcnZpY2UubWFwUmVjb3JkKHJlY2VpdmVyRGlyZWN0b3J5LmRpcmVjdG9yeSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFJlY2VpdmVyKHJlY2VpdmVyOiBBZGRTY2VuYXJpb1JlY2VpdmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IHdyYXBwZWRDb250ZW50ID0gYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS53cmFwQ29udGVudFdpdGhLZXkoXHJcbiAgICAgIHJlY2VpdmVyLnBsYWluU2hhcmVkQ2lwaGVyRGF0YSxcclxuICAgICAgcmVjZWl2ZXIudHJ1c3RlZFBhcnR5U2hhcmVkS2V5SWRcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgeyBjcmVhdGVTY2VuYXJpb1JlY2VpdmVyIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcclxuICAgICAgbXV0YXRpb246IENyZWF0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIHNjZW5hcmlvSWQ6IHJlY2VpdmVyLnNjZW5hcmlvSWQsXHJcbiAgICAgICAgICB0cElkOiByZWNlaXZlci50cnVzdGVkUGFydHlJZCxcclxuICAgICAgICAgIHRwU2hhcmVkS2V5SWQ6IHJlY2VpdmVyLnRydXN0ZWRQYXJ0eVNoYXJlZEtleUlkLFxyXG4gICAgICAgICAgdHBTaGFyZWRLZXlXcmFwcGVkU2hhcmVkS2V5OiB3cmFwcGVkQ29udGVudC5yb290S2V5LndyYXBwZWRLZXksXHJcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhOiB3cmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjcmVhdGVTY2VuYXJpb1JlY2VpdmVyLnJlY2VpdmVyLmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZVJlY2VpdmVyKHJlY2VpdmVyOiBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXHJcbiAgICAgIHJlY2VpdmVyLmtleUlkLFxyXG4gICAgICByZWNlaXZlci5wbGFpblNoYXJlZENpcGhlckRhdGFcclxuICAgICk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XHJcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICByZWNlaXZlcklkOiByZWNlaXZlci5pZCxcclxuICAgICAgICAgIHNoYXJlZEtleUlkOiByZWNlaXZlci5rZXlJZCxcclxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGEsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZVJlY2VpdmVyKHJlY2VpdmVySWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XHJcbiAgICAgIG11dGF0aW9uOiBEZWxldGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXHJcbiAgICAgIHZhcmlhYmxlczogeyBpbnB1dDogeyByZWNlaXZlcklkIH0gfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFJlY2VpdmVyQ2F0ZWdvcnkoXHJcbiAgICBpbnB1dDogQWRkU2NlbmFyaW9SZWNlaXZlckNhdGVnb3J5SW5wdXRcclxuICApOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgY2F0ZWdvcnkgPSBhd2FpdCB0aGlzLmNhdGVnb3J5U2VydmljZS5nZXRDYXRlZ29yeShpbnB1dC5jYXRlZ29yeUlkKTtcclxuXHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcclxuICAgICAgbXV0YXRpb246IEFkZFNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIC4uLihhd2FpdCB0aGlzLmFkZFJlY2VpdmVySXRlbShpbnB1dCwgY2F0ZWdvcnkuY2F0ZWdvcnkua2V5SWQpKSxcclxuICAgICAgICAgIGRpcmVjdG9yeUlkOiBjYXRlZ29yeS5jYXRlZ29yeS5pZCxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHJlcy5hZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5LnJlY2VpdmVyRGlyZWN0b3J5LmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFJlY2VpdmVyUmVjb3JkKFxyXG4gICAgaW5wdXQ6IEFkZFNjZW5hcmlvUmVjZWl2ZXJSZWNvcmRJbnB1dFxyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLnJlY29yZFNlcnZpY2UuZ2V0UmVjb3JkKGlucHV0LnJlY29yZElkKTtcclxuXHJcbiAgICBjb25zdCB7IGFkZFNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnkgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xyXG4gICAgICBtdXRhdGlvbjogQWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgLi4uKGF3YWl0IHRoaXMuYWRkUmVjZWl2ZXJJdGVtKGlucHV0LCByZWNvcmQua2V5SWQpKSxcclxuICAgICAgICAgIGRpcmVjdG9yeUlkOiByZWNvcmQuaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFkZFNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnkucmVjZWl2ZXJEaXJlY3RvcnkuaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGFkZFJlY2VpdmVySXRlbShcclxuICAgIGlucHV0OiBBZGRTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0LFxyXG4gICAgaXRlbUtleUlkOiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICA/IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxyXG4gICAgICAgICAgaW5wdXQucmVjZWl2ZXJLZXlJZCxcclxuICAgICAgICAgIGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICAgIClcclxuICAgICAgOiAnJztcclxuXHJcbiAgICBjb25zdCBpdGVtS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoaXRlbUtleUlkKTtcclxuICAgIGxldCB3cmFwcGVkSXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxyXG4gICAgICBpbnB1dC5yZWNlaXZlcktleUlkLFxyXG4gICAgICBpdGVtS2V5Lmp3ay50b0pTT04odHJ1ZSlcclxuICAgICk7XHJcblxyXG4gICAgaWYgKGlucHV0LmFzc2VtYmx5S2V5SWQpIHtcclxuICAgICAgd3JhcHBlZEl0ZW1LZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcclxuICAgICAgICBpbnB1dC5hc3NlbWJseUtleUlkLFxyXG4gICAgICAgIHdyYXBwZWRJdGVtS2V5XHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcmVjZWl2ZXJJZDogaW5wdXQucmVjZWl2ZXJJZCxcclxuICAgICAgc2hhcmVkS2V5SWQ6IGlucHV0LnJlY2VpdmVyS2V5SWQsXHJcbiAgICAgIGFzc2VtYmx5S2V5SWQ6IGlucHV0LmFzc2VtYmx5S2V5SWQsXHJcbiAgICAgIHdyYXBwZWRJdGVtS2V5LFxyXG4gICAgICBhY2Nlc3NSb2xlOiBpbnB1dC5hY2Nlc3NSb2xlLFxyXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVSZWNlaXZlckl0ZW0oXHJcbiAgICBpbnB1dDogVXBkYXRlU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxyXG4gICAgICA/IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxyXG4gICAgICAgICAgaW5wdXQua2V5SWQsXHJcbiAgICAgICAgICBpbnB1dC5wbGFpblNoYXJlZENpcGhlckRhdGFcclxuICAgICAgICApXHJcbiAgICAgIDogJyc7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XHJcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24sXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICByZWNlaXZlckRpcmVjdG9yeUlkOiBpbnB1dC5pZCxcclxuICAgICAgICAgIHNoYXJlZEtleUlkOiBpbnB1dC5rZXlJZCxcclxuICAgICAgICAgIGFjY2Vzc1JvbGU6IGlucHV0LmFjY2Vzc1JvbGUsXHJcbiAgICAgICAgICBzaGFyZWRDaXBoZXJEYXRhLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVSZWNlaXZlckl0ZW0ocmVjZWl2ZXJDYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xyXG4gICAgICBtdXRhdGlvbjogRGVsZXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uLFxyXG4gICAgICB2YXJpYWJsZXM6IHsgaW5wdXQ6IHsgcmVjZWl2ZXJEaXJlY3RvcnlJZDogcmVjZWl2ZXJDYXRlZ29yeUlkIH0gfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2NlbmFyaW8vcmVjZWl2ZXJzL3NjZW5hcmlvLXJlY2VpdmVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbCB9IGZyb20gJy4vLi4vLi4vY2F0ZWdvcnkvY2F0ZWdvcnkudHlwZXMnO1xyXG5pbXBvcnQgeyBUcnVzdGVkUGFydHkgfSBmcm9tICcuLi8uLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS50eXBlcyc7XHJcbmltcG9ydCB7IENhdGVnb3J5LCBWYXVsdFJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZXIge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxuICB0cnVzdGVkUGFydHk6IFRydXN0ZWRQYXJ0eTtcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuICBjYXRlZ29yaWVzOiBSZWNlaXZlckNhdGVnb3J5W107XHJcbiAgcmVjb3Jkcz86IFJlY2VpdmVyUmVjb3JkW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZXJDYXRlZ29yeSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIGFjY2Vzc0xldmVsOiBBY2Nlc3NMZXZlbDtcclxuICBjYXRlZ29yeTogQ2F0ZWdvcnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZXJSZWNvcmQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxuICBhY2Nlc3NMZXZlbDogQWNjZXNzTGV2ZWw7XHJcbiAgcmVjb3JkOiBWYXVsdFJlY29yZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRTY2VuYXJpb1JlY2VpdmVyIHtcclxuICBzY2VuYXJpb0lkOiBzdHJpbmc7XHJcbiAgdHJ1c3RlZFBhcnR5SWQ6IHN0cmluZztcclxuICB0cnVzdGVkUGFydHlTaGFyZWRLZXlJZDogc3RyaW5nO1xyXG4gIHBsYWluU2hhcmVkQ2lwaGVyRGF0YTogb2JqZWN0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXIge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAga2V5SWQ6IHN0cmluZztcclxuICBwbGFpblNoYXJlZENpcGhlckRhdGE6IG9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0IHtcclxuICBzY2VuYXJpb0lkOiBzdHJpbmc7XHJcbiAgYXNzZW1ibHlLZXlJZD86IHN0cmluZztcclxuICByZWNlaXZlcklkOiBzdHJpbmc7XHJcbiAgcmVjZWl2ZXJLZXlJZDogc3RyaW5nO1xyXG4gIGFjY2Vzc1JvbGU6IEFjY2Vzc0xldmVsO1xyXG4gIHBsYWluU2hhcmVkQ2lwaGVyRGF0YT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRTY2VuYXJpb1JlY2VpdmVyQ2F0ZWdvcnlJbnB1dFxyXG4gIGV4dGVuZHMgQWRkU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dCB7XHJcbiAgY2F0ZWdvcnlJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZFNjZW5hcmlvUmVjZWl2ZXJSZWNvcmRJbnB1dFxyXG4gIGV4dGVuZHMgQWRkU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dCB7XHJcbiAgcmVjb3JkSWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIGtleUlkOiBzdHJpbmc7XHJcbiAgYWNjZXNzUm9sZTogQWNjZXNzTGV2ZWw7XHJcbiAgcGxhaW5TaGFyZWRDaXBoZXJEYXRhPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==