@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,64 @@
1
+ // Glossary
2
+ // - Subject: the user that the scenario applies to
3
+ // - Approver: the user that can approve a scenario
4
+ // - Approver sub-assembly: a group of approvers that must reach quorum for the sub-assembly to be considered approved
5
+ // - Approver assembly: a group of sub-assemblies that must reach quorum for the assembly to be considered approved
6
+ // - Receiver: a user that will receive the released information
7
+ // - Claimant: a user that can start the process of release of information
8
+ export var ScenarioState;
9
+ (function (ScenarioState) {
10
+ // Can not be claimed when DISABLED. Scenarios can be created in this state, then
11
+ // set to ENABLED once setup is complete.
12
+ ScenarioState["DISABLED"] = "DISABLED";
13
+ // Can be claimed when ENABLED. It sits in this state until claimed.
14
+ ScenarioState["ENABLED"] = "ENABLED";
15
+ // Claimant has initiated a claim.
16
+ ScenarioState["CLAIMED"] = "CLAIMED";
17
+ // Approvers have approved this scenario
18
+ ScenarioState["APPROVED"] = "APPROVED";
19
+ ScenarioState["REJECTED"] = "REJECTED";
20
+ })(ScenarioState || (ScenarioState = {}));
21
+ export var ScenarioClaimState;
22
+ (function (ScenarioClaimState) {
23
+ ScenarioClaimState["Claimed"] = "CLAIMED";
24
+ ScenarioClaimState["Approved"] = "APPROVED";
25
+ ScenarioClaimState["Expired"] = "EXPIRED";
26
+ ScenarioClaimState["Rejected"] = "REJECTED";
27
+ ScenarioClaimState["Cancelled"] = "CANCELLED";
28
+ ScenarioClaimState["Reset"] = "RESET";
29
+ })(ScenarioClaimState || (ScenarioClaimState = {}));
30
+ export var ApproverClaimState;
31
+ (function (ApproverClaimState) {
32
+ ApproverClaimState["Claimed"] = "CLAIMED";
33
+ ApproverClaimState["Approved"] = "APPROVED";
34
+ ApproverClaimState["Rejected"] = "REJECTED";
35
+ })(ApproverClaimState || (ApproverClaimState = {}));
36
+ export class NewScenario {
37
+ }
38
+ export class NewScenarioClaimant {
39
+ }
40
+ export class NewScenarioApprovalGroup {
41
+ }
42
+ export class NewScenarioApprover {
43
+ }
44
+ export class NewScenarioReceiver {
45
+ }
46
+ export class UpdateScenario {
47
+ }
48
+ export class UpdatedScenarioClaimant {
49
+ }
50
+ export class UpdatedScenarioApprovalGroup {
51
+ }
52
+ export class UpdatedScenarioApprover {
53
+ }
54
+ export class UpdatedScenarioReceiver {
55
+ }
56
+ export class ScenarioSummary {
57
+ }
58
+ export class ScenarioClaim {
59
+ }
60
+ export class SharedScenarioSummary {
61
+ }
62
+ export class SharedScenario {
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8udHlwZXMuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2NlbmFyaW8vc2NlbmFyaW8udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsV0FBVztBQUNYLG1EQUFtRDtBQUNuRCxtREFBbUQ7QUFDbkQsc0hBQXNIO0FBQ3RILG1IQUFtSDtBQUNuSCxnRUFBZ0U7QUFDaEUsMEVBQTBFO0FBRTFFLE1BQU0sQ0FBTixJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsaUZBQWlGO0lBQ2pGLHlDQUF5QztJQUN6QyxzQ0FBcUIsQ0FBQTtJQUNyQixvRUFBb0U7SUFDcEUsb0NBQW1CLENBQUE7SUFDbkIsa0NBQWtDO0lBQ2xDLG9DQUFtQixDQUFBO0lBQ25CLHdDQUF3QztJQUN4QyxzQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBWFcsYUFBYSxLQUFiLGFBQWEsUUFXeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFPWDtBQVBELFdBQVksa0JBQWtCO0lBQzVCLHlDQUFtQixDQUFBO0lBQ25CLDJDQUFxQixDQUFBO0lBQ3JCLHlDQUFtQixDQUFBO0lBQ25CLDJDQUFxQixDQUFBO0lBQ3JCLDZDQUF1QixDQUFBO0lBQ3ZCLHFDQUFlLENBQUE7QUFDakIsQ0FBQyxFQVBXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFPN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLHlDQUFtQixDQUFBO0lBQ25CLDJDQUFxQixDQUFBO0lBQ3JCLDJDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FNdkI7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0NBSS9CO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtDQUtwQztBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FJL0I7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0NBSy9CO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FZMUI7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0NBTW5DO0FBRUQsTUFBTSxPQUFPLDRCQUE0QjtDQU94QztBQUVELE1BQU0sT0FBTyx1QkFBdUI7Q0FNbkM7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0NBT25DO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FTM0I7QUFFRCxNQUFNLE9BQU8sYUFBYTtDQU96QjtBQUVELE1BQU0sT0FBTyxxQkFBcUI7Q0FPakM7QUFFRCxNQUFNLE9BQU8sY0FBYztDQWlCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmVwYXJlZFBlcm1pc3Npb25zIH0gZnJvbSAnLi4vYXBpL2tleS1leGNoYW5nZS50eXBlcyc7XHJcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9jcnlwdG9ncmFwaHkudHlwZXMnO1xyXG5pbXBvcnQgeyBTZWNyZXRTaGFyZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9zbGlwMzkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eSB9IGZyb20gJy4uL3RydXN0ZWQtcGFydGllcy90cnVzdGVkLXBhcnR5LnR5cGVzJztcclxuaW1wb3J0IHsgQXBwcm92YWxHcm91cCB9IGZyb20gJy4vYXBwcm92YWxzL3NjZW5hcmlvLWFwcHJvdmFsLnR5cGVzJztcclxuaW1wb3J0IHsgQ2xhaW1hbnQgfSBmcm9tICcuL2NsYWltYW50cy9zY2VuYXJpby1jbGFpbWFudC50eXBlcyc7XHJcbmltcG9ydCB7IFJlY2VpdmVyIH0gZnJvbSAnLi9yZWNlaXZlcnMvc2NlbmFyaW8tcmVjZWl2ZXIudHlwZXMnO1xyXG5cclxuLy8gR2xvc3NhcnlcclxuLy8gLSBTdWJqZWN0OiB0aGUgdXNlciB0aGF0IHRoZSBzY2VuYXJpbyBhcHBsaWVzIHRvXHJcbi8vIC0gQXBwcm92ZXI6IHRoZSB1c2VyIHRoYXQgY2FuIGFwcHJvdmUgYSBzY2VuYXJpb1xyXG4vLyAtIEFwcHJvdmVyIHN1Yi1hc3NlbWJseTogYSBncm91cCBvZiBhcHByb3ZlcnMgdGhhdCBtdXN0IHJlYWNoIHF1b3J1bSBmb3IgdGhlIHN1Yi1hc3NlbWJseSB0byBiZSBjb25zaWRlcmVkIGFwcHJvdmVkXHJcbi8vIC0gQXBwcm92ZXIgYXNzZW1ibHk6IGEgZ3JvdXAgb2Ygc3ViLWFzc2VtYmxpZXMgdGhhdCBtdXN0IHJlYWNoIHF1b3J1bSBmb3IgdGhlIGFzc2VtYmx5IHRvIGJlIGNvbnNpZGVyZWQgYXBwcm92ZWRcclxuLy8gLSBSZWNlaXZlcjogYSB1c2VyIHRoYXQgd2lsbCByZWNlaXZlIHRoZSByZWxlYXNlZCBpbmZvcm1hdGlvblxyXG4vLyAtIENsYWltYW50OiBhIHVzZXIgdGhhdCBjYW4gc3RhcnQgdGhlIHByb2Nlc3Mgb2YgcmVsZWFzZSBvZiBpbmZvcm1hdGlvblxyXG5cclxuZXhwb3J0IGVudW0gU2NlbmFyaW9TdGF0ZSB7XHJcbiAgLy8gQ2FuIG5vdCBiZSBjbGFpbWVkIHdoZW4gRElTQUJMRUQuIFNjZW5hcmlvcyBjYW4gYmUgY3JlYXRlZCBpbiB0aGlzIHN0YXRlLCB0aGVuXHJcbiAgLy8gc2V0IHRvIEVOQUJMRUQgb25jZSBzZXR1cCBpcyBjb21wbGV0ZS5cclxuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXHJcbiAgLy8gQ2FuIGJlIGNsYWltZWQgd2hlbiBFTkFCTEVELiBJdCBzaXRzIGluIHRoaXMgc3RhdGUgdW50aWwgY2xhaW1lZC5cclxuICBFTkFCTEVEID0gJ0VOQUJMRUQnLFxyXG4gIC8vIENsYWltYW50IGhhcyBpbml0aWF0ZWQgYSBjbGFpbS5cclxuICBDTEFJTUVEID0gJ0NMQUlNRUQnLFxyXG4gIC8vIEFwcHJvdmVycyBoYXZlIGFwcHJvdmVkIHRoaXMgc2NlbmFyaW9cclxuICBBUFBST1ZFRCA9ICdBUFBST1ZFRCcsXHJcbiAgUkVKRUNURUQgPSAnUkVKRUNURUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTY2VuYXJpb0NsYWltU3RhdGUge1xyXG4gIENsYWltZWQgPSAnQ0xBSU1FRCcsXHJcbiAgQXBwcm92ZWQgPSAnQVBQUk9WRUQnLFxyXG4gIEV4cGlyZWQgPSAnRVhQSVJFRCcsXHJcbiAgUmVqZWN0ZWQgPSAnUkVKRUNURUQnLFxyXG4gIENhbmNlbGxlZCA9ICdDQU5DRUxMRUQnLFxyXG4gIFJlc2V0ID0gJ1JFU0VUJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQXBwcm92ZXJDbGFpbVN0YXRlIHtcclxuICBDbGFpbWVkID0gJ0NMQUlNRUQnLFxyXG4gIEFwcHJvdmVkID0gJ0FQUFJPVkVEJyxcclxuICBSZWplY3RlZCA9ICdSRUpFQ1RFRCcsXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOZXdTY2VuYXJpbyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGV2ZW50OiBzdHJpbmc7XHJcbiAgY2xhaW1hbnRzOiBOZXdTY2VuYXJpb0NsYWltYW50W107XHJcbiAgYXBwcm92YWxHcm91cHM6IE5ld1NjZW5hcmlvQXBwcm92YWxHcm91cFtdO1xyXG4gIHJlY2VpdmVyczogTmV3U2NlbmFyaW9SZWNlaXZlcltdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTmV3U2NlbmFyaW9DbGFpbWFudCB7XHJcbiAgdHJ1c3RlZFBhcnR5SWQ6IHN0cmluZztcclxuICB0cnVzdGVkUGFydHlTaGFyZWRLZXlJZDogc3RyaW5nO1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOZXdTY2VuYXJpb0FwcHJvdmFsR3JvdXAge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBxdW9ydW06IG51bWJlcjtcclxuICBzaW5nbGVSZWplY3Q6IGJvb2xlYW47XHJcbiAgYXBwcm92ZXJzOiBOZXdTY2VuYXJpb0FwcHJvdmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOZXdTY2VuYXJpb0FwcHJvdmVyIHtcclxuICB0cnVzdGVkUGFydHlJZDogc3RyaW5nO1xyXG4gIHRydXN0ZWRQYXJ0eVNoYXJlZEtleUlkOiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5ld1NjZW5hcmlvUmVjZWl2ZXIge1xyXG4gIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmc7XHJcbiAgdHJ1c3RlZFBhcnR5U2hhcmVkS2V5SWQ6IHN0cmluZztcclxuICBwZXJtaXNzaW9uczogUHJlcGFyZWRQZXJtaXNzaW9ucztcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXBkYXRlU2NlbmFyaW8ge1xyXG4gIHNjZW5hcmlvSWQ6IHN0cmluZztcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIGFzc2VtYmx5S2V5SWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZXZlbnQ6IHN0cmluZztcclxuICBjbGFpbWFudHM6IFVwZGF0ZWRTY2VuYXJpb0NsYWltYW50W107XHJcbiAgZGVsZXRlZENsYWltYW50SWRzOiBzdHJpbmdbXTtcclxuICBhcHByb3ZhbEdyb3VwczogVXBkYXRlZFNjZW5hcmlvQXBwcm92YWxHcm91cFtdO1xyXG4gIGRlbGV0ZWRHcm91cElkczogc3RyaW5nW107XHJcbiAgcmVjZWl2ZXJzOiBVcGRhdGVkU2NlbmFyaW9SZWNlaXZlcltdO1xyXG4gIGRlbGV0ZWRSZWNlaXZlcklkczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVkU2NlbmFyaW9DbGFpbWFudCB7XHJcbiAgY2xhaW1hbnRJZD86IHN0cmluZztcclxuICBrZXlJZD86IHN0cmluZztcclxuICB0cnVzdGVkUGFydHlJZDogc3RyaW5nO1xyXG4gIHRydXN0ZWRQYXJ0eVNoYXJlZEtleUlkOiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVwZGF0ZWRTY2VuYXJpb0FwcHJvdmFsR3JvdXAge1xyXG4gIHN1YkFzc2VtYmx5SWQ/OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHF1b3J1bTogbnVtYmVyO1xyXG4gIHNpbmdsZVJlamVjdDogYm9vbGVhbjtcclxuICBhcHByb3ZlcnM6IFVwZGF0ZWRTY2VuYXJpb0FwcHJvdmVyW107XHJcbiAgZGVsZXRlZEFwcHJvdmVySWRzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVwZGF0ZWRTY2VuYXJpb0FwcHJvdmVyIHtcclxuICBhcHByb3ZlcklkPzogc3RyaW5nO1xyXG4gIGtleUlkPzogc3RyaW5nO1xyXG4gIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmc7XHJcbiAgdHJ1c3RlZFBhcnR5U2hhcmVkS2V5SWQ6IHN0cmluZztcclxuICBtZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXBkYXRlZFNjZW5hcmlvUmVjZWl2ZXIge1xyXG4gIHJlY2VpdmVySWQ/OiBzdHJpbmc7XHJcbiAga2V5SWQ/OiBzdHJpbmc7XHJcbiAgdHJ1c3RlZFBhcnR5SWQ6IHN0cmluZztcclxuICB0cnVzdGVkUGFydHlTaGFyZWRLZXlJZDogc3RyaW5nO1xyXG4gIHBlcm1pc3Npb25zOiBQcmVwYXJlZFBlcm1pc3Npb25zO1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTY2VuYXJpb1N1bW1hcnkge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBTY2VuYXJpb1N0YXRlO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBldmVudDogc3RyaW5nO1xyXG4gIGNsYWltSWQ/OiBzdHJpbmc7XHJcbiAgY2xhaW1TdGF0dXM/OiBTY2VuYXJpb0NsYWltU3RhdGU7XHJcbiAgY3JlYXRlZE9uOiBzdHJpbmcgfCBEYXRlO1xyXG4gIGxhc3RNb2RpZmllZDogc3RyaW5nIHwgRGF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNjZW5hcmlvQ2xhaW0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgc3RhdGU6IFNjZW5hcmlvQ2xhaW1TdGF0ZTtcclxuICB0cmlnZ2VyZWRCeTogVHJ1c3RlZFBhcnR5O1xyXG4gIHRyaWdnZXJlZE9uOiBzdHJpbmc7XHJcbiAgbGFzdE1vZGlmaWVkOiBzdHJpbmc7XHJcbiAgc2NlbmFyaW86IFNjZW5hcmlvU3VtbWFyeTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNoYXJlZFNjZW5hcmlvU3VtbWFyeSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBzdGF0dXM6IFNjZW5hcmlvU3RhdGU7XHJcbiAgZXZlbnQ6IHN0cmluZztcclxuXHJcbiAgdHJ1c3RlZFBhcnR5OiBUcnVzdGVkUGFydHk7XHJcbiAgY2xhaW1TdGF0dXM/OiBTY2VuYXJpb0NsYWltU3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRTY2VuYXJpbyB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBzdGF0dXM6IFNjZW5hcmlvU3RhdGU7XHJcbiAgZXZlbnQ6IHN0cmluZztcclxuXHJcbiAgdHJ1c3RlZFBhcnR5OiBUcnVzdGVkUGFydHk7XHJcbiAgaXNDbGFpbWFudDogYm9vbGVhbjtcclxuICBjbGFpbWFudE1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgaXNBcHByb3ZlcjogYm9vbGVhbjtcclxuICBhcHByb3Zlck1lc3NhZ2VzPzogc3RyaW5nW107XHJcbiAgaXNSZWNlaXZlcjogYm9vbGVhbjtcclxuICByZWNlaXZlck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcmVjZWl2ZXJLZXlJZD86IHN0cmluZztcclxuICByZWNlaXZlclBia0lkPzogc3RyaW5nO1xyXG4gIHJlY2VpdmVyRGlyZWN0b3JpZXM/OiB7IGlkOiBzdHJpbmc7IHdyYXBwZWRJdGVtS2V5OiBzdHJpbmcgfVtdO1xyXG5cclxuICBjbGFpbT86IFNoYXJlZFNjZW5hcmlvQ2xhaW07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkU2NlbmFyaW9DbGFpbSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBpc0NsYWltYW50OiBib29sZWFuO1xyXG4gIHN0YXR1czogU2NlbmFyaW9DbGFpbVN0YXRlO1xyXG4gIGFzQXBwcm92ZXJzPzogU2hhcmVkU2NlbmFyaW9DbGFpbUFwcHJvdmVyW107XHJcbiAgYXNSZWNlaXZlcj86IHtcclxuICAgIHJlY2VpdmVkOiBib29sZWFuO1xyXG4gICAgY2lwaGVyczogc3RyaW5nW107XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRTY2VuYXJpb0NsYWltQXBwcm92ZXIge1xyXG4gIGFwcHJvdmVySWQ6IHN0cmluZztcclxuICBhcHByb3ZlcktleTogc3RyaW5nO1xyXG4gIHN0YXR1czogQXBwcm92ZXJDbGFpbVN0YXRlO1xyXG4gIHJlY2VpdmVyczoge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHBia0lkOiBzdHJpbmc7XHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjZW5hcmlvIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIGtleUlkOiBzdHJpbmc7XHJcbiAgYXNzZW1ibHlLZXlJZDogc3RyaW5nO1xyXG4gIGFzc2VtYmx5UXVvcnVtOiBudW1iZXI7XHJcbiAgc3RhdHVzOiBTY2VuYXJpb1N0YXRlO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBldmVudDogc3RyaW5nO1xyXG4gIGNsYWltYW50czogQ2xhaW1hbnRbXTtcclxuICBhcHByb3Zlckdyb3VwczogQXBwcm92YWxHcm91cFtdO1xyXG4gIHJlY2VpdmVyczogUmVjZWl2ZXJbXTtcclxuICBjbGFpbToge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHN0YXR1czogU2NlbmFyaW9DbGFpbVN0YXRlO1xyXG4gICAgY2xhaW1hbnQ6IENsYWltYW50O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2NlbmFyaW9JbnB1dCB7XHJcbiAgcGxhaW5TdWJqZWN0Q2lwaGVyRGF0YTogb2JqZWN0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNjZW5hcmlvSW5wdXQge1xyXG4gIHNjZW5hcmlvSWQ6IHN0cmluZztcclxuICBrZXlJZDogc3RyaW5nO1xyXG4gIHBsYWluU3ViamVjdENpcGhlckRhdGE6IG9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsQXNzZW1ibHlLZXkge1xyXG4gIHNsaXAzOToge1xyXG4gICAgc2hhcmU6IFNlY3JldFNoYXJlO1xyXG4gICAgLy8gTWFpbmx5IGZvciBkZWJ1Z2dpbmcuXHJcbiAgICBzdWJBc3NlbWJseToge1xyXG4gICAgICBxdW9ydW06IG51bWJlcjtcclxuICAgICAgc2l6ZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICB9O1xyXG4gIGFzc2VtYmx5S2V5UGFyYW1zOiBvYmplY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkQ2xhaW1SZWNlaXZlciB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYms6IEtleTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRDbGFpbUFwcHJvdmVyIHtcclxuICByZWNlaXZlcnM6IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwYms6IEtleTtcclxuICB9W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkQ2xhaW1BcHByb3ZhbCB7XHJcbiAgcmVjZWl2ZXJQYmtDaXBoZXI6IHN0cmluZztcclxuICBwbGFpblJlY2VpdmVyUGJrQ2lwaGVyOiB7XHJcbiAgICBwYXJ0aWFsQXNzZW1ibHlLZXk6IFBhcnRpYWxBc3NlbWJseUtleTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZENsYWltUmVjZWl2ZXIge1xyXG4gIHJlY2VpdmVkOiBib29sZWFuO1xyXG4gIGFwcHJvdmFsczogU2hhcmVkQ2xhaW1BcHByb3ZhbFtdO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import gql from 'graphql-tag';
2
+ import { KeyGraphFragment } from '../_common/queries.gql';
3
+ const MAX_CATEGORY_DEPTH = 4;
4
+ const DEFAULT_CATEGORY_DEPTH = 4;
5
+ export const SearchRecordContentsQuery = gql `
6
+ query GetRecordContents(
7
+ $id: LrRelayIdInput!
8
+ $depth: Int
9
+ $first: Int
10
+ $after: String
11
+ $recordContentFilter: LrJSONFilter!
12
+ ) {
13
+ category: directory(id: $id) {
14
+ descendantDirectories(depth: $depth) {
15
+ recordContents: files(
16
+ first: $first
17
+ after: $after
18
+ plainMeta: $recordContentFilter
19
+ orderBy: "-created"
20
+ ) {
21
+ edges {
22
+ node {
23
+ currentVersion {
24
+ state {
25
+ keyId
26
+ plainMeta
27
+ cipherMeta
28
+ contentResource
29
+ }
30
+ }
31
+ nParentDirectoryLinks(n: 1) {
32
+ list {
33
+ parentDirectory {
34
+ id
35
+ keyId
36
+ created
37
+ modified
38
+ archived
39
+ plainMeta
40
+ cipherMeta
41
+ nParentDirectoryLinks(n: 3) {
42
+ list {
43
+ parentDirectory {
44
+ id
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ keyGraph {
57
+ ...KeyGraphFragment
58
+ }
59
+ }
60
+ ${KeyGraphFragment}
61
+ `;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZWFyY2gvc2VhcmNoLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFDN0IsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBdUR4QyxnQkFBZ0I7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaEZyYWdtZW50IH0gZnJvbSAnLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XHJcbmNvbnN0IE1BWF9DQVRFR09SWV9ERVBUSCA9IDQ7XHJcbmNvbnN0IERFRkFVTFRfQ0FURUdPUllfREVQVEggPSA0O1xyXG5cclxuZXhwb3J0IGNvbnN0IFNlYXJjaFJlY29yZENvbnRlbnRzUXVlcnkgPSBncWxgXHJcbiAgcXVlcnkgR2V0UmVjb3JkQ29udGVudHMoXHJcbiAgICAkaWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICAgJGRlcHRoOiBJbnRcclxuICAgICRmaXJzdDogSW50XHJcbiAgICAkYWZ0ZXI6IFN0cmluZ1xyXG4gICAgJHJlY29yZENvbnRlbnRGaWx0ZXI6IExySlNPTkZpbHRlciFcclxuICApIHtcclxuICAgIGNhdGVnb3J5OiBkaXJlY3RvcnkoaWQ6ICRpZCkge1xyXG4gICAgICBkZXNjZW5kYW50RGlyZWN0b3JpZXMoZGVwdGg6ICRkZXB0aCkge1xyXG4gICAgICAgIHJlY29yZENvbnRlbnRzOiBmaWxlcyhcclxuICAgICAgICAgIGZpcnN0OiAkZmlyc3RcclxuICAgICAgICAgIGFmdGVyOiAkYWZ0ZXJcclxuICAgICAgICAgIHBsYWluTWV0YTogJHJlY29yZENvbnRlbnRGaWx0ZXJcclxuICAgICAgICAgIG9yZGVyQnk6IFwiLWNyZWF0ZWRcIlxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgICBjdXJyZW50VmVyc2lvbiB7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgICAgICAgIHBsYWluTWV0YVxyXG4gICAgICAgICAgICAgICAgICBjaXBoZXJNZXRhXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRSZXNvdXJjZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBuUGFyZW50RGlyZWN0b3J5TGlua3MobjogMSkge1xyXG4gICAgICAgICAgICAgICAgbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgIHBhcmVudERpcmVjdG9yeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBrZXlJZFxyXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRcclxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZFxyXG4gICAgICAgICAgICAgICAgICAgIGFyY2hpdmVkXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgICAgICAgICAgY2lwaGVyTWV0YVxyXG4gICAgICAgICAgICAgICAgICAgIG5QYXJlbnREaXJlY3RvcnlMaW5rcyhuOiAzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsaXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBrZXlHcmFwaCB7XHJcbiAgICAgIC4uLktleUdyYXBoRnJhZ21lbnRcclxuICAgIH1cclxuICB9XHJcbiAgJHtLZXlHcmFwaEZyYWdtZW50fVxyXG5gO1xyXG4iXX0=
@@ -0,0 +1,156 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable, NgZone } from '@angular/core';
3
+ import { LrApolloService } from '../api/lr-apollo.service';
4
+ import { CategoryService } from '../category/category.service';
5
+ import { KeyGraphService } from '../cryptography/key-graph.service';
6
+ import { RecordFieldType } from '../record-type/record-type.types';
7
+ import { RecordContentFilter } from '../record/record.gql';
8
+ import { RunOutsideAngular } from '../_common/run-outside-angular';
9
+ import { SearchRecordContentsQuery } from './search.gql';
10
+ import { SearchItemType } from './search.types';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../api/lr-apollo.service";
13
+ import * as i2 from "../category/category.service";
14
+ import * as i3 from "../cryptography/key-graph.service";
15
+ function debugPopulateCategory(categoryService, recordService, keyFactory, categoryId, recordsPerCategory) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const tasks = [];
18
+ const category = yield categoryService.getCategory(categoryId);
19
+ // Create records
20
+ for (let i = category.records.length; i < recordsPerCategory; ++i) {
21
+ const name = `${category.category.name}+${keyFactory.randomString(16)}`;
22
+ console.log('Creating record: ', name);
23
+ yield recordService.createRecord({
24
+ categoryIds: [category.category.id],
25
+ name,
26
+ recordType: {
27
+ id: '1',
28
+ version: 1,
29
+ name: 'Vehicle Details',
30
+ },
31
+ fields: [
32
+ {
33
+ id: '1-vin',
34
+ type: RecordFieldType.Text,
35
+ label: 'VIN Number',
36
+ value: '1234567890',
37
+ },
38
+ {
39
+ id: '1-location',
40
+ type: RecordFieldType.Text,
41
+ label: 'Location',
42
+ value: '10'.repeat(1000),
43
+ },
44
+ ],
45
+ });
46
+ }
47
+ // Delete records
48
+ for (let i = category.records.length; i > recordsPerCategory; --i) {
49
+ const id = category.records[i - 1].id;
50
+ console.log('Deleting record: ', id);
51
+ yield recordService.deleteRecord(id);
52
+ }
53
+ });
54
+ }
55
+ export function debugPopulateRecords(categoryService, recordService, keyFactory, recordsPerCategory) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const pillars = yield categoryService.getCategories();
58
+ // For each category, added records
59
+ for (const pillar of pillars) {
60
+ const category = yield categoryService.getCategory(pillar.id);
61
+ for (const subCategory of category.subCategories) {
62
+ if (subCategory.allowRecords) {
63
+ yield debugPopulateCategory(categoryService, recordService, keyFactory, subCategory.id, recordsPerCategory);
64
+ }
65
+ }
66
+ }
67
+ });
68
+ }
69
+ let SearchService = class SearchService {
70
+ constructor(ngZone, lrApollo, categoryService, keyGraph) {
71
+ this.ngZone = ngZone;
72
+ this.lrApollo = lrApollo;
73
+ this.categoryService = categoryService;
74
+ this.keyGraph = keyGraph;
75
+ this.vaultItems = {};
76
+ }
77
+ mapRecordContent(recordContent) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const record = recordContent.nParentDirectoryLinks.list[0].parentDirectory;
80
+ const state = recordContent.currentVersion.state;
81
+ const plainCipherMeta = state.cipherMeta &&
82
+ (yield this.keyGraph.decryptFromString(state.keyId, state.cipherMeta));
83
+ return {
84
+ type: SearchItemType.RECORD,
85
+ id: record.id,
86
+ created: new Date(record.created),
87
+ modified: new Date(record.modified),
88
+ archived: record.archived,
89
+ plainMeta: state.plainMeta &&
90
+ JSON.parse(recordContent.currentVersion.state.plainMeta),
91
+ plainCipherMeta,
92
+ parentCategoryId: record.nParentDirectoryLinks.list[0].parentDirectory.id,
93
+ };
94
+ });
95
+ }
96
+ mapRecordContents(edges) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ return Promise.all(edges.map((edge) => this.mapRecordContent(edge.node)));
99
+ });
100
+ }
101
+ load() {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const defaultVault = yield this.categoryService.getDefaultVault();
104
+ let start;
105
+ let end;
106
+ start = Date.now();
107
+ this.recordContentsResult = yield this.lrApollo.query({
108
+ query: SearchRecordContentsQuery,
109
+ variables: {
110
+ id: defaultVault.id,
111
+ depth: 5,
112
+ first: null,
113
+ after: null,
114
+ recordContentFilter: RecordContentFilter,
115
+ },
116
+ });
117
+ end = Date.now();
118
+ console.log('Search API time (s): ', (end - start) / 1000);
119
+ start = Date.now();
120
+ // try {
121
+ const items = yield this.mapRecordContents(this.recordContentsResult.category.descendantDirectories.recordContents
122
+ .edges);
123
+ for (const item of items) {
124
+ this.vaultItems[item.id] = item;
125
+ }
126
+ end = Date.now();
127
+ console.log('Search mapCategory time (s): ', (end - start) / 1000);
128
+ });
129
+ }
130
+ refresh() {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ yield this.load();
133
+ console.log(Object.values(this.vaultItems));
134
+ return this.vaultItems;
135
+ });
136
+ }
137
+ };
138
+ SearchService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SearchService_Factory() { return new SearchService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.LrApolloService), i0.ɵɵinject(i2.CategoryService), i0.ɵɵinject(i3.KeyGraphService)); }, token: SearchService, providedIn: "root" });
139
+ SearchService.decorators = [
140
+ { type: Injectable, args: [{
141
+ providedIn: 'root',
142
+ },] }
143
+ ];
144
+ SearchService.ctorParameters = () => [
145
+ { type: NgZone },
146
+ { type: LrApolloService },
147
+ { type: CategoryService },
148
+ { type: KeyGraphService }
149
+ ];
150
+ SearchService = __decorate([
151
+ RunOutsideAngular({
152
+ ngZoneName: 'ngZone',
153
+ })
154
+ ], SearchService);
155
+ export { SearchService };
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFNUQsU0FBZSxxQkFBcUIsQ0FDbEMsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIsVUFBNkIsRUFDN0IsVUFBa0IsRUFDbEIsa0JBQTBCOztRQUUxQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFakIsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9ELGlCQUFpQjtRQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFB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QUFlO1lBQ2YsZUFBZTtZQUVmLGVBQWU7O0FBd0ZYLGFBQWE7SUFOekIsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLGFBQWEsQ0FpRnpCO1NBakZZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2xyLWFwb2xsby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY2F0ZWdvcnkvY2F0ZWdvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1mYWN0b3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LWdyYXBoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZWNvcmRGaWVsZFR5cGUgfSBmcm9tICcuLi9yZWNvcmQtdHlwZS9yZWNvcmQtdHlwZS50eXBlcyc7XHJcbmltcG9ydCB7IFJlY29yZENvbnRlbnRGaWx0ZXIgfSBmcm9tICcuLi9yZWNvcmQvcmVjb3JkLmdxbCc7XHJcbmltcG9ydCB7IFJlY29yZFNlcnZpY2UgfSBmcm9tICcuLi9yZWNvcmQvcmVjb3JkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XHJcbmltcG9ydCB7IFNlYXJjaFJlY29yZENvbnRlbnRzUXVlcnkgfSBmcm9tICcuL3NlYXJjaC5ncWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hJdGVtLCBTZWFyY2hJdGVtVHlwZSB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIGRlYnVnUG9wdWxhdGVDYXRlZ29yeShcclxuICBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcclxuICByZWNvcmRTZXJ2aWNlOiBSZWNvcmRTZXJ2aWNlLFxyXG4gIGtleUZhY3Rvcnk6IEtleUZhY3RvcnlTZXJ2aWNlLFxyXG4gIGNhdGVnb3J5SWQ6IHN0cmluZyxcclxuICByZWNvcmRzUGVyQ2F0ZWdvcnk6IG51bWJlclxyXG4pIHtcclxuICBjb25zdCB0YXNrcyA9IFtdO1xyXG5cclxuICBjb25zdCBjYXRlZ29yeSA9IGF3YWl0IGNhdGVnb3J5U2VydmljZS5nZXRDYXRlZ29yeShjYXRlZ29yeUlkKTtcclxuXHJcbiAgLy8gQ3JlYXRlIHJlY29yZHNcclxuICBmb3IgKGxldCBpID0gY2F0ZWdvcnkucmVjb3Jkcy5sZW5ndGg7IGkgPCByZWNvcmRzUGVyQ2F0ZWdvcnk7ICsraSkge1xyXG4gICAgY29uc3QgbmFtZSA9IGAke2NhdGVnb3J5LmNhdGVnb3J5Lm5hbWV9KyR7a2V5RmFjdG9yeS5yYW5kb21TdHJpbmcoMTYpfWA7XHJcbiAgICBjb25zb2xlLmxvZygnQ3JlYXRpbmcgcmVjb3JkOiAnLCBuYW1lKTtcclxuICAgIGF3YWl0IHJlY29yZFNlcnZpY2UuY3JlYXRlUmVjb3JkKHtcclxuICAgICAgY2F0ZWdvcnlJZHM6IFtjYXRlZ29yeS5jYXRlZ29yeS5pZF0sXHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHJlY29yZFR5cGU6IHtcclxuICAgICAgICBpZDogJzEnLFxyXG4gICAgICAgIHZlcnNpb246IDEsXHJcbiAgICAgICAgbmFtZTogJ1ZlaGljbGUgRGV0YWlscycsXHJcbiAgICAgIH0sXHJcbiAgICAgIGZpZWxkczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlkOiAnMS12aW4nLFxyXG4gICAgICAgICAgdHlwZTogUmVjb3JkRmllbGRUeXBlLlRleHQsXHJcbiAgICAgICAgICBsYWJlbDogJ1ZJTiBOdW1iZXInLFxyXG4gICAgICAgICAgdmFsdWU6ICcxMjM0NTY3ODkwJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlkOiAnMS1sb2NhdGlvbicsXHJcbiAgICAgICAgICB0eXBlOiBSZWNvcmRGaWVsZFR5cGUuVGV4dCxcclxuICAgICAgICAgIGxhYmVsOiAnTG9jYXRpb24nLFxyXG4gICAgICAgICAgdmFsdWU6ICcxMCcucmVwZWF0KDEwMDApLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIC8vIGF0dGFjaG1lbnRzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIERlbGV0ZSByZWNvcmRzXHJcbiAgZm9yIChsZXQgaSA9IGNhdGVnb3J5LnJlY29yZHMubGVuZ3RoOyBpID4gcmVjb3Jkc1BlckNhdGVnb3J5OyAtLWkpIHtcclxuICAgIGNvbnN0IGlkID0gY2F0ZWdvcnkucmVjb3Jkc1tpIC0gMV0uaWQ7XHJcbiAgICBjb25zb2xlLmxvZygnRGVsZXRpbmcgcmVjb3JkOiAnLCBpZCk7XHJcbiAgICBhd2FpdCByZWNvcmRTZXJ2aWNlLmRlbGV0ZVJlY29yZChpZCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVidWdQb3B1bGF0ZVJlY29yZHMoXHJcbiAgY2F0ZWdvcnlTZXJ2aWNlOiBDYXRlZ29yeVNlcnZpY2UsXHJcbiAgcmVjb3JkU2VydmljZTogUmVjb3JkU2VydmljZSxcclxuICBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcclxuICByZWNvcmRzUGVyQ2F0ZWdvcnk6IG51bWJlclxyXG4pIHtcclxuICBjb25zdCBwaWxsYXJzID0gYXdhaXQgY2F0ZWdvcnlTZXJ2aWNlLmdldENhdGVnb3JpZXMoKTtcclxuXHJcbiAgLy8gRm9yIGVhY2ggY2F0ZWdvcnksIGFkZGVkIHJlY29yZHNcclxuICBmb3IgKGNvbnN0IHBpbGxhciBvZiBwaWxsYXJzKSB7XHJcbiAgICBjb25zdCBjYXRlZ29yeSA9IGF3YWl0IGNhdGVnb3J5U2VydmljZS5nZXRDYXRlZ29yeShwaWxsYXIuaWQpO1xyXG4gICAgZm9yIChjb25zdCBzdWJDYXRlZ29yeSBvZiBjYXRlZ29yeS5zdWJDYXRlZ29yaWVzKSB7XHJcbiAgICAgIGlmIChzdWJDYXRlZ29yeS5hbGxvd1JlY29yZHMpIHtcclxuICAgICAgICBhd2FpdCBkZWJ1Z1BvcHVsYXRlQ2F0ZWdvcnkoXHJcbiAgICAgICAgICBjYXRlZ29yeVNlcnZpY2UsXHJcbiAgICAgICAgICByZWNvcmRTZXJ2aWNlLFxyXG4gICAgICAgICAga2V5RmFjdG9yeSxcclxuICAgICAgICAgIHN1YkNhdGVnb3J5LmlkLFxyXG4gICAgICAgICAgcmVjb3Jkc1BlckNhdGVnb3J5XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcclxuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcclxufSlcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2Uge1xyXG4gIHZhdWx0SXRlbXM6IHsgW2l0ZW1JZDogc3RyaW5nXTogU2VhcmNoSXRlbSB9ID0ge307XHJcbiAgcmVjb3JkQ29udGVudHNSZXN1bHQ6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcclxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBtYXBSZWNvcmRDb250ZW50KHJlY29yZENvbnRlbnQ6IGFueSk6IFByb21pc2U8U2VhcmNoSXRlbT4ge1xyXG4gICAgY29uc3QgcmVjb3JkID0gcmVjb3JkQ29udGVudC5uUGFyZW50RGlyZWN0b3J5TGlua3MubGlzdFswXS5wYXJlbnREaXJlY3Rvcnk7XHJcbiAgICBjb25zdCBzdGF0ZSA9IHJlY29yZENvbnRlbnQuY3VycmVudFZlcnNpb24uc3RhdGU7XHJcblxyXG4gICAgY29uc3QgcGxhaW5DaXBoZXJNZXRhID1cclxuICAgICAgc3RhdGUuY2lwaGVyTWV0YSAmJlxyXG4gICAgICAoYXdhaXQgdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZzxhbnk+KFxyXG4gICAgICAgIHN0YXRlLmtleUlkLFxyXG4gICAgICAgIHN0YXRlLmNpcGhlck1ldGFcclxuICAgICAgKSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogU2VhcmNoSXRlbVR5cGUuUkVDT1JELFxyXG4gICAgICBpZDogcmVjb3JkLmlkLFxyXG4gICAgICBjcmVhdGVkOiBuZXcgRGF0ZShyZWNvcmQuY3JlYXRlZCksXHJcbiAgICAgIG1vZGlmaWVkOiBuZXcgRGF0ZShyZWNvcmQubW9kaWZpZWQpLFxyXG4gICAgICBhcmNoaXZlZDogcmVjb3JkLmFyY2hpdmVkLFxyXG4gICAgICBwbGFpbk1ldGE6XHJcbiAgICAgICAgc3RhdGUucGxhaW5NZXRhICYmXHJcbiAgICAgICAgSlNPTi5wYXJzZShyZWNvcmRDb250ZW50LmN1cnJlbnRWZXJzaW9uLnN0YXRlLnBsYWluTWV0YSksXHJcbiAgICAgIHBsYWluQ2lwaGVyTWV0YSxcclxuICAgICAgcGFyZW50Q2F0ZWdvcnlJZDogcmVjb3JkLm5QYXJlbnREaXJlY3RvcnlMaW5rcy5saXN0WzBdLnBhcmVudERpcmVjdG9yeS5pZCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIG1hcFJlY29yZENvbnRlbnRzKGVkZ2VzOiBhbnlbXSk6IFByb21pc2U8U2VhcmNoSXRlbVtdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoZWRnZXMubWFwKChlZGdlKSA9PiB0aGlzLm1hcFJlY29yZENvbnRlbnQoZWRnZS5ub2RlKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBsb2FkKCkge1xyXG4gICAgY29uc3QgZGVmYXVsdFZhdWx0ID0gYXdhaXQgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0RGVmYXVsdFZhdWx0KCk7XHJcbiAgICBsZXQgc3RhcnQ7XHJcbiAgICBsZXQgZW5kO1xyXG5cclxuICAgIHN0YXJ0ID0gRGF0ZS5ub3coKTtcclxuXHJcbiAgICB0aGlzLnJlY29yZENvbnRlbnRzUmVzdWx0ID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcclxuICAgICAgcXVlcnk6IFNlYXJjaFJlY29yZENvbnRlbnRzUXVlcnksXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlkOiBkZWZhdWx0VmF1bHQuaWQsXHJcbiAgICAgICAgZGVwdGg6IDUsXHJcbiAgICAgICAgZmlyc3Q6IG51bGwsXHJcbiAgICAgICAgYWZ0ZXI6IG51bGwsXHJcbiAgICAgICAgcmVjb3JkQ29udGVudEZpbHRlcjogUmVjb3JkQ29udGVudEZpbHRlcixcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGVuZCA9IERhdGUubm93KCk7XHJcbiAgICBjb25zb2xlLmxvZygnU2VhcmNoIEFQSSB0aW1lIChzKTogJywgKGVuZCAtIHN0YXJ0KSAvIDEwMDApO1xyXG5cclxuICAgIHN0YXJ0ID0gRGF0ZS5ub3coKTtcclxuICAgIC8vIHRyeSB7XHJcbiAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMubWFwUmVjb3JkQ29udGVudHMoXHJcbiAgICAgIHRoaXMucmVjb3JkQ29udGVudHNSZXN1bHQuY2F0ZWdvcnkuZGVzY2VuZGFudERpcmVjdG9yaWVzLnJlY29yZENvbnRlbnRzXHJcbiAgICAgICAgLmVkZ2VzXHJcbiAgICApO1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgIHRoaXMudmF1bHRJdGVtc1tpdGVtLmlkXSA9IGl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgZW5kID0gRGF0ZS5ub3coKTtcclxuICAgIGNvbnNvbGUubG9nKCdTZWFyY2ggbWFwQ2F0ZWdvcnkgdGltZSAocyk6ICcsIChlbmQgLSBzdGFydCkgLyAxMDAwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZWZyZXNoKCkge1xyXG4gICAgYXdhaXQgdGhpcy5sb2FkKCk7XHJcblxyXG4gICAgY29uc29sZS5sb2coT2JqZWN0LnZhbHVlcyh0aGlzLnZhdWx0SXRlbXMpKTtcclxuICAgIHJldHVybiB0aGlzLnZhdWx0SXRlbXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var SearchItemType;
2
+ (function (SearchItemType) {
3
+ SearchItemType["RECORD"] = "RECORD";
4
+ SearchItemType["CATEGORY"] = "CATEGORY";
5
+ })(SearchItemType || (SearchItemType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlYXJjaC9zZWFyY2gudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRnVzZSBmcm9tICdmdXNlLmpzJztcclxuXHJcbmV4cG9ydCBlbnVtIFNlYXJjaEl0ZW1UeXBlIHtcclxuICBSRUNPUkQgPSAnUkVDT1JEJyxcclxuICBDQVRFR09SWSA9ICdDQVRFR09SWScsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVjb3JkQXR0YWNobWVudCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaEl0ZW0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdHlwZTogU2VhcmNoSXRlbVR5cGU7XHJcbiAgY3JlYXRlZDogRGF0ZTtcclxuICBtb2RpZmllZDogRGF0ZTtcclxuICBhcmNoaXZlZDogYm9vbGVhbjtcclxuICBwbGFpbk1ldGE6IGFueTtcclxuICBwbGFpbkNpcGhlck1ldGE6IGFueTtcclxuICBwYXJlbnRDYXRlZ29yeUlkPzogc3RyaW5nO1xyXG4gIGF0dGFjaG1lbnRzPzogU2VhcmNoUmVjb3JkQXR0YWNobWVudFtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHRzID0gRnVzZS5GdXNlUmVzdWx0PFNlYXJjaEl0ZW0+W107XHJcbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable, Injector, NgZone } from '@angular/core';
3
+ import { JWK } from 'node-jose';
4
+ import { LrMergedMutation, LrMutation, LrService, } from '../api/lr-graphql';
5
+ import { TpAssemblyState, TpClaimApproverState } from '../api/types';
6
+ import { EncryptionService } from '../cryptography/encryption.service';
7
+ import { LrBadStateException } from '../_common/exceptions';
8
+ import { RunOutsideAngular } from '../_common/run-outside-angular';
9
+ import { ApproveTpPasswordResetRequestMutation, RejectTpPasswordResetRequestMutation, SharedTpPasswordResetQuery, SharedTpPasswordResetsQuery, } from './tp-password-reset.gql';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../cryptography/encryption.service";
12
+ let TpPasswordResetRequestService = class TpPasswordResetRequestService extends LrService {
13
+ constructor(ngZone, injector, encryptionService) {
14
+ super(injector);
15
+ this.ngZone = ngZone;
16
+ this.injector = injector;
17
+ this.encryptionService = encryptionService;
18
+ }
19
+ getSharedResets() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ return (yield this.query({
22
+ query: SharedTpPasswordResetsQuery,
23
+ })).sharedTpPasswordResets;
24
+ });
25
+ }
26
+ getSharedReset(id) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ return (yield this.query({
29
+ query: SharedTpPasswordResetQuery,
30
+ variables: {
31
+ id,
32
+ },
33
+ })).sharedTpPasswordReset;
34
+ });
35
+ }
36
+ activeRequestOrRaise(sharedReset) {
37
+ const state = sharedReset.sharedRequest.claim.state;
38
+ if (state !== TpAssemblyState.CLAIMED) {
39
+ throw new LrBadStateException(`Claim is already in ${state} state.`);
40
+ }
41
+ }
42
+ rejectRequest(sharedResetId) {
43
+ return this.mutate(this.rejectRequestMutation(sharedResetId));
44
+ }
45
+ rejectRequestMutation(sharedResetId) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const sharedReset = yield this.getSharedReset(sharedResetId);
48
+ this.activeRequestOrRaise(sharedReset);
49
+ return LrMergedMutation.create(sharedReset.sharedRequest.claim.asClaimApprovers.edges
50
+ .filter((edge) => edge.node.state === TpClaimApproverState.CLAIMED)
51
+ .map((edge) => new LrMutation({
52
+ mutation: RejectTpPasswordResetRequestMutation,
53
+ variables: { input: { claimApproverId: edge.node.id } },
54
+ })));
55
+ });
56
+ }
57
+ // ?? TODO The return from this should not be any.
58
+ approveRequest(sharedResetId, pbkFingerPrint) {
59
+ return this.mutate(this.approveRequestMutation(sharedResetId, pbkFingerPrint));
60
+ }
61
+ approveRequestMutation(sharedResetId, pbkFingerPrint) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const sharedReset = yield this.getSharedReset(sharedResetId);
64
+ this.activeRequestOrRaise(sharedReset);
65
+ const pbk = yield JWK.asKey(JSON.parse(sharedReset.sharedRequest.pxk.pbk));
66
+ console.log(pbk.toJSON());
67
+ // TODO <AZ> Verify pbk against pbkFingerPrint
68
+ const claimApprovers = sharedReset.sharedRequest.claim.asClaimApprovers.edges.filter((edge) => edge.node.state === TpClaimApproverState.CLAIMED);
69
+ // A single approver may belong to multiple sub-assemblies. We approve them all here in a single
70
+ // transaction.
71
+ return LrMergedMutation.create(yield Promise.all(claimApprovers.map((approverEdge) => __awaiter(this, void 0, void 0, function* () {
72
+ const ca = approverEdge.node;
73
+ const input = {
74
+ claimApproverId: ca.id,
75
+ receiverApprovals: yield Promise.all(ca.receiverApprovals.edges.map((receiverEdge) => __awaiter(this, void 0, void 0, function* () {
76
+ const ra = receiverEdge.node;
77
+ return {
78
+ receiverApprovalId: ra.id,
79
+ receiverCipher: '',
80
+ receiverCipherPartialAssemblyKey: yield this.encryptionService.encryptToString(pbk, ca.sharedCipherPartialAssemblyKeyClearJson),
81
+ };
82
+ }))),
83
+ };
84
+ console.log(input);
85
+ return new LrMutation({
86
+ mutation: ApproveTpPasswordResetRequestMutation,
87
+ variables: {
88
+ input,
89
+ },
90
+ });
91
+ }))));
92
+ });
93
+ }
94
+ };
95
+ TpPasswordResetRequestService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TpPasswordResetRequestService_Factory() { return new TpPasswordResetRequestService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.EncryptionService)); }, token: TpPasswordResetRequestService, providedIn: "root" });
96
+ TpPasswordResetRequestService.decorators = [
97
+ { type: Injectable, args: [{
98
+ providedIn: 'root',
99
+ },] }
100
+ ];
101
+ TpPasswordResetRequestService.ctorParameters = () => [
102
+ { type: NgZone },
103
+ { type: Injector },
104
+ { type: EncryptionService }
105
+ ];
106
+ TpPasswordResetRequestService = __decorate([
107
+ RunOutsideAngular({
108
+ ngZoneName: 'ngZone',
109
+ })
110
+ ], TpPasswordResetRequestService);
111
+ export { TpPasswordResetRequestService };
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3RydXN0ZWQtcGFydGllcy90cC1wYXNzd29yZC1yZXNldC1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUVWLFNBQVMsR0FDVixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxvQ0FBb0MsRUFDcEMsMEJBQTBCLEVBQzFCLDJCQUEyQixHQUM1QixNQUFNLHlCQUF5QixDQUFDOzs7SUFRcEIsNkJBQTZCLFNBQTdCLDZCQUE4QixTQUFRLFNBQVM7SUFDMUQsWUFDVSxNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsaUJBQW9DO1FBRTVDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpSLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFHOUMsQ0FBQztJQUVLLGVBQWU7O1lBQ25CLE9BQU8sQ0FDTCxNQUFNLElBQUksQ0FB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cm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcclxuaW1wb3J0IHtcclxuICBMckdyYXBoUUxTZXJ2aWNlLFxyXG4gIExyTWVyZ2VkTXV0YXRpb24sXHJcbiAgTHJNdXRhdGlvbixcclxuICBMck11dGF0aW9uQmFzZSxcclxuICBMclNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vYXBpL2xyLWdyYXBocWwnO1xyXG5pbXBvcnQgeyBUcEFzc2VtYmx5U3RhdGUsIFRwQ2xhaW1BcHByb3ZlclN0YXRlIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTHJCYWRTdGF0ZUV4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XHJcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHtcclxuICBBcHByb3ZlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uLFxyXG4gIFJlamVjdFRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbixcclxuICBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeSxcclxuICBTaGFyZWRUcFBhc3N3b3JkUmVzZXRzUXVlcnksXHJcbn0gZnJvbSAnLi90cC1wYXNzd29yZC1yZXNldC5ncWwnO1xyXG5cclxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcclxuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcclxufSlcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRwUGFzc3dvcmRSZXNldFJlcXVlc3RTZXJ2aWNlIGV4dGVuZHMgTHJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRTaGFyZWRSZXNldHMoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBhd2FpdCB0aGlzLnF1ZXJ5KHtcclxuICAgICAgICBxdWVyeTogU2hhcmVkVHBQYXNzd29yZFJlc2V0c1F1ZXJ5LFxyXG4gICAgICB9KVxyXG4gICAgKS5zaGFyZWRUcFBhc3N3b3JkUmVzZXRzO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0U2hhcmVkUmVzZXQoaWQpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGF3YWl0IHRoaXMucXVlcnkoe1xyXG4gICAgICAgIHF1ZXJ5OiBTaGFyZWRUcFBhc3N3b3JkUmVzZXRRdWVyeSxcclxuICAgICAgICB2YXJpYWJsZXM6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICApLnNoYXJlZFRwUGFzc3dvcmRSZXNldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlUmVxdWVzdE9yUmFpc2Uoc2hhcmVkUmVzZXQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0YXRlID0gc2hhcmVkUmVzZXQuc2hhcmVkUmVxdWVzdC5jbGFpbS5zdGF0ZTtcclxuICAgIGlmIChzdGF0ZSAhPT0gVHBBc3NlbWJseVN0YXRlLkNMQUlNRUQpIHtcclxuICAgICAgdGhyb3cgbmV3IExyQmFkU3RhdGVFeGNlcHRpb24oYENsYWltIGlzIGFscmVhZHkgaW4gJHtzdGF0ZX0gc3RhdGUuYCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWplY3RSZXF1ZXN0KHNoYXJlZFJlc2V0SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMucmVqZWN0UmVxdWVzdE11dGF0aW9uKHNoYXJlZFJlc2V0SWQpKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHJlamVjdFJlcXVlc3RNdXRhdGlvbihzaGFyZWRSZXNldElkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHNoYXJlZFJlc2V0ID0gYXdhaXQgdGhpcy5nZXRTaGFyZWRSZXNldChzaGFyZWRSZXNldElkKTtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVJlcXVlc3RPclJhaXNlKHNoYXJlZFJlc2V0KTtcclxuXHJcbiAgICByZXR1cm4gTHJNZXJnZWRNdXRhdGlvbi5jcmVhdGUoXHJcbiAgICAgIHNoYXJlZFJlc2V0LnNoYXJlZFJlcXVlc3QuY2xhaW0uYXNDbGFpbUFwcHJvdmVycy5lZGdlc1xyXG4gICAgICAgIC5maWx0ZXIoKGVkZ2UpID0+IGVkZ2Uubm9kZS5zdGF0ZSA9PT0gVHBDbGFpbUFwcHJvdmVyU3RhdGUuQ0xBSU1FRClcclxuICAgICAgICAubWFwKFxyXG4gICAgICAgICAgKGVkZ2UpID0+XHJcbiAgICAgICAgICAgIG5ldyBMck11dGF0aW9uKHtcclxuICAgICAgICAgICAgICBtdXRhdGlvbjogUmVqZWN0VHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uLFxyXG4gICAgICAgICAgICAgIHZhcmlhYmxlczogeyBpbnB1dDogeyBjbGFpbUFwcHJvdmVySWQ6IGVkZ2Uubm9kZS5pZCB9IH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vID8/IFRPRE8gVGhlIHJldHVybiBmcm9tIHRoaXMgc2hvdWxkIG5vdCBiZSBhbnkuXHJcbiAgYXBwcm92ZVJlcXVlc3Qoc2hhcmVkUmVzZXRJZDogc3RyaW5nLCBwYmtGaW5nZXJQcmludD86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKFxyXG4gICAgICB0aGlzLmFwcHJvdmVSZXF1ZXN0TXV0YXRpb24oc2hhcmVkUmVzZXRJZCwgcGJrRmluZ2VyUHJpbnQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYXBwcm92ZVJlcXVlc3RNdXRhdGlvbihzaGFyZWRSZXNldElkOiBzdHJpbmcsIHBia0ZpbmdlclByaW50Pzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzaGFyZWRSZXNldCA9IGF3YWl0IHRoaXMuZ2V0U2hhcmVkUmVzZXQoc2hhcmVkUmVzZXRJZCk7XHJcblxyXG4gICAgdGhpcy5hY3RpdmVSZXF1ZXN0T3JSYWlzZShzaGFyZWRSZXNldCk7XHJcblxyXG4gICAgY29uc3QgcGJrID0gYXdhaXQgSldLLmFzS2V5KEpTT04ucGFyc2Uoc2hhcmVkUmVzZXQuc2hhcmVkUmVxdWVzdC5weGsucGJrKSk7XHJcbiAgICBjb25zb2xlLmxvZyhwYmsudG9KU09OKCkpO1xyXG5cclxuICAgIC8vIFRPRE8gPEFaPiBWZXJpZnkgcGJrIGFnYWluc3QgcGJrRmluZ2VyUHJpbnRcclxuXHJcbiAgICBjb25zdCBjbGFpbUFwcHJvdmVycyA9IHNoYXJlZFJlc2V0LnNoYXJlZFJlcXVlc3QuY2xhaW0uYXNDbGFpbUFwcHJvdmVycy5lZGdlcy5maWx0ZXIoXHJcbiAgICAgIChlZGdlKSA9PiBlZGdlLm5vZGUuc3RhdGUgPT09IFRwQ2xhaW1BcHByb3ZlclN0YXRlLkNMQUlNRURcclxuICAgICk7XHJcblxyXG4gICAgLy8gQSBzaW5nbGUgYXBwcm92ZXIgbWF5IGJlbG9uZyB0byBtdWx0aXBsZSBzdWItYXNzZW1ibGllcy4gV2UgYXBwcm92ZSB0aGVtIGFsbCBoZXJlIGluIGEgc2luZ2xlXHJcbiAgICAvLyB0cmFuc2FjdGlvbi5cclxuICAgIHJldHVybiBMck1lcmdlZE11dGF0aW9uLmNyZWF0ZShcclxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgY2xhaW1BcHByb3ZlcnMubWFwKGFzeW5jIChhcHByb3ZlckVkZ2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNhID0gYXBwcm92ZXJFZGdlLm5vZGU7XHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IHtcclxuICAgICAgICAgICAgY2xhaW1BcHByb3ZlcklkOiBjYS5pZCxcclxuICAgICAgICAgICAgcmVjZWl2ZXJBcHByb3ZhbHM6IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICAgIGNhLnJlY2VpdmVyQXBwcm92YWxzLmVkZ2VzLm1hcChhc3luYyAocmVjZWl2ZXJFZGdlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYSA9IHJlY2VpdmVyRWRnZS5ub2RlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgcmVjZWl2ZXJBcHByb3ZhbElkOiByYS5pZCxcclxuICAgICAgICAgICAgICAgICAgcmVjZWl2ZXJDaXBoZXI6ICcnLFxyXG4gICAgICAgICAgICAgICAgICByZWNlaXZlckNpcGhlclBhcnRpYWxBc3NlbWJseUtleTogYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXHJcbiAgICAgICAgICAgICAgICAgICAgcGJrLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhLnNoYXJlZENpcGhlclBhcnRpYWxBc3NlbWJseUtleUNsZWFySnNvblxyXG4gICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhpbnB1dCk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcclxuICAgICAgICAgICAgbXV0YXRpb246IEFwcHJvdmVUcFBhc3N3b3JkUmVzZXRSZXF1ZXN0TXV0YXRpb24sXHJcbiAgICAgICAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,129 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Inject, Injectable, Injector, NgZone } from '@angular/core';
3
+ import { EncryptionService } from '../cryptography/encryption.service';
4
+ import { KeyGraphService } from '../cryptography/key-graph.service';
5
+ import { LR_CONFIG } from '../life-ready.config';
6
+ import * as slip from '../cryptography/slip39.service';
7
+ import { PasswordService } from '../auth/password.service';
8
+ import { HttpClient } from '@angular/common/http';
9
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
10
+ import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
11
+ import { KeyFactoryService } from '../cryptography/key-factory.service';
12
+ import { LrService } from '../api/lr-graphql';
13
+ import { RunOutsideAngular } from '../_common/run-outside-angular';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../life-ready.config";
16
+ import * as i2 from "../cryptography/key-factory.service";
17
+ import * as i3 from "../cryptography/encryption.service";
18
+ import * as i4 from "../cryptography/key-graph.service";
19
+ import * as i5 from "../cryptography/slip39.service";
20
+ import * as i6 from "../auth/password.service";
21
+ import * as i7 from "@angular/common/http";
22
+ import * as i8 from "@aws-amplify/auth/lib-esm/Auth";
23
+ import * as i9 from "../auth/life-ready-auth.service";
24
+ let TpPasswordResetUserService = class TpPasswordResetUserService extends LrService {
25
+ constructor(ngZone, injector, config, keyFactory, encryptionService, keyGraphService, slip39Service, passwordService, http, auth, lrAuth) {
26
+ super(injector);
27
+ this.ngZone = ngZone;
28
+ this.injector = injector;
29
+ this.config = config;
30
+ this.keyFactory = keyFactory;
31
+ this.encryptionService = encryptionService;
32
+ this.keyGraphService = keyGraphService;
33
+ this.slip39Service = slip39Service;
34
+ this.passwordService = passwordService;
35
+ this.http = http;
36
+ this.auth = auth;
37
+ this.lrAuth = lrAuth;
38
+ }
39
+ verifyEmailContact(email) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const params = {
42
+ email,
43
+ };
44
+ return this.http
45
+ .post(`${this.config.authUrl}tp/password-reset/verify-contact/`, params)
46
+ .toPromise();
47
+ });
48
+ }
49
+ verifyContactRespond(claimId, claimCode) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const { token } = yield this.http
52
+ .post(`${this.config.authUrl}cove/respond/`, {
53
+ claim_id: claimId,
54
+ v_code: claimCode,
55
+ })
56
+ .toPromise();
57
+ return token;
58
+ });
59
+ }
60
+ requestReset(password, claimId, claimToken) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ // Generate the key materials
63
+ const passKeyBundle = yield this.passwordService.createPassKeyBundle(password);
64
+ const masterKey = yield this.keyFactory.createKey();
65
+ const wrappedMasterKey = yield this.encryptionService.encrypt(passKeyBundle.passKey, masterKey.toJSON(true));
66
+ // Ephemeral PKC key
67
+ const prk = yield this.keyFactory.createPkcKey();
68
+ const masterKeyWrappedPrk = yield this.encryptionService.encrypt(masterKey, prk.toJSON(true));
69
+ // API call to setup reset request
70
+ const requestResetResult = yield this.http
71
+ .post(`${this.config.authUrl}tp/password-reset/request/`, {
72
+ claimId,
73
+ claimToken,
74
+ pass_key_params: passKeyBundle.passKeyParams,
75
+ pass_idp_params: passKeyBundle.passIdpParams,
76
+ pass_idp_verifier_pbk: passKeyBundle.passIdpVerifier.toJSON(),
77
+ wrapped_pass_idp_verifier_prk: passKeyBundle.wrappedPassIdpVerifierPrk,
78
+ wrapped_master_key: wrappedMasterKey,
79
+ pbk: prk.toJSON(),
80
+ master_key_wrapped_prk: masterKeyWrappedPrk,
81
+ })
82
+ .toPromise();
83
+ console.log(requestResetResult);
84
+ console.log('Using new password: ', this.passwordService.getPassIdpString(passKeyBundle.passIdp));
85
+ // API call to create user on cognito
86
+ const signUpResult = yield this.auth.signUp({
87
+ username: requestResetResult.reset_username,
88
+ password: this.passwordService.getPassIdpString(passKeyBundle.passIdp),
89
+ clientMetadata: {
90
+ tp_password_reset_request: JSON.stringify({
91
+ id: requestResetResult.id,
92
+ associate_reset_user_token: requestResetResult.associate_reset_user_token,
93
+ }),
94
+ },
95
+ });
96
+ console.log('requestRest done: ', signUpResult);
97
+ return {
98
+ requestResetResult,
99
+ signUpResult,
100
+ };
101
+ });
102
+ }
103
+ };
104
+ TpPasswordResetUserService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TpPasswordResetUserService_Factory() { return new TpPasswordResetUserService(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.KeyFactoryService), i0.ɵɵinject(i3.EncryptionService), i0.ɵɵinject(i4.KeyGraphService), i0.ɵɵinject(i5.Slip39Service), i0.ɵɵinject(i6.PasswordService), i0.ɵɵinject(i7.HttpClient), i0.ɵɵinject(i8.AuthClass), i0.ɵɵinject(i9.LifeReadyAuthService)); }, token: TpPasswordResetUserService, providedIn: "root" });
105
+ TpPasswordResetUserService.decorators = [
106
+ { type: Injectable, args: [{
107
+ providedIn: 'root',
108
+ },] }
109
+ ];
110
+ TpPasswordResetUserService.ctorParameters = () => [
111
+ { type: NgZone },
112
+ { type: Injector },
113
+ { type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
114
+ { type: KeyFactoryService },
115
+ { type: EncryptionService },
116
+ { type: KeyGraphService },
117
+ { type: slip.Slip39Service },
118
+ { type: PasswordService },
119
+ { type: HttpClient },
120
+ { type: AuthClass },
121
+ { type: LifeReadyAuthService }
122
+ ];
123
+ TpPasswordResetUserService = __decorate([
124
+ RunOutsideAngular({
125
+ ngZoneName: 'ngZone',
126
+ })
127
+ ], TpPasswordResetUserService);
128
+ export { TpPasswordResetUserService };
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQtdXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3RydXN0ZWQtcGFydGllcy90cC1wYXNzd29yZC1yZXNldC11c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxLQUFLLElBQUksTUFBTSxnQ0FBZ0MsQ0FBQztBQVF2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU0zRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0lBU3RELDBCQUEwQixTQUExQiwwQkFBMkIsU0FBUSxTQUFTO0lBQ3ZELFlBQ1UsTUFBYyxFQUNkLFFBQWtCLEVBQ0MsTUFBdUIsRUFDMUMsVUFBNkIsRUFDN0IsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLGFBQWlDLEVBQ2pDLGVB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VCxzQkFBc0IsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQzdELENBQUM7WUFFRixxQ0FBcUM7WUFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDMUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLGNBQWM7Z0JBQzNDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RFLGNBQWMsRUFBRTtvQkFDZCx5QkFBeUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUN4QyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsRUFBRTt3QkFDekIsMEJBQTBCLEVBQ3hCLGtCQUFrQixDQUFDLDBCQUEwQjtxQkFDaEQsQ0FBQztpQkFDSDthQUNGLENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFaEQsT0FBTztnQkFDTCxrQkFBa0I7Z0JBQ2xCLFlBQVk7YUFDYixDQUFDO1FBQ0osQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7O1lBcEhBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBaENzQyxNQUFNO1lBQWhCLFFBQVE7NENBcUNoQyxNQUFNLFNBQUMsU0FBUztZQWhCWixpQkFBaUI7WUFwQmpCLGlCQUFpQjtZQUNqQixlQUFlO1lBRVosSUFBSSxDQXFDZ0IsYUFBYTtZQTdCcEMsZUFBZTtZQUNmLFVBQVU7WUFDVixTQUFTO1lBTVQsb0JBQW9COztBQWFoQiwwQkFBMEI7SUFOdEMsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLDBCQUEwQixDQWlIdEM7U0FqSFksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHViIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1ncmFwaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGlmZVJlYWR5Q29uZmlnLCBMUl9DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XHJcbmltcG9ydCAqIGFzIHNsaXAgZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L3NsaXAzOS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcclxuaW1wb3J0IHsgTHJCYWRTdGF0ZUV4Y2VwdGlvbiwgTHJFeGNlcHRpb24gfSBmcm9tICcuLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBsZXRlVHBQYXNzd29yZFJlc2V0UmVxdWVzdE11dGF0aW9uLFxyXG4gIENyZWF0ZVRwQXNzZW1ibHlLZXlDaGFsbGVuZ2VNdXRhdGlvbixcclxuICBQcmVDb21wbGV0ZVRwUGFzc3dvcmRSZXNldFJlcXVlc3RNdXRhdGlvbixcclxufSBmcm9tICcuL3RwLXBhc3N3b3JkLXJlc2V0LmdxbCc7XHJcbmltcG9ydCB7IFBhc3N3b3JkU2VydmljZSB9IGZyb20gJy4uL2F1dGgvcGFzc3dvcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XHJcbmltcG9ydCB7XHJcbiAgUmVxdWVzdFJlc2V0UmVzdWx0LFxyXG4gIFRwUGFzc3dvcmRSZXNldFNlcnZpY2UsXHJcbn0gZnJvbSAnLi90cC1wYXNzd29yZC1yZXNldC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNpZ25VcFJlc3VsdCB9IGZyb20gJ2FtYXpvbi1jb2duaXRvLWlkZW50aXR5LWpzJztcclxuaW1wb3J0IHsgTGlmZVJlYWR5QXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2xpZmUtcmVhZHktYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkva2V5LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRwQ2xhaW1TdGF0ZSwgVHBQYXNzd29yZFJlc2V0VXNlck5vZGUgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xyXG5pbXBvcnQgeyBMck11dGF0aW9uLCBMclNlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItZ3JhcGhxbCc7XHJcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVHBQYXNzd29yZFJlc2V0VXNlciB9IGZyb20gJy4uL2F1dGgvYXV0aC50eXBlcyc7XHJcblxyXG5AUnVuT3V0c2lkZUFuZ3VsYXIoe1xyXG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxyXG59KVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHBQYXNzd29yZFJlc2V0VXNlclNlcnZpY2UgZXh0ZW5kcyBMclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgQEluamVjdChMUl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBMaWZlUmVhZHlDb25maWcsXHJcbiAgICBwcml2YXRlIGtleUZhY3Rvcnk6IEtleUZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbmNyeXB0aW9uU2VydmljZTogRW5jcnlwdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGtleUdyYXBoU2VydmljZTogS2V5R3JhcGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzbGlwMzlTZXJ2aWNlOiBzbGlwLlNsaXAzOVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhc3N3b3JkU2VydmljZTogUGFzc3dvcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoQ2xhc3MsXHJcbiAgICBwcml2YXRlIGxyQXV0aDogTGlmZVJlYWR5QXV0aFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHZlcmlmeUVtYWlsQ29udGFjdChlbWFpbCk6IFByb21pc2U8eyBjbGFpbUlkOiBzdHJpbmcgfT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBlbWFpbCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oXHJcbiAgICAgICAgYCR7dGhpcy5jb25maWcuYXV0aFVybH10cC9wYXNzd29yZC1yZXNldC92ZXJpZnktY29udGFjdC9gLFxyXG4gICAgICAgIHBhcmFtc1xyXG4gICAgICApXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHZlcmlmeUNvbnRhY3RSZXNwb25kKFxyXG4gICAgY2xhaW1JZDogc3RyaW5nLFxyXG4gICAgY2xhaW1Db2RlOiBzdHJpbmdcclxuICApOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgeyB0b2tlbiB9ID0gYXdhaXQgdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHsgdG9rZW4gfT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1jb3ZlL3Jlc3BvbmQvYCwge1xyXG4gICAgICAgIGNsYWltX2lkOiBjbGFpbUlkLFxyXG4gICAgICAgIHZfY29kZTogY2xhaW1Db2RlLFxyXG4gICAgICB9KVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICByZXR1cm4gdG9rZW47XHJcbiAgfVxyXG5cclxuICBhc3luYyByZXF1ZXN0UmVzZXQoXHJcbiAgICBwYXNzd29yZDogc3RyaW5nLFxyXG4gICAgY2xhaW1JZDogc3RyaW5nLFxyXG4gICAgY2xhaW1Ub2tlbjogc3RyaW5nXHJcbiAgKTogUHJvbWlzZTx7XHJcbiAgICByZXF1ZXN0UmVzZXRSZXN1bHQ6IFJlcXVlc3RSZXNldFJlc3VsdDtcclxuICAgIHNpZ25VcFJlc3VsdDogSVNpZ25VcFJlc3VsdDtcclxuICB9PiB7XHJcbiAgICAvLyBHZW5lcmF0ZSB0aGUga2V5IG1hdGVyaWFsc1xyXG4gICAgY29uc3QgcGFzc0tleUJ1bmRsZSA9IGF3YWl0IHRoaXMucGFzc3dvcmRTZXJ2aWNlLmNyZWF0ZVBhc3NLZXlCdW5kbGUoXHJcbiAgICAgIHBhc3N3b3JkXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVLZXkoKTtcclxuICAgIGNvbnN0IHdyYXBwZWRNYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXHJcbiAgICAgIHBhc3NLZXlCdW5kbGUucGFzc0tleSxcclxuICAgICAgbWFzdGVyS2V5LnRvSlNPTih0cnVlKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBFcGhlbWVyYWwgUEtDIGtleVxyXG4gICAgY29uc3QgcHJrID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVBrY0tleSgpO1xyXG4gICAgY29uc3QgbWFzdGVyS2V5V3JhcHBlZFByayA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcclxuICAgICAgbWFzdGVyS2V5LFxyXG4gICAgICBwcmsudG9KU09OKHRydWUpXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEFQSSBjYWxsIHRvIHNldHVwIHJlc2V0IHJlcXVlc3RcclxuICAgIGNvbnN0IHJlcXVlc3RSZXNldFJlc3VsdCA9IGF3YWl0IHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxSZXF1ZXN0UmVzZXRSZXN1bHQ+KFxyXG4gICAgICAgIGAke3RoaXMuY29uZmlnLmF1dGhVcmx9dHAvcGFzc3dvcmQtcmVzZXQvcmVxdWVzdC9gLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYWltSWQsXHJcbiAgICAgICAgICBjbGFpbVRva2VuLFxyXG4gICAgICAgICAgcGFzc19rZXlfcGFyYW1zOiBwYXNzS2V5QnVuZGxlLnBhc3NLZXlQYXJhbXMsXHJcbiAgICAgICAgICBwYXNzX2lkcF9wYXJhbXM6IHBhc3NLZXlCdW5kbGUucGFzc0lkcFBhcmFtcyxcclxuICAgICAgICAgIHBhc3NfaWRwX3ZlcmlmaWVyX3BiazogcGFzc0tleUJ1bmRsZS5wYXNzSWRwVmVyaWZpZXIudG9KU09OKCksIC8vIHB1YmxpYyBrZXlcclxuICAgICAgICAgIHdyYXBwZWRfcGFzc19pZHBfdmVyaWZpZXJfcHJrOlxyXG4gICAgICAgICAgICBwYXNzS2V5QnVuZGxlLndyYXBwZWRQYXNzSWRwVmVyaWZpZXJQcmssXHJcbiAgICAgICAgICB3cmFwcGVkX21hc3Rlcl9rZXk6IHdyYXBwZWRNYXN0ZXJLZXksXHJcbiAgICAgICAgICBwYms6IHByay50b0pTT04oKSwgLy8gZXBoZW1lcmFsIHB1YmxpYyBrZXlcclxuICAgICAgICAgIG1hc3Rlcl9rZXlfd3JhcHBlZF9wcms6IG1hc3RlcktleVdyYXBwZWRQcmssXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhyZXF1ZXN0UmVzZXRSZXN1bHQpO1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICdVc2luZyBuZXcgcGFzc3dvcmQ6ICcsXHJcbiAgICAgIHRoaXMucGFzc3dvcmRTZXJ2aWNlLmdldFBhc3NJZHBTdHJpbmcocGFzc0tleUJ1bmRsZS5wYXNzSWRwKVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBUEkgY2FsbCB0byBjcmVhdGUgdXNlciBvbiBjb2duaXRvXHJcbiAgICBjb25zdCBzaWduVXBSZXN1bHQgPSBhd2FpdCB0aGlzLmF1dGguc2lnblVwKHtcclxuICAgICAgdXNlcm5hbWU6IHJlcXVlc3RSZXNldFJlc3VsdC5yZXNldF91c2VybmFtZSxcclxuICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmRTZXJ2aWNlLmdldFBhc3NJZHBTdHJpbmcocGFzc0tleUJ1bmRsZS5wYXNzSWRwKSxcclxuICAgICAgY2xpZW50TWV0YWRhdGE6IHtcclxuICAgICAgICB0cF9wYXNzd29yZF9yZXNldF9yZXF1ZXN0OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICBpZDogcmVxdWVzdFJlc2V0UmVzdWx0LmlkLFxyXG4gICAgICAgICAgYXNzb2NpYXRlX3Jlc2V0X3VzZXJfdG9rZW46XHJcbiAgICAgICAgICAgIHJlcXVlc3RSZXNldFJlc3VsdC5hc3NvY2lhdGVfcmVzZXRfdXNlcl90b2tlbixcclxuICAgICAgICB9KSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKCdyZXF1ZXN0UmVzdCBkb25lOiAnLCBzaWduVXBSZXN1bHQpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHJlcXVlc3RSZXNldFJlc3VsdCxcclxuICAgICAgc2lnblVwUmVzdWx0LFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,4 @@
1
+ export const TP_PASSWORD_RESET_CLIENT_NONCE_LENGTH = 32;
2
+ export const TP_PASSWORD_RESET_SLIP39_PASSPHRASE = 'lifeready';
3
+ export const TP_PASSWORD_RESET_USERNAME_SUFFIX = '.tp_password_reset';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAtcGFzc3dvcmQtcmVzZXQuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3RydXN0ZWQtcGFydGllcy90cC1wYXNzd29yZC1yZXNldC5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsRUFBRSxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLFdBQVcsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUUF9QQVNTV09SRF9SRVNFVF9DTElFTlRfTk9OQ0VfTEVOR1RIID0gMzI7XHJcbmV4cG9ydCBjb25zdCBUUF9QQVNTV09SRF9SRVNFVF9TTElQMzlfUEFTU1BIUkFTRSA9ICdsaWZlcmVhZHknO1xyXG5leHBvcnQgY29uc3QgVFBfUEFTU1dPUkRfUkVTRVRfVVNFUk5BTUVfU1VGRklYID0gJy50cF9wYXNzd29yZF9yZXNldCc7XHJcbiJdfQ==