@lifeready/core 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +15939 -0
  3. package/bundles/lifeready-core.umd.js.map +1 -0
  4. package/bundles/lifeready-core.umd.min.js +16 -0
  5. package/bundles/lifeready-core.umd.min.js.map +1 -0
  6. package/esm2015/lib/_common/ast.js +40 -0
  7. package/esm2015/lib/_common/deferred-promise.js +24 -0
  8. package/esm2015/lib/_common/exceptions.js +157 -0
  9. package/esm2015/lib/_common/queries.gql.js +190 -0
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -0
  11. package/esm2015/lib/_common/types.js +1 -0
  12. package/esm2015/lib/_common/utils.js +44 -0
  13. package/esm2015/lib/api/contact-card.gql.js +79 -0
  14. package/esm2015/lib/api/contact-card.service.js +154 -0
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -0
  16. package/esm2015/lib/api/contact-card2.service.js +103 -0
  17. package/esm2015/lib/api/file.service.js +74 -0
  18. package/esm2015/lib/api/item2.gql.js +110 -0
  19. package/esm2015/lib/api/item2.service.js +311 -0
  20. package/esm2015/lib/api/key-exchange.gql.js +188 -0
  21. package/esm2015/lib/api/key-exchange.service.js +442 -0
  22. package/esm2015/lib/api/key-exchange.types.js +18 -0
  23. package/esm2015/lib/api/key-exchange2.gql.js +171 -0
  24. package/esm2015/lib/api/key-exchange2.service.js +479 -0
  25. package/esm2015/lib/api/lock.gql.js +40 -0
  26. package/esm2015/lib/api/lock.service.js +64 -0
  27. package/esm2015/lib/api/lr-apollo.service.js +46 -0
  28. package/esm2015/lib/api/lr-graphql/index.js +6 -0
  29. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
  30. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
  31. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
  32. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
  33. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
  34. package/esm2015/lib/api/message.service.js +138 -0
  35. package/esm2015/lib/api/persist.service.js +181 -0
  36. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
  37. package/esm2015/lib/api/query-processor/index.js +3 -0
  38. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
  39. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
  40. package/esm2015/lib/api/shared-contact-card.service.js +119 -0
  41. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
  42. package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
  43. package/esm2015/lib/api/time.service.js +146 -0
  44. package/esm2015/lib/api/types/graphql.types.js +7 -0
  45. package/esm2015/lib/api/types/index.js +3 -0
  46. package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
  47. package/esm2015/lib/auth/auth.config.js +57 -0
  48. package/esm2015/lib/auth/auth.gql.js +48 -0
  49. package/esm2015/lib/auth/auth.types.js +27 -0
  50. package/esm2015/lib/auth/idle.service.js +168 -0
  51. package/esm2015/lib/auth/idle.types.js +7 -0
  52. package/esm2015/lib/auth/lbop.service.js +355 -0
  53. package/esm2015/lib/auth/life-ready-auth.service.js +500 -0
  54. package/esm2015/lib/auth/password.service.js +320 -0
  55. package/esm2015/lib/auth/register.service.js +172 -0
  56. package/esm2015/lib/auth/two-factor.service.js +74 -0
  57. package/esm2015/lib/category/category-meta.service.js +99 -0
  58. package/esm2015/lib/category/category.gql.js +406 -0
  59. package/esm2015/lib/category/category.service.js +390 -0
  60. package/esm2015/lib/category/category.types.js +29 -0
  61. package/esm2015/lib/cryptography/cryptography.types.js +11 -0
  62. package/esm2015/lib/cryptography/encryption.service.js +189 -0
  63. package/esm2015/lib/cryptography/key-factory.service.js +237 -0
  64. package/esm2015/lib/cryptography/key-graph.service.js +280 -0
  65. package/esm2015/lib/cryptography/key-meta.service.js +200 -0
  66. package/esm2015/lib/cryptography/key.service.js +124 -0
  67. package/esm2015/lib/cryptography/slip39.service.js +169 -0
  68. package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
  69. package/esm2015/lib/life-ready.config.js +84 -0
  70. package/esm2015/lib/life-ready.module.js +74 -0
  71. package/esm2015/lib/plan/plan.gql.js +123 -0
  72. package/esm2015/lib/plan/plan.service.js +149 -0
  73. package/esm2015/lib/plan/plan.types.js +11 -0
  74. package/esm2015/lib/record/record-attachment.service.js +101 -0
  75. package/esm2015/lib/record/record.gql.js +179 -0
  76. package/esm2015/lib/record/record.service.js +206 -0
  77. package/esm2015/lib/record/record.types.js +15 -0
  78. package/esm2015/lib/record-type/record-type.service.js +75 -0
  79. package/esm2015/lib/record-type/record-type.types.js +28 -0
  80. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
  81. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
  82. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
  85. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
  88. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
  89. package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
  90. package/esm2015/lib/scenario/scenario.gql.js +368 -0
  91. package/esm2015/lib/scenario/scenario.service.js +611 -0
  92. package/esm2015/lib/scenario/scenario.types.js +64 -0
  93. package/esm2015/lib/search/search.gql.js +62 -0
  94. package/esm2015/lib/search/search.service.js +156 -0
  95. package/esm2015/lib/search/search.types.js +6 -0
  96. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
  97. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -0
  98. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -0
  99. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
  100. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -0
  101. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
  102. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
  103. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
  104. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
  105. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
  106. package/esm2015/lib/users/profile-details.service.js +214 -0
  107. package/esm2015/lib/users/profile.gql.js +97 -0
  108. package/esm2015/lib/users/profile.service.js +169 -0
  109. package/esm2015/lib/users/profile.types.js +34 -0
  110. package/esm2015/lib/users/user.gql.js +60 -0
  111. package/esm2015/lib/users/user.service.js +79 -0
  112. package/esm2015/lib/users/user.types.js +5 -0
  113. package/esm2015/lifeready-core.js +10 -0
  114. package/esm2015/public-api.js +81 -0
  115. package/fesm2015/lifeready-core.js +13314 -0
  116. package/fesm2015/lifeready-core.js.map +1 -0
  117. package/lib/_common/ast.d.ts +11 -0
  118. package/lib/_common/deferred-promise.d.ts +12 -0
  119. package/lib/_common/exceptions.d.ts +109 -0
  120. package/lib/_common/queries.gql.d.ts +10 -0
  121. package/lib/_common/run-outside-angular.d.ts +14 -0
  122. package/{src/lib/_common/types.ts → lib/_common/types.d.ts} +10 -13
  123. package/lib/_common/utils.d.ts +3 -0
  124. package/lib/api/contact-card.gql.d.ts +7 -0
  125. package/lib/api/contact-card.service.d.ts +52 -0
  126. package/lib/api/contact-card2.gql.d.ts +34 -0
  127. package/lib/api/contact-card2.service.d.ts +49 -0
  128. package/lib/api/file.service.d.ts +18 -0
  129. package/lib/api/item2.gql.d.ts +96 -0
  130. package/lib/api/item2.service.d.ts +177 -0
  131. package/lib/api/key-exchange.gql.d.ts +9 -0
  132. package/lib/api/key-exchange.service.d.ts +39 -0
  133. package/lib/api/key-exchange.types.d.ts +196 -0
  134. package/lib/api/key-exchange2.gql.d.ts +125 -0
  135. package/lib/api/key-exchange2.service.d.ts +187 -0
  136. package/lib/api/lock.gql.d.ts +27 -0
  137. package/lib/api/lock.service.d.ts +25 -0
  138. package/lib/api/lr-apollo.service.d.ts +15 -0
  139. package/{src/lib/api/lr-graphql/index.ts → lib/api/lr-graphql/index.d.ts} +5 -5
  140. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
  141. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
  142. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
  143. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
  144. package/lib/api/lr-graphql/lr.service.d.ts +9 -0
  145. package/lib/api/message.service.d.ts +58 -0
  146. package/lib/api/persist.service.d.ts +31 -0
  147. package/lib/api/query-processor/common-processors.service.d.ts +36 -0
  148. package/{src/lib/api/query-processor/index.ts → lib/api/query-processor/index.d.ts} +2 -2
  149. package/lib/api/query-processor/query-processor.service.d.ts +18 -0
  150. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
  151. package/lib/api/shared-contact-card.service.d.ts +33 -0
  152. package/lib/api/shared-contact-card2.gql.d.ts +36 -0
  153. package/lib/api/shared-contact-card2.service.d.ts +45 -0
  154. package/lib/api/time.service.d.ts +16 -0
  155. package/lib/api/types/graphql.types.d.ts +29 -0
  156. package/{src/lib/api/types/index.ts → lib/api/types/index.d.ts} +2 -2
  157. package/lib/api/types/lr-graphql.types.d.ts +385 -0
  158. package/lib/auth/auth.config.d.ts +5 -0
  159. package/lib/auth/auth.gql.d.ts +15 -0
  160. package/lib/auth/auth.types.d.ts +66 -0
  161. package/lib/auth/idle.service.d.ts +40 -0
  162. package/lib/auth/idle.types.d.ts +10 -0
  163. package/lib/auth/lbop.service.d.ts +91 -0
  164. package/lib/auth/life-ready-auth.service.d.ts +59 -0
  165. package/lib/auth/password.service.d.ts +78 -0
  166. package/lib/auth/register.service.d.ts +25 -0
  167. package/lib/auth/two-factor.service.d.ts +15 -0
  168. package/lib/category/category-meta.service.d.ts +23 -0
  169. package/lib/category/category.gql.d.ts +45 -0
  170. package/lib/category/category.service.d.ts +67 -0
  171. package/lib/category/category.types.d.ts +79 -0
  172. package/lib/cryptography/cryptography.types.d.ts +83 -0
  173. package/lib/cryptography/encryption.service.d.ts +41 -0
  174. package/lib/cryptography/key-factory.service.d.ts +38 -0
  175. package/lib/cryptography/key-graph.service.d.ts +33 -0
  176. package/lib/cryptography/key-meta.service.d.ts +44 -0
  177. package/lib/cryptography/key.service.d.ts +36 -0
  178. package/lib/cryptography/slip39.service.d.ts +43 -0
  179. package/lib/cryptography/web-crypto.service.d.ts +5 -0
  180. package/lib/life-ready.config.d.ts +14 -0
  181. package/lib/life-ready.module.d.ts +5 -0
  182. package/lib/plan/plan.gql.d.ts +11 -0
  183. package/lib/plan/plan.service.d.ts +33 -0
  184. package/lib/plan/plan.types.d.ts +31 -0
  185. package/lib/record/record-attachment.service.d.ts +16 -0
  186. package/lib/record/record.gql.d.ts +14 -0
  187. package/lib/record/record.service.d.ts +25 -0
  188. package/lib/record/record.types.d.ts +57 -0
  189. package/lib/record-type/record-type.service.d.ts +11 -0
  190. package/lib/record-type/record-type.types.d.ts +50 -0
  191. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
  192. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
  193. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
  194. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
  195. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
  196. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
  197. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
  198. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
  199. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
  200. package/lib/scenario/scenario-setup.service.d.ts +22 -0
  201. package/lib/scenario/scenario.gql.d.ts +34 -0
  202. package/lib/scenario/scenario.service.d.ts +58 -0
  203. package/lib/scenario/scenario.types.d.ts +217 -0
  204. package/lib/search/search.gql.d.ts +1 -0
  205. package/lib/search/search.service.d.ts +25 -0
  206. package/lib/search/search.types.d.ts +20 -0
  207. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
  208. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -0
  209. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -0
  210. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
  211. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -0
  212. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
  213. package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
  214. package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
  215. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
  216. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
  217. package/lib/users/profile-details.service.d.ts +21 -0
  218. package/lib/users/profile.gql.d.ts +11 -0
  219. package/lib/users/profile.service.d.ts +35 -0
  220. package/lib/users/profile.types.d.ts +96 -0
  221. package/lib/users/user.gql.d.ts +9 -0
  222. package/lib/users/user.service.d.ts +12 -0
  223. package/lib/users/user.types.d.ts +23 -0
  224. package/lifeready-core.d.ts +9 -0
  225. package/lifeready-core.metadata.json +1 -0
  226. package/package.json +29 -21
  227. package/{src/public-api.ts → public-api.d.ts} +77 -96
  228. package/karma.conf.js +0 -32
  229. package/ng-package.json +0 -26
  230. package/src/lib/_common/ast.ts +0 -75
  231. package/src/lib/_common/deferred-promise.ts +0 -35
  232. package/src/lib/_common/exceptions.ts +0 -189
  233. package/src/lib/_common/queries.gql.ts +0 -200
  234. package/src/lib/_common/run-outside-angular.ts +0 -125
  235. package/src/lib/_common/tests.ts +0 -82
  236. package/src/lib/_common/utils.ts +0 -57
  237. package/src/lib/api/api-mutation.spec.ts +0 -547
  238. package/src/lib/api/api-query.spec.ts +0 -40
  239. package/src/lib/api/contact-card.gql.ts +0 -85
  240. package/src/lib/api/contact-card.service.spec.ts +0 -249
  241. package/src/lib/api/contact-card.service.ts +0 -228
  242. package/src/lib/api/contact-card2.gql.ts +0 -93
  243. package/src/lib/api/contact-card2.service.spec.ts +0 -297
  244. package/src/lib/api/contact-card2.service.ts +0 -139
  245. package/src/lib/api/file.service.spec.ts +0 -14
  246. package/src/lib/api/file.service.ts +0 -81
  247. package/src/lib/api/item2.gql.ts +0 -211
  248. package/src/lib/api/item2.service.spec.ts +0 -1043
  249. package/src/lib/api/item2.service.ts +0 -481
  250. package/src/lib/api/key-exchange.gql.ts +0 -196
  251. package/src/lib/api/key-exchange.service.spec.ts +0 -470
  252. package/src/lib/api/key-exchange.service.ts +0 -731
  253. package/src/lib/api/key-exchange.types.ts +0 -235
  254. package/src/lib/api/key-exchange2.gql.ts +0 -310
  255. package/src/lib/api/key-exchange2.service.spec.ts +0 -892
  256. package/src/lib/api/key-exchange2.service.ts +0 -875
  257. package/src/lib/api/lock.gql.ts +0 -67
  258. package/src/lib/api/lock.service.spec.ts +0 -549
  259. package/src/lib/api/lock.service.ts +0 -57
  260. package/src/lib/api/lr-apollo.service.spec.ts +0 -27
  261. package/src/lib/api/lr-apollo.service.ts +0 -43
  262. package/src/lib/api/lr-graphql/lr-graphql.service.ts +0 -313
  263. package/src/lib/api/lr-graphql/lr-merged-mutation.ts +0 -377
  264. package/src/lib/api/lr-graphql/lr-mutation-base.ts +0 -67
  265. package/src/lib/api/lr-graphql/lr-mutation.ts +0 -74
  266. package/src/lib/api/lr-graphql/lr.service.ts +0 -28
  267. package/src/lib/api/message.service.spec.ts +0 -20
  268. package/src/lib/api/message.service.ts +0 -210
  269. package/src/lib/api/persist.service.spec.ts +0 -209
  270. package/src/lib/api/persist.service.ts +0 -220
  271. package/src/lib/api/query-processor/common-processors.service.ts +0 -148
  272. package/src/lib/api/query-processor/query-processor.service.ts +0 -240
  273. package/src/lib/api/query-processor/tp-password-reset-processor.service.ts +0 -177
  274. package/src/lib/api/shared-contact-card.service.ts +0 -156
  275. package/src/lib/api/shared-contact-card2.gql.ts +0 -76
  276. package/src/lib/api/shared-contact-card2.service.ts +0 -154
  277. package/src/lib/api/time.service.spec.ts +0 -48
  278. package/src/lib/api/time.service.ts +0 -155
  279. package/src/lib/api/types/graphql.types.ts +0 -48
  280. package/src/lib/api/types/lr-graphql.types.ts +0 -467
  281. package/src/lib/auth/auth.config.ts +0 -83
  282. package/src/lib/auth/auth.gql.ts +0 -62
  283. package/src/lib/auth/auth.types.ts +0 -79
  284. package/src/lib/auth/idle.service.spec.ts +0 -119
  285. package/src/lib/auth/idle.service.ts +0 -208
  286. package/src/lib/auth/idle.types.ts +0 -11
  287. package/src/lib/auth/lbop.service.spec.ts +0 -56
  288. package/src/lib/auth/lbop.service.ts +0 -539
  289. package/src/lib/auth/life-ready-auth.service.spec.ts +0 -70
  290. package/src/lib/auth/life-ready-auth.service.ts +0 -454
  291. package/src/lib/auth/password.service.spec.ts +0 -51
  292. package/src/lib/auth/password.service.ts +0 -438
  293. package/src/lib/auth/register.service.spec.ts +0 -31
  294. package/src/lib/auth/register.service.ts +0 -181
  295. package/src/lib/auth/two-factor.service.spec.ts +0 -21
  296. package/src/lib/auth/two-factor.service.ts +0 -69
  297. package/src/lib/category/category-meta.service.spec.ts +0 -28
  298. package/src/lib/category/category-meta.service.ts +0 -125
  299. package/src/lib/category/category.gql.ts +0 -449
  300. package/src/lib/category/category.service.spec.ts +0 -26
  301. package/src/lib/category/category.service.ts +0 -498
  302. package/src/lib/category/category.types.ts +0 -89
  303. package/src/lib/cryptography/cryptography.types.ts +0 -108
  304. package/src/lib/cryptography/encryption.service.spec.ts +0 -125
  305. package/src/lib/cryptography/encryption.service.ts +0 -243
  306. package/src/lib/cryptography/key-factory.service.spec.ts +0 -15
  307. package/src/lib/cryptography/key-factory.service.ts +0 -303
  308. package/src/lib/cryptography/key-graph.service.spec.ts +0 -16
  309. package/src/lib/cryptography/key-graph.service.ts +0 -354
  310. package/src/lib/cryptography/key-meta.service.spec.ts +0 -40
  311. package/src/lib/cryptography/key-meta.service.ts +0 -254
  312. package/src/lib/cryptography/key.service.spec.ts +0 -16
  313. package/src/lib/cryptography/key.service.ts +0 -154
  314. package/src/lib/cryptography/slip39.service.spec.ts +0 -44
  315. package/src/lib/cryptography/slip39.service.ts +0 -204
  316. package/src/lib/cryptography/web-crypto.service.ts +0 -22
  317. package/src/lib/life-ready.config.ts +0 -127
  318. package/src/lib/life-ready.module.ts +0 -81
  319. package/src/lib/plan/plan.gql.ts +0 -133
  320. package/src/lib/plan/plan.service.spec.ts +0 -294
  321. package/src/lib/plan/plan.service.ts +0 -198
  322. package/src/lib/plan/plan.types.ts +0 -37
  323. package/src/lib/record/record-attachment.service.spec.ts +0 -31
  324. package/src/lib/record/record-attachment.service.ts +0 -101
  325. package/src/lib/record/record.gql.ts +0 -192
  326. package/src/lib/record/record.service.spec.ts +0 -598
  327. package/src/lib/record/record.service.ts +0 -236
  328. package/src/lib/record/record.types.ts +0 -86
  329. package/src/lib/record-type/record-type.service.spec.ts +0 -16
  330. package/src/lib/record-type/record-type.service.ts +0 -71
  331. package/src/lib/record-type/record-type.types.ts +0 -58
  332. package/src/lib/scenario/approvals/scenario-approval.gql.ts +0 -112
  333. package/src/lib/scenario/approvals/scenario-approval.types.ts +0 -85
  334. package/src/lib/scenario/approvals/scenario-approver.service.spec.ts +0 -16
  335. package/src/lib/scenario/approvals/scenario-approver.service.ts +0 -422
  336. package/src/lib/scenario/claimants/scenario-claimant.gql.ts +0 -56
  337. package/src/lib/scenario/claimants/scenario-claimant.service.spec.ts +0 -16
  338. package/src/lib/scenario/claimants/scenario-claimant.service.ts +0 -100
  339. package/src/lib/scenario/claimants/scenario-claimant.types.ts +0 -21
  340. package/src/lib/scenario/receivers/scenario-receiver.gql.ts +0 -157
  341. package/src/lib/scenario/receivers/scenario-receiver.service.spec.ts +0 -16
  342. package/src/lib/scenario/receivers/scenario-receiver.service.ts +0 -278
  343. package/src/lib/scenario/receivers/scenario-receiver.types.ts +0 -66
  344. package/src/lib/scenario/scenario-setup.service.spec.ts +0 -22
  345. package/src/lib/scenario/scenario-setup.service.ts +0 -369
  346. package/src/lib/scenario/scenario.gql.ts +0 -404
  347. package/src/lib/scenario/scenario.service.spec.ts +0 -1586
  348. package/src/lib/scenario/scenario.service.ts +0 -811
  349. package/src/lib/scenario/scenario.types.ts +0 -258
  350. package/src/lib/search/search.gql.ts +0 -62
  351. package/src/lib/search/search.service.spec.ts +0 -57
  352. package/src/lib/search/search.service.ts +0 -174
  353. package/src/lib/search/search.types.ts +0 -24
  354. package/src/lib/trusted-parties/tp-password-reset-request.service.ts +0 -140
  355. package/src/lib/trusted-parties/tp-password-reset-user.service.ts +0 -359
  356. package/src/lib/trusted-parties/tp-password-reset.gql.ts +0 -453
  357. package/src/lib/trusted-parties/tp-password-reset.service.spec.ts +0 -602
  358. package/src/lib/trusted-parties/tp-password-reset.service.ts +0 -482
  359. package/src/lib/trusted-parties/trusted-party.gql.ts +0 -159
  360. package/src/lib/trusted-parties/trusted-party.service.spec.ts +0 -1008
  361. package/src/lib/trusted-parties/trusted-party.service.ts +0 -394
  362. package/src/lib/trusted-parties/trusted-party.types.ts +0 -119
  363. package/src/lib/trusted-parties/trusted-party2.gql.ts +0 -165
  364. package/src/lib/trusted-parties/trusted-party2.service.spec.ts +0 -1782
  365. package/src/lib/trusted-parties/trusted-party2.service.ts +0 -272
  366. package/src/lib/users/profile-details.service.spec.ts +0 -45
  367. package/src/lib/users/profile-details.service.ts +0 -278
  368. package/src/lib/users/profile.gql.ts +0 -108
  369. package/src/lib/users/profile.service.spec.ts +0 -97
  370. package/src/lib/users/profile.service.ts +0 -224
  371. package/src/lib/users/profile.types.ts +0 -101
  372. package/src/lib/users/user.gql.ts +0 -69
  373. package/src/lib/users/user.service.spec.ts +0 -161
  374. package/src/lib/users/user.service.ts +0 -72
  375. package/src/lib/users/user.types.ts +0 -27
  376. package/src/test.ts +0 -21
  377. package/tsconfig.lib.json +0 -21
  378. package/tsconfig.lib.prod.json +0 -6
  379. package/tsconfig.spec.json +0 -10
  380. package/tslint.json +0 -17
@@ -1,482 +0,0 @@
1
- import { Injectable, Injector, NgZone } from '@angular/core';
2
- import { KeyService } from '../cryptography/key.service';
3
- import { EncryptionService } from '../cryptography/encryption.service';
4
- import {
5
- CreateTpPasswordResetMutation,
6
- DeleteTpPasswordResetMutation,
7
- TpPasswordResetQuery,
8
- UpdateTpPasswordResetMutation,
9
- CancelTpPasswordResetRequestMutation,
10
- } from './tp-password-reset.gql';
11
- import { KeyGraphService } from '../cryptography/key-graph.service';
12
- import * as slip from '../cryptography/slip39.service';
13
- import {
14
- LrBadArgumentException,
15
- LrBadLogicException,
16
- } from '../_common/exceptions';
17
- import { PartialAssemblyKey } from '../scenario/scenario.types';
18
- import { JWK } from 'node-jose';
19
- import { Key } from '../cryptography/cryptography.types';
20
- import { KeyFactoryService } from '../cryptography/key-factory.service';
21
- import { LrGraphQLService, LrMutation, LrService } from '../api/lr-graphql';
22
- import { TpNode } from '../api/types';
23
- import { RunOutsideAngular } from '../_common/run-outside-angular';
24
-
25
- export class CreateSubAssembliesInput {
26
- name: string;
27
- quorum: number;
28
- singleReject: boolean;
29
- approverTps: TpNode[];
30
- }
31
-
32
- export class UpdateSubAssembliesInput extends CreateSubAssembliesInput {
33
- id: string;
34
- }
35
-
36
- export class CreateTpPasswordResetInput {
37
- quorum: number;
38
- singleReject: boolean;
39
- createSubAssemblies: CreateSubAssembliesInput[];
40
- }
41
-
42
- export class UpdateTpPasswordResetInput extends CreateTpPasswordResetInput {
43
- updateSubAssemblies: UpdateSubAssembliesInput[];
44
- }
45
-
46
- export interface TpAssemblyApprovers {
47
- id: string;
48
- tp: {
49
- id: string;
50
- };
51
- sharedKey: Key;
52
- sharedCipherData?: string;
53
- sharedCipherDataClearJson?: any;
54
- sharedCipherApprovalData?: string;
55
- sharedCipherApprovalDataClearJson?: any;
56
- }
57
-
58
- export interface TpSubAssembly {
59
- id: string;
60
- singleReject: boolean;
61
- quorum: number;
62
- subjectCipherData: string;
63
- plainSubjectCipherData: any;
64
- approvers: TpAssemblyApprovers[];
65
- }
66
-
67
- export interface TpAssembly {
68
- singleReject: boolean;
69
- quorum: number;
70
- subjectKey: Key;
71
- assemblyKey: Key;
72
- assemblyCipherData: string;
73
- plainAssemblyCipherData: any;
74
- subAssemblies: TpSubAssembly[];
75
- }
76
-
77
- export interface TpPasswordReset {
78
- id: string;
79
- assembly: TpAssembly;
80
- applied: boolean;
81
- }
82
-
83
- export interface RequestResetResult {
84
- id: string;
85
- associate_reset_user_token: string;
86
- reset_username: string;
87
- }
88
-
89
- @RunOutsideAngular({
90
- ngZoneName: 'ngZone',
91
- })
92
- @Injectable({
93
- providedIn: 'root',
94
- })
95
- export class TpPasswordResetService extends LrService {
96
- public static SLIP39_PASSPHRASE = 'lifeready';
97
-
98
- constructor(
99
- private ngZone: NgZone,
100
- private injector: Injector,
101
- private keyService: KeyService,
102
- private keyFactory: KeyFactoryService,
103
- private encryptionService: EncryptionService,
104
- private keyGraph: KeyGraphService,
105
- private slip39Service: slip.Slip39Service
106
- ) {
107
- super(injector);
108
- }
109
-
110
- async getReset() {
111
- return (
112
- await this.query({
113
- query: TpPasswordResetQuery,
114
- })
115
- ).tpPasswordReset;
116
- }
117
-
118
- createReset(input: CreateTpPasswordResetInput) {
119
- return this.mutate(this.createResetMutation(input));
120
- }
121
-
122
- async createResetMutation(input: CreateTpPasswordResetInput) {
123
- const { mutationInput } = await this._createReset(
124
- input,
125
- async (rawAssemblyKey) => {
126
- return this.prepareSlip39(
127
- input.createSubAssemblies,
128
- input.quorum,
129
- rawAssemblyKey
130
- );
131
- }
132
- );
133
-
134
- return new LrMutation({
135
- mutation: CreateTpPasswordResetMutation,
136
- variables: {
137
- input: mutationInput,
138
- },
139
- });
140
- }
141
-
142
- deleteReset() {
143
- return this.mutate(this.deleteResetMutation());
144
- }
145
-
146
- deleteResetMutation() {
147
- return new LrMutation({
148
- mutation: DeleteTpPasswordResetMutation,
149
- });
150
- }
151
-
152
- updateReset(input: UpdateTpPasswordResetInput) {
153
- return this.mutate(this.updateResetMutation(input));
154
- }
155
-
156
- async updateResetMutation(input: UpdateTpPasswordResetInput) {
157
- const passwordReset = await this.getReset();
158
-
159
- const {
160
- mutationInput,
161
- subjectKey,
162
- slipAssembly,
163
- assemblyKeyParams,
164
- } = await this._createReset(input, async (rawAssemblyKey) => {
165
- return this.prepareSlip39(
166
- input.createSubAssemblies.concat(input.updateSubAssemblies),
167
- input.quorum,
168
- rawAssemblyKey
169
- );
170
- });
171
-
172
- const updateSubAssemblies = await Promise.all(
173
- input.updateSubAssemblies.map(async (sa, saIndex) => {
174
- const subjectCipherData = await this.encryptionService.encryptToString(
175
- subjectKey,
176
- {
177
- name: sa.name,
178
- }
179
- );
180
-
181
- // Get the existing sub-assembly
182
- const existingSa = passwordReset.assembly.subAssemblies.edges.find(
183
- (edge) => edge.node.id === sa.id
184
- ).node;
185
-
186
- // Get approvers that do not exist yet
187
- const createApprovers = [];
188
- const updateApprovers = [];
189
-
190
- sa.approverTps.forEach((tp) => {
191
- const approver = existingSa.approvers.edges.find(
192
- (edge) => edge.node.tp.id === tp.id
193
- )?.node;
194
- if (approver) {
195
- updateApprovers.push({
196
- tp,
197
- approverId: approver.id,
198
- });
199
- } else {
200
- createApprovers.push({
201
- tp,
202
- });
203
- }
204
- });
205
-
206
- return {
207
- subAssemblyId: sa.id,
208
- singleReject: sa.singleReject,
209
- quorum: sa.quorum,
210
- subjectCipherData,
211
- createApprovers: await Promise.all(
212
- createApprovers.map(async ({ tp }, approverIndex) =>
213
- this.prepareApprover({
214
- tp,
215
- approverIndex,
216
- saIndex: saIndex + input.createSubAssemblies.length, // slipAssembly is all sub-assemblies combined
217
- slipAssembly,
218
- assemblyKeyParams,
219
- subjectKey,
220
- })
221
- )
222
- ),
223
- updateApprovers: await Promise.all(
224
- updateApprovers.map(async ({ tp, approverId }, approverIndex) =>
225
- this.prepareApprover({
226
- approverId,
227
- tp,
228
- approverIndex: approverIndex + createApprovers.length,
229
- saIndex: saIndex + input.createSubAssemblies.length, // slipAssembly is all sub-assemblies combined
230
- slipAssembly,
231
- assemblyKeyParams,
232
- subjectKey,
233
- })
234
- )
235
- ),
236
- };
237
- })
238
- );
239
-
240
- return new LrMutation({
241
- mutation: UpdateTpPasswordResetMutation,
242
- variables: {
243
- input: {
244
- ...mutationInput,
245
- assembly: {
246
- ...mutationInput.assembly,
247
- updateSubAssemblies,
248
- },
249
- },
250
- },
251
- });
252
- }
253
-
254
- cancelResetRequest() {
255
- return this.mutate(this.cancelResetRequestMutation());
256
- }
257
-
258
- cancelResetRequestMutation() {
259
- return new LrMutation({
260
- mutation: CancelTpPasswordResetRequestMutation,
261
- });
262
- }
263
-
264
- validateApprovers(approvers: TpNode[]): void {
265
- // Ensure all approvers have mkSharedKey.
266
- for (const tp of approvers) {
267
- if (!tp.currentUserSharedKey.userSharedKey.mkSharedKey) {
268
- const msg = `tp ${tp.other.username} does not have mkSharedKey`;
269
- console.log(msg);
270
- throw new LrBadArgumentException(msg);
271
- }
272
- }
273
- }
274
-
275
- private async prepareApprover({
276
- approverId,
277
- tp,
278
- approverIndex,
279
- saIndex,
280
- slipAssembly,
281
- assemblyKeyParams,
282
- subjectKey,
283
- }: {
284
- approverId?: string;
285
- tp: TpNode;
286
- approverIndex: number;
287
- saIndex: number;
288
- slipAssembly: slip.Assembly;
289
- assemblyKeyParams: object;
290
- subjectKey: JWK.Key;
291
- }) {
292
- if (!tp.currentUserSharedKey.userSharedKey.mkSharedKey) {
293
- throw new LrBadArgumentException(
294
- `Tp ${tp.other.username} does not have mkSharedKey. Need to reshared it first.`
295
- );
296
- }
297
-
298
- const sharedKey = await this.keyFactory.createKey();
299
- const tpMkSharedKey = await this.keyGraph.getKey(
300
- tp.currentUserSharedKey.userSharedKey.mkSharedKey.id
301
- );
302
- // For TP to access shared_key
303
- const tpMkSharedKeyWrappedSharedKey = await this.encryptionService.encryptToString(
304
- tpMkSharedKey.jwk,
305
- sharedKey.toJSON(true)
306
- );
307
- // For subject to access shared_key
308
- const subjectKeyWrappedSharedKey = await this.encryptionService.encryptToString(
309
- subjectKey,
310
- sharedKey.toJSON(true)
311
- );
312
-
313
- const saSlip = slipAssembly.subAssemblies[saIndex];
314
- if (saSlip.index !== saIndex) {
315
- // Paranoia
316
- throw new LrBadLogicException(
317
- 'slip sub assembly index should match with array index'
318
- );
319
- }
320
-
321
- // If quorum is 1, then using the same share for every member.
322
- const share =
323
- saSlip.threshold === 1 ? saSlip.shares[0] : saSlip.shares[approverIndex];
324
-
325
- const partialAssemblyKey: PartialAssemblyKey = {
326
- slip39: {
327
- share,
328
- subAssembly: {
329
- quorum: saSlip.threshold,
330
- size: saSlip.size,
331
- },
332
- },
333
- assemblyKeyParams,
334
- };
335
-
336
- console.log('partialAssemblyKey', partialAssemblyKey);
337
-
338
- return {
339
- tpMkSharedKeyId: tpMkSharedKey.id,
340
- tpMkSharedKeyWrappedSharedKey,
341
- subjectKeyWrappedSharedKey,
342
- sharedCipherData: await this.encryptionService.encryptToString(
343
- sharedKey,
344
- { a: '123' }
345
- ),
346
- sharedCipherApprovalData: '',
347
- sharedCipherPartialAssemblyKey: await this.encryptionService.encryptToString(
348
- sharedKey,
349
- partialAssemblyKey
350
- ),
351
- approverId: approverId || void 0,
352
- tpId: approverId ? void 0 : tp.id,
353
- };
354
- }
355
-
356
- // Prepare slip39
357
- private async prepareSlip39(
358
- subAssemblies,
359
- assemblyQuorum: number,
360
- rawAssemblyKey: string
361
- ): Promise<slip.Assembly> {
362
- // Is there enough sub assemblies to meet quorum
363
- if (subAssemblies.length < assemblyQuorum) {
364
- throw new LrBadArgumentException(
365
- 'Not enough sub assemblies to meet quorum'
366
- );
367
- }
368
-
369
- const slipAssembly = new slip.Assembly(assemblyQuorum);
370
-
371
- subAssemblies.forEach((sa, index) => {
372
- let approverCount = sa.approverTps.length;
373
-
374
- // slip39 restricts quorum == 1 to have only 1 member. So we just share the same
375
- // partial key for all sub assembly members.
376
- if (sa.quorum === 1) {
377
- approverCount = 1;
378
- }
379
- slipAssembly.addSubAssembly(
380
- new slip.SubAssembly(index, sa.quorum, approverCount)
381
- );
382
- });
383
-
384
- await this.slip39Service.generateShares(
385
- rawAssemblyKey,
386
- TpPasswordResetService.SLIP39_PASSPHRASE,
387
- slipAssembly
388
- );
389
- return slipAssembly;
390
- }
391
-
392
- private async _createReset(
393
- input: CreateTpPasswordResetInput,
394
- createSlipAssembly
395
- ): Promise<any> {
396
- // Create subject key
397
- const masterKey = await this.keyService.getCurrentMasterKey();
398
- const subjectKey = await this.keyFactory.createKey();
399
- const assemblyKey = await this.keyFactory.createKey();
400
- const { k: rawAssemblyKey, ...assemblyKeyParams } = assemblyKey.toJSON(
401
- true
402
- ) as any;
403
- const assemblyKeyVerifierPrk = await this.keyFactory.createPkcSignKey();
404
- const wrappedAssemblyKeyVerifierPrk = await this.encryptionService.encryptToString(
405
- assemblyKey,
406
- assemblyKeyVerifierPrk.toJSON(true)
407
- );
408
-
409
- const masterKeyWrappedSubjectKey = await this.encryptionService.encryptToString(
410
- masterKey.jwk,
411
- subjectKey.toJSON(true)
412
- );
413
- const subjectKeyWrappedAssemblyKey = await this.encryptionService.encryptToString(
414
- subjectKey,
415
- assemblyKey.toJSON(true)
416
- );
417
-
418
- // Encrypt the rootKey with the assemblyKey
419
- const rootKey = await this.keyService.getCurrentRootKey();
420
-
421
- const assemblyCipherData = await this.encryptionService.encryptToString(
422
- assemblyKey,
423
- {
424
- rootKey: rootKey.jwk.toJSON(true),
425
- }
426
- );
427
-
428
- const slipAssembly = await createSlipAssembly(rawAssemblyKey);
429
- // const slipAssembly = await this.prepareSlip39(input.createSubAssemblies, input.quorum, rawAssemblyKey);
430
-
431
- const createSubAssemblies = await Promise.all(
432
- input.createSubAssemblies.map(async (sa, saIndex) => {
433
- const subjectCipherData = await this.encryptionService.encryptToString(
434
- subjectKey,
435
- {
436
- name: sa.name,
437
- }
438
- );
439
-
440
- return {
441
- singleReject: sa.singleReject,
442
- quorum: sa.quorum,
443
- subjectCipherData,
444
- createApprovers: await Promise.all(
445
- sa.approverTps.map(async (approverTp, approverIndex) =>
446
- this.prepareApprover({
447
- tp: approverTp,
448
- approverIndex,
449
- saIndex,
450
- slipAssembly,
451
- assemblyKeyParams,
452
- subjectKey,
453
- })
454
- )
455
- ),
456
- };
457
- })
458
- );
459
-
460
- return {
461
- subjectKey,
462
- slipAssembly,
463
- assemblyKeyParams,
464
- mutationInput: {
465
- assembly: {
466
- singleReject: input.singleReject,
467
- quorum: input.quorum,
468
- masterKeyId: masterKey.id,
469
- masterKeyWrappedSubjectKey,
470
- subjectKeyWrappedAssemblyKey,
471
- subjectCipherData: '',
472
- assemblyCipherData,
473
- createSubAssemblies,
474
- assemblyKeyVerifierPbk: JSON.stringify(
475
- assemblyKeyVerifierPrk.toJSON()
476
- ),
477
- wrappedAssemblyKeyVerifierPrk,
478
- },
479
- },
480
- };
481
- }
482
- }
@@ -1,159 +0,0 @@
1
- import gql from 'graphql-tag';
2
- import { KeyGraphField } from '../_common/queries.gql';
3
- import {
4
- KeyExchangeFields,
5
- UserSharedKeyFields,
6
- } from '../api/key-exchange.gql';
7
- import { SharedContactCardFields } from '../api/shared-contact-card.service';
8
-
9
- export const TrustedPartyProperties = `
10
- id
11
- user {
12
- id
13
- username
14
- }
15
- other{
16
- id
17
- username,
18
- features {
19
- shareVault
20
- }
21
- }
22
- sharedContactCard {
23
- ${SharedContactCardFields}
24
- }
25
- myContactCard {
26
- ${SharedContactCardFields}
27
- }
28
- sharedScenarios {
29
- edges {
30
- node {
31
- id
32
- }
33
- }
34
- }
35
- sharedItems {
36
- directories {
37
- edges {
38
- node {
39
- id
40
- }
41
- }
42
- }
43
- }
44
- currentUserSharedKey {
45
- userSharedKey {
46
- keyExchange {
47
- ${KeyExchangeFields}
48
- }
49
- ${UserSharedKeyFields}
50
- }
51
- }`;
52
-
53
- export const GetTrustedPartiesQuery = gql`
54
- query GetTrustedPartiesQuery {
55
- tps {
56
- edges {
57
- node {
58
- ${TrustedPartyProperties}
59
- }
60
- }
61
- }
62
- ${KeyGraphField}
63
- }`;
64
-
65
- export const GetAllTrustedPartiesQuery = gql`
66
- query GetAllTrustedPartiesQuery($userId: ID, $isExpired: Boolean, $inviteState: String, $sentInviteState: String) {
67
- tps {
68
- edges {
69
- node {
70
- ${TrustedPartyProperties}
71
- }
72
- }
73
- }
74
- invites: keyExchanges(
75
- responder: $userId
76
- isExpired: $isExpired
77
- state: $inviteState
78
- orderBy: "state,-created"
79
- ) {
80
- edges {
81
- node {
82
- ${KeyExchangeFields}
83
- }
84
- }
85
- }
86
- sentInvites: keyExchanges(
87
- initiator: $userId
88
- isExpired: $isExpired
89
- state: $sentInviteState
90
- orderBy: "state,-created"
91
- ) {
92
- edges {
93
- node {
94
- ${KeyExchangeFields}
95
- }
96
- }
97
- }
98
- ${KeyGraphField}
99
- }`;
100
-
101
- export const GetTrustedPartyQuery = gql`
102
- query GetTrustedPartyQuery($partyId: LrRelayIdInput!) {
103
- tp(id: $partyId) {
104
- ${TrustedPartyProperties}
105
- }
106
- ${KeyGraphField}
107
- }`;
108
-
109
- export const DeclineTrustedPartyInvitationMutation = gql`
110
- mutation DeclineKeyExchange($input: DeclineKeyExchangeInput!) {
111
- declineKeyExchange(input: $input) {
112
- keyExchange {
113
- id
114
- }
115
- }
116
- }
117
- `;
118
-
119
- export const CancelTrustedPartyInvitationMutation = gql`
120
- mutation CancelKeyExchange($input: CancelKeyExchangeInput!) {
121
- cancelKeyExchange(input: $input) {
122
- keyExchange {
123
- id
124
- }
125
- }
126
- }
127
- `;
128
-
129
- export const DeleteTrustedPartyMutation = gql`
130
- mutation DeleteTpMutation($input: DeleteTpInput!) {
131
- deleteTp(input: $input) {
132
- id
133
- }
134
- }
135
- `;
136
-
137
- export const ShareCategoryMutation = gql`
138
- mutation ShareDirectory($input: ShareDirectoryInput!) {
139
- shareDirectory(input: $input) {
140
- tpDirectory {
141
- item {
142
- plainMeta
143
- }
144
- }
145
- }
146
- }
147
- `;
148
-
149
- export const UnshareCategoryMutation = gql`
150
- mutation UnshareDirectory($input: UnshareDirectoryInput!) {
151
- unshareDirectory(input: $input) {
152
- tpDirectory {
153
- item {
154
- plainMeta
155
- }
156
- }
157
- }
158
- }
159
- `;