@lifeready/core 1.0.0 → 1.0.1

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 (378) hide show
  1. package/README.md +62 -62
  2. package/karma.conf.js +32 -0
  3. package/ng-package.json +26 -0
  4. package/package.json +21 -29
  5. package/src/lib/_common/ast.ts +75 -0
  6. package/src/lib/_common/deferred-promise.ts +35 -0
  7. package/src/lib/_common/exceptions.ts +189 -0
  8. package/src/lib/_common/queries.gql.ts +200 -0
  9. package/src/lib/_common/run-outside-angular.ts +125 -0
  10. package/src/lib/_common/tests.ts +82 -0
  11. package/{lib/_common/types.d.ts → src/lib/_common/types.ts} +13 -10
  12. package/src/lib/_common/utils.ts +57 -0
  13. package/src/lib/api/api-mutation.spec.ts +547 -0
  14. package/src/lib/api/api-query.spec.ts +40 -0
  15. package/src/lib/api/contact-card.gql.ts +85 -0
  16. package/src/lib/api/contact-card.service.spec.ts +249 -0
  17. package/src/lib/api/contact-card.service.ts +228 -0
  18. package/src/lib/api/contact-card2.gql.ts +93 -0
  19. package/src/lib/api/contact-card2.service.spec.ts +297 -0
  20. package/src/lib/api/contact-card2.service.ts +139 -0
  21. package/src/lib/api/file.service.spec.ts +14 -0
  22. package/src/lib/api/file.service.ts +81 -0
  23. package/src/lib/api/item2.gql.ts +211 -0
  24. package/src/lib/api/item2.service.spec.ts +1043 -0
  25. package/src/lib/api/item2.service.ts +481 -0
  26. package/src/lib/api/key-exchange.gql.ts +196 -0
  27. package/src/lib/api/key-exchange.service.spec.ts +470 -0
  28. package/src/lib/api/key-exchange.service.ts +731 -0
  29. package/src/lib/api/key-exchange.types.ts +235 -0
  30. package/src/lib/api/key-exchange2.gql.ts +310 -0
  31. package/src/lib/api/key-exchange2.service.spec.ts +892 -0
  32. package/src/lib/api/key-exchange2.service.ts +875 -0
  33. package/src/lib/api/lock.gql.ts +67 -0
  34. package/src/lib/api/lock.service.spec.ts +549 -0
  35. package/src/lib/api/lock.service.ts +57 -0
  36. package/src/lib/api/lr-apollo.service.spec.ts +27 -0
  37. package/src/lib/api/lr-apollo.service.ts +43 -0
  38. package/{lib/api/lr-graphql/index.d.ts → src/lib/api/lr-graphql/index.ts} +5 -5
  39. package/src/lib/api/lr-graphql/lr-graphql.service.ts +313 -0
  40. package/src/lib/api/lr-graphql/lr-merged-mutation.ts +377 -0
  41. package/src/lib/api/lr-graphql/lr-mutation-base.ts +67 -0
  42. package/src/lib/api/lr-graphql/lr-mutation.ts +74 -0
  43. package/src/lib/api/lr-graphql/lr.service.ts +28 -0
  44. package/src/lib/api/message.service.spec.ts +20 -0
  45. package/src/lib/api/message.service.ts +210 -0
  46. package/src/lib/api/persist.service.spec.ts +209 -0
  47. package/src/lib/api/persist.service.ts +220 -0
  48. package/src/lib/api/query-processor/common-processors.service.ts +148 -0
  49. package/{lib/api/query-processor/index.d.ts → src/lib/api/query-processor/index.ts} +2 -2
  50. package/src/lib/api/query-processor/query-processor.service.ts +240 -0
  51. package/src/lib/api/query-processor/tp-password-reset-processor.service.ts +177 -0
  52. package/src/lib/api/shared-contact-card.service.ts +156 -0
  53. package/src/lib/api/shared-contact-card2.gql.ts +76 -0
  54. package/src/lib/api/shared-contact-card2.service.ts +154 -0
  55. package/src/lib/api/time.service.spec.ts +48 -0
  56. package/src/lib/api/time.service.ts +155 -0
  57. package/src/lib/api/types/graphql.types.ts +48 -0
  58. package/{lib/api/types/index.d.ts → src/lib/api/types/index.ts} +2 -2
  59. package/src/lib/api/types/lr-graphql.types.ts +467 -0
  60. package/src/lib/auth/auth.config.ts +83 -0
  61. package/src/lib/auth/auth.gql.ts +62 -0
  62. package/src/lib/auth/auth.types.ts +79 -0
  63. package/src/lib/auth/idle.service.spec.ts +119 -0
  64. package/src/lib/auth/idle.service.ts +208 -0
  65. package/src/lib/auth/idle.types.ts +11 -0
  66. package/src/lib/auth/lbop.service.spec.ts +56 -0
  67. package/src/lib/auth/lbop.service.ts +539 -0
  68. package/src/lib/auth/life-ready-auth.service.spec.ts +70 -0
  69. package/src/lib/auth/life-ready-auth.service.ts +454 -0
  70. package/src/lib/auth/password.service.spec.ts +51 -0
  71. package/src/lib/auth/password.service.ts +438 -0
  72. package/src/lib/auth/register.service.spec.ts +31 -0
  73. package/src/lib/auth/register.service.ts +181 -0
  74. package/src/lib/auth/two-factor.service.spec.ts +21 -0
  75. package/src/lib/auth/two-factor.service.ts +69 -0
  76. package/src/lib/category/category-meta.service.spec.ts +28 -0
  77. package/src/lib/category/category-meta.service.ts +125 -0
  78. package/src/lib/category/category.gql.ts +449 -0
  79. package/src/lib/category/category.service.spec.ts +26 -0
  80. package/src/lib/category/category.service.ts +498 -0
  81. package/src/lib/category/category.types.ts +89 -0
  82. package/src/lib/cryptography/cryptography.types.ts +108 -0
  83. package/src/lib/cryptography/encryption.service.spec.ts +125 -0
  84. package/src/lib/cryptography/encryption.service.ts +243 -0
  85. package/src/lib/cryptography/key-factory.service.spec.ts +15 -0
  86. package/src/lib/cryptography/key-factory.service.ts +303 -0
  87. package/src/lib/cryptography/key-graph.service.spec.ts +16 -0
  88. package/src/lib/cryptography/key-graph.service.ts +354 -0
  89. package/src/lib/cryptography/key-meta.service.spec.ts +40 -0
  90. package/src/lib/cryptography/key-meta.service.ts +254 -0
  91. package/src/lib/cryptography/key.service.spec.ts +16 -0
  92. package/src/lib/cryptography/key.service.ts +154 -0
  93. package/src/lib/cryptography/slip39.service.spec.ts +44 -0
  94. package/src/lib/cryptography/slip39.service.ts +204 -0
  95. package/src/lib/cryptography/web-crypto.service.ts +22 -0
  96. package/src/lib/life-ready.config.ts +127 -0
  97. package/src/lib/life-ready.module.ts +81 -0
  98. package/src/lib/plan/plan.gql.ts +133 -0
  99. package/src/lib/plan/plan.service.spec.ts +294 -0
  100. package/src/lib/plan/plan.service.ts +198 -0
  101. package/src/lib/plan/plan.types.ts +37 -0
  102. package/src/lib/record/record-attachment.service.spec.ts +31 -0
  103. package/src/lib/record/record-attachment.service.ts +101 -0
  104. package/src/lib/record/record.gql.ts +192 -0
  105. package/src/lib/record/record.service.spec.ts +598 -0
  106. package/src/lib/record/record.service.ts +236 -0
  107. package/src/lib/record/record.types.ts +86 -0
  108. package/src/lib/record-type/record-type.service.spec.ts +16 -0
  109. package/src/lib/record-type/record-type.service.ts +71 -0
  110. package/src/lib/record-type/record-type.types.ts +58 -0
  111. package/src/lib/scenario/approvals/scenario-approval.gql.ts +112 -0
  112. package/src/lib/scenario/approvals/scenario-approval.types.ts +85 -0
  113. package/src/lib/scenario/approvals/scenario-approver.service.spec.ts +16 -0
  114. package/src/lib/scenario/approvals/scenario-approver.service.ts +422 -0
  115. package/src/lib/scenario/claimants/scenario-claimant.gql.ts +56 -0
  116. package/src/lib/scenario/claimants/scenario-claimant.service.spec.ts +16 -0
  117. package/src/lib/scenario/claimants/scenario-claimant.service.ts +100 -0
  118. package/src/lib/scenario/claimants/scenario-claimant.types.ts +21 -0
  119. package/src/lib/scenario/receivers/scenario-receiver.gql.ts +157 -0
  120. package/src/lib/scenario/receivers/scenario-receiver.service.spec.ts +16 -0
  121. package/src/lib/scenario/receivers/scenario-receiver.service.ts +278 -0
  122. package/src/lib/scenario/receivers/scenario-receiver.types.ts +66 -0
  123. package/src/lib/scenario/scenario-setup.service.spec.ts +22 -0
  124. package/src/lib/scenario/scenario-setup.service.ts +369 -0
  125. package/src/lib/scenario/scenario.gql.ts +404 -0
  126. package/src/lib/scenario/scenario.service.spec.ts +1586 -0
  127. package/src/lib/scenario/scenario.service.ts +811 -0
  128. package/src/lib/scenario/scenario.types.ts +258 -0
  129. package/src/lib/search/search.gql.ts +62 -0
  130. package/src/lib/search/search.service.spec.ts +57 -0
  131. package/src/lib/search/search.service.ts +174 -0
  132. package/src/lib/search/search.types.ts +24 -0
  133. package/src/lib/trusted-parties/tp-password-reset-request.service.ts +140 -0
  134. package/src/lib/trusted-parties/tp-password-reset-user.service.ts +359 -0
  135. package/src/lib/trusted-parties/tp-password-reset.gql.ts +453 -0
  136. package/src/lib/trusted-parties/tp-password-reset.service.spec.ts +602 -0
  137. package/src/lib/trusted-parties/tp-password-reset.service.ts +482 -0
  138. package/src/lib/trusted-parties/trusted-party.gql.ts +159 -0
  139. package/src/lib/trusted-parties/trusted-party.service.spec.ts +1008 -0
  140. package/src/lib/trusted-parties/trusted-party.service.ts +394 -0
  141. package/src/lib/trusted-parties/trusted-party.types.ts +119 -0
  142. package/src/lib/trusted-parties/trusted-party2.gql.ts +165 -0
  143. package/src/lib/trusted-parties/trusted-party2.service.spec.ts +1782 -0
  144. package/src/lib/trusted-parties/trusted-party2.service.ts +272 -0
  145. package/src/lib/users/profile-details.service.spec.ts +45 -0
  146. package/src/lib/users/profile-details.service.ts +278 -0
  147. package/src/lib/users/profile.gql.ts +108 -0
  148. package/src/lib/users/profile.service.spec.ts +97 -0
  149. package/src/lib/users/profile.service.ts +224 -0
  150. package/src/lib/users/profile.types.ts +101 -0
  151. package/src/lib/users/user.gql.ts +69 -0
  152. package/src/lib/users/user.service.spec.ts +161 -0
  153. package/src/lib/users/user.service.ts +72 -0
  154. package/src/lib/users/user.types.ts +27 -0
  155. package/{public-api.d.ts → src/public-api.ts} +96 -77
  156. package/src/test.ts +21 -0
  157. package/tsconfig.lib.json +21 -0
  158. package/tsconfig.lib.prod.json +6 -0
  159. package/tsconfig.spec.json +10 -0
  160. package/tslint.json +17 -0
  161. package/bundles/lifeready-core.umd.js +0 -15876
  162. package/bundles/lifeready-core.umd.js.map +0 -1
  163. package/bundles/lifeready-core.umd.min.js +0 -16
  164. package/bundles/lifeready-core.umd.min.js.map +0 -1
  165. package/esm2015/lib/_common/ast.js +0 -40
  166. package/esm2015/lib/_common/deferred-promise.js +0 -24
  167. package/esm2015/lib/_common/exceptions.js +0 -157
  168. package/esm2015/lib/_common/queries.gql.js +0 -190
  169. package/esm2015/lib/_common/run-outside-angular.js +0 -79
  170. package/esm2015/lib/_common/types.js +0 -1
  171. package/esm2015/lib/_common/utils.js +0 -44
  172. package/esm2015/lib/api/contact-card.gql.js +0 -79
  173. package/esm2015/lib/api/contact-card.service.js +0 -154
  174. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  175. package/esm2015/lib/api/contact-card2.service.js +0 -103
  176. package/esm2015/lib/api/file.service.js +0 -74
  177. package/esm2015/lib/api/item2.gql.js +0 -110
  178. package/esm2015/lib/api/item2.service.js +0 -311
  179. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  180. package/esm2015/lib/api/key-exchange.service.js +0 -442
  181. package/esm2015/lib/api/key-exchange.types.js +0 -18
  182. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  183. package/esm2015/lib/api/key-exchange2.service.js +0 -479
  184. package/esm2015/lib/api/lock.gql.js +0 -40
  185. package/esm2015/lib/api/lock.service.js +0 -64
  186. package/esm2015/lib/api/lr-apollo.service.js +0 -46
  187. package/esm2015/lib/api/lr-graphql/index.js +0 -6
  188. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +0 -155
  189. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +0 -213
  190. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +0 -51
  191. package/esm2015/lib/api/lr-graphql/lr-mutation.js +0 -48
  192. package/esm2015/lib/api/lr-graphql/lr.service.js +0 -18
  193. package/esm2015/lib/api/message.service.js +0 -138
  194. package/esm2015/lib/api/persist.service.js +0 -181
  195. package/esm2015/lib/api/query-processor/common-processors.service.js +0 -93
  196. package/esm2015/lib/api/query-processor/index.js +0 -3
  197. package/esm2015/lib/api/query-processor/query-processor.service.js +0 -192
  198. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +0 -109
  199. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  200. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  201. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  202. package/esm2015/lib/api/time.service.js +0 -146
  203. package/esm2015/lib/api/types/graphql.types.js +0 -7
  204. package/esm2015/lib/api/types/index.js +0 -3
  205. package/esm2015/lib/api/types/lr-graphql.types.js +0 -71
  206. package/esm2015/lib/auth/auth.config.js +0 -57
  207. package/esm2015/lib/auth/auth.gql.js +0 -48
  208. package/esm2015/lib/auth/auth.types.js +0 -27
  209. package/esm2015/lib/auth/idle.service.js +0 -168
  210. package/esm2015/lib/auth/idle.types.js +0 -7
  211. package/esm2015/lib/auth/lbop.service.js +0 -355
  212. package/esm2015/lib/auth/life-ready-auth.service.js +0 -333
  213. package/esm2015/lib/auth/password.service.js +0 -320
  214. package/esm2015/lib/auth/register.service.js +0 -172
  215. package/esm2015/lib/auth/two-factor.service.js +0 -74
  216. package/esm2015/lib/category/category-meta.service.js +0 -99
  217. package/esm2015/lib/category/category.gql.js +0 -406
  218. package/esm2015/lib/category/category.service.js +0 -390
  219. package/esm2015/lib/category/category.types.js +0 -29
  220. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  221. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  222. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  223. package/esm2015/lib/cryptography/key-graph.service.js +0 -280
  224. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  225. package/esm2015/lib/cryptography/key.service.js +0 -124
  226. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  227. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  228. package/esm2015/lib/life-ready.config.js +0 -84
  229. package/esm2015/lib/life-ready.module.js +0 -74
  230. package/esm2015/lib/plan/plan.gql.js +0 -123
  231. package/esm2015/lib/plan/plan.service.js +0 -149
  232. package/esm2015/lib/plan/plan.types.js +0 -11
  233. package/esm2015/lib/record/record-attachment.service.js +0 -101
  234. package/esm2015/lib/record/record.gql.js +0 -179
  235. package/esm2015/lib/record/record.service.js +0 -206
  236. package/esm2015/lib/record/record.types.js +0 -15
  237. package/esm2015/lib/record-type/record-type.service.js +0 -75
  238. package/esm2015/lib/record-type/record-type.types.js +0 -28
  239. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +0 -105
  240. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +0 -1
  241. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +0 -300
  242. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +0 -52
  243. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +0 -97
  244. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +0 -1
  245. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +0 -150
  246. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +0 -229
  247. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +0 -1
  248. package/esm2015/lib/scenario/scenario-setup.service.js +0 -269
  249. package/esm2015/lib/scenario/scenario.gql.js +0 -368
  250. package/esm2015/lib/scenario/scenario.service.js +0 -611
  251. package/esm2015/lib/scenario/scenario.types.js +0 -64
  252. package/esm2015/lib/search/search.gql.js +0 -62
  253. package/esm2015/lib/search/search.service.js +0 -156
  254. package/esm2015/lib/search/search.types.js +0 -6
  255. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -112
  256. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -266
  257. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -232
  258. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -300
  259. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  260. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  261. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  262. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  263. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -215
  264. package/esm2015/lib/users/profile-details.service.js +0 -214
  265. package/esm2015/lib/users/profile.gql.js +0 -97
  266. package/esm2015/lib/users/profile.service.js +0 -169
  267. package/esm2015/lib/users/profile.types.js +0 -34
  268. package/esm2015/lib/users/user.gql.js +0 -60
  269. package/esm2015/lib/users/user.service.js +0 -79
  270. package/esm2015/lib/users/user.types.js +0 -5
  271. package/esm2015/lifeready-core.js +0 -10
  272. package/esm2015/public-api.js +0 -81
  273. package/fesm2015/lifeready-core.js +0 -13282
  274. package/fesm2015/lifeready-core.js.map +0 -1
  275. package/lib/_common/ast.d.ts +0 -11
  276. package/lib/_common/deferred-promise.d.ts +0 -12
  277. package/lib/_common/exceptions.d.ts +0 -109
  278. package/lib/_common/queries.gql.d.ts +0 -10
  279. package/lib/_common/run-outside-angular.d.ts +0 -14
  280. package/lib/_common/utils.d.ts +0 -3
  281. package/lib/api/contact-card.gql.d.ts +0 -7
  282. package/lib/api/contact-card.service.d.ts +0 -52
  283. package/lib/api/contact-card2.gql.d.ts +0 -34
  284. package/lib/api/contact-card2.service.d.ts +0 -49
  285. package/lib/api/file.service.d.ts +0 -18
  286. package/lib/api/item2.gql.d.ts +0 -96
  287. package/lib/api/item2.service.d.ts +0 -177
  288. package/lib/api/key-exchange.gql.d.ts +0 -9
  289. package/lib/api/key-exchange.service.d.ts +0 -39
  290. package/lib/api/key-exchange.types.d.ts +0 -196
  291. package/lib/api/key-exchange2.gql.d.ts +0 -125
  292. package/lib/api/key-exchange2.service.d.ts +0 -187
  293. package/lib/api/lock.gql.d.ts +0 -27
  294. package/lib/api/lock.service.d.ts +0 -25
  295. package/lib/api/lr-apollo.service.d.ts +0 -15
  296. package/lib/api/lr-graphql/lr-graphql.service.d.ts +0 -60
  297. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +0 -27
  298. package/lib/api/lr-graphql/lr-mutation-base.d.ts +0 -28
  299. package/lib/api/lr-graphql/lr-mutation.d.ts +0 -8
  300. package/lib/api/lr-graphql/lr.service.d.ts +0 -9
  301. package/lib/api/message.service.d.ts +0 -58
  302. package/lib/api/persist.service.d.ts +0 -31
  303. package/lib/api/query-processor/common-processors.service.d.ts +0 -36
  304. package/lib/api/query-processor/query-processor.service.d.ts +0 -18
  305. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +0 -15
  306. package/lib/api/shared-contact-card.service.d.ts +0 -33
  307. package/lib/api/shared-contact-card2.gql.d.ts +0 -36
  308. package/lib/api/shared-contact-card2.service.d.ts +0 -45
  309. package/lib/api/time.service.d.ts +0 -16
  310. package/lib/api/types/graphql.types.d.ts +0 -29
  311. package/lib/api/types/lr-graphql.types.d.ts +0 -385
  312. package/lib/auth/auth.config.d.ts +0 -5
  313. package/lib/auth/auth.gql.d.ts +0 -15
  314. package/lib/auth/auth.types.d.ts +0 -66
  315. package/lib/auth/idle.service.d.ts +0 -40
  316. package/lib/auth/idle.types.d.ts +0 -10
  317. package/lib/auth/lbop.service.d.ts +0 -91
  318. package/lib/auth/life-ready-auth.service.d.ts +0 -46
  319. package/lib/auth/password.service.d.ts +0 -78
  320. package/lib/auth/register.service.d.ts +0 -25
  321. package/lib/auth/two-factor.service.d.ts +0 -15
  322. package/lib/category/category-meta.service.d.ts +0 -23
  323. package/lib/category/category.gql.d.ts +0 -45
  324. package/lib/category/category.service.d.ts +0 -67
  325. package/lib/category/category.types.d.ts +0 -79
  326. package/lib/cryptography/cryptography.types.d.ts +0 -83
  327. package/lib/cryptography/encryption.service.d.ts +0 -41
  328. package/lib/cryptography/key-factory.service.d.ts +0 -38
  329. package/lib/cryptography/key-graph.service.d.ts +0 -33
  330. package/lib/cryptography/key-meta.service.d.ts +0 -44
  331. package/lib/cryptography/key.service.d.ts +0 -36
  332. package/lib/cryptography/slip39.service.d.ts +0 -43
  333. package/lib/cryptography/web-crypto.service.d.ts +0 -5
  334. package/lib/life-ready.config.d.ts +0 -14
  335. package/lib/life-ready.module.d.ts +0 -5
  336. package/lib/plan/plan.gql.d.ts +0 -11
  337. package/lib/plan/plan.service.d.ts +0 -33
  338. package/lib/plan/plan.types.d.ts +0 -31
  339. package/lib/record/record-attachment.service.d.ts +0 -16
  340. package/lib/record/record.gql.d.ts +0 -14
  341. package/lib/record/record.service.d.ts +0 -25
  342. package/lib/record/record.types.d.ts +0 -57
  343. package/lib/record-type/record-type.service.d.ts +0 -11
  344. package/lib/record-type/record-type.types.d.ts +0 -50
  345. package/lib/scenario/approvals/scenario-approval.gql.d.ts +0 -7
  346. package/lib/scenario/approvals/scenario-approval.types.d.ts +0 -63
  347. package/lib/scenario/approvals/scenario-approver.service.d.ts +0 -32
  348. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +0 -5
  349. package/lib/scenario/claimants/scenario-claimant.service.d.ts +0 -17
  350. package/lib/scenario/claimants/scenario-claimant.types.d.ts +0 -18
  351. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +0 -8
  352. package/lib/scenario/receivers/scenario-receiver.service.d.ts +0 -30
  353. package/lib/scenario/receivers/scenario-receiver.types.d.ts +0 -54
  354. package/lib/scenario/scenario-setup.service.d.ts +0 -22
  355. package/lib/scenario/scenario.gql.d.ts +0 -34
  356. package/lib/scenario/scenario.service.d.ts +0 -58
  357. package/lib/scenario/scenario.types.d.ts +0 -217
  358. package/lib/search/search.gql.d.ts +0 -1
  359. package/lib/search/search.service.d.ts +0 -25
  360. package/lib/search/search.types.d.ts +0 -20
  361. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +0 -20
  362. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +0 -41
  363. package/lib/trusted-parties/tp-password-reset.gql.d.ts +0 -218
  364. package/lib/trusted-parties/tp-password-reset.service.d.ts +0 -131
  365. package/lib/trusted-parties/trusted-party.gql.d.ts +0 -9
  366. package/lib/trusted-parties/trusted-party.service.d.ts +0 -44
  367. package/lib/trusted-parties/trusted-party.types.d.ts +0 -102
  368. package/lib/trusted-parties/trusted-party2.gql.d.ts +0 -79
  369. package/lib/trusted-parties/trusted-party2.service.d.ts +0 -114
  370. package/lib/users/profile-details.service.d.ts +0 -21
  371. package/lib/users/profile.gql.d.ts +0 -11
  372. package/lib/users/profile.service.d.ts +0 -35
  373. package/lib/users/profile.types.d.ts +0 -96
  374. package/lib/users/user.gql.d.ts +0 -9
  375. package/lib/users/user.service.d.ts +0 -12
  376. package/lib/users/user.types.d.ts +0 -23
  377. package/lifeready-core.d.ts +0 -9
  378. package/lifeready-core.metadata.json +0 -1
@@ -0,0 +1,369 @@
1
+ import { LrException } from './../_common/exceptions';
2
+ import { Injectable } from '@angular/core';
3
+ import { PreparedPermissions } from './../api/key-exchange.types';
4
+ import {
5
+ CreateScenarioApprovalGroups,
6
+ UpdateScenarioApprovalGroups,
7
+ } from './approvals/scenario-approval.types';
8
+ import { ScenarioApproverService } from './approvals/scenario-approver.service';
9
+ import { ScenarioClaimantService } from './claimants/scenario-claimant.service';
10
+ import { ScenarioReceiverService } from './receivers/scenario-receiver.service';
11
+ import {
12
+ Receiver,
13
+ UpdateScenarioReceiverItemInput,
14
+ } from './receivers/scenario-receiver.types';
15
+ import { ScenarioService } from './scenario.service';
16
+ import {
17
+ NewScenario,
18
+ UpdatedScenarioClaimant,
19
+ UpdatedScenarioReceiver,
20
+ UpdateScenario,
21
+ } from './scenario.types';
22
+
23
+ @Injectable({
24
+ providedIn: 'root',
25
+ })
26
+ export class ScenarioSetupService {
27
+ constructor(
28
+ private scenarioService: ScenarioService,
29
+ private scenarioClaimantService: ScenarioClaimantService,
30
+ private scenarioApproverService: ScenarioApproverService,
31
+ private scenarioReceiverService: ScenarioReceiverService
32
+ ) {}
33
+
34
+ public async setupScenario(
35
+ newScenario: NewScenario
36
+ ): Promise<{ scenarioId: string; error?: LrException }> {
37
+ const scenarioId = await this.scenarioService.createScenario({
38
+ plainSubjectCipherData: {
39
+ event: newScenario.event,
40
+ name: newScenario.name,
41
+ },
42
+ });
43
+
44
+ try {
45
+ await Promise.all(
46
+ newScenario.claimants.map((x) =>
47
+ this.updateClaimant(scenarioId, newScenario.event, x)
48
+ )
49
+ );
50
+
51
+ const scenario = await this.scenarioService.getScenario(scenarioId);
52
+ if (newScenario.approvalGroups.length) {
53
+ const approvalGroups: CreateScenarioApprovalGroups = {
54
+ scenarioId,
55
+ keyId: scenario.keyId,
56
+ event: scenario.event,
57
+ singleReject: false,
58
+ quorum: 1,
59
+ plainAssemblyCipherData: null,
60
+
61
+ approvalGroups: newScenario.approvalGroups.map((x) => ({
62
+ quorum: x.quorum,
63
+ singleReject: x.singleReject,
64
+ plainSubAssemblyCipherData: { name: x.name },
65
+ approvers: x.approvers.map((y) => ({
66
+ trustedPartyId: y.trustedPartyId,
67
+ trustedPartySharedKeyId: y.trustedPartySharedKeyId,
68
+ plainSharedCipherData: {
69
+ message: y.message,
70
+ event: newScenario.event,
71
+ },
72
+ })),
73
+ })),
74
+ };
75
+ scenario.assemblyKeyId = await this.scenarioApproverService.createScenarioApproverAssembly(
76
+ approvalGroups
77
+ );
78
+ }
79
+ await Promise.all(
80
+ newScenario.receivers.map((x) =>
81
+ this.updateReceiver(
82
+ scenarioId,
83
+ scenario.assemblyKeyId,
84
+ newScenario.event,
85
+ x
86
+ )
87
+ )
88
+ );
89
+ } catch (e) {
90
+ return { scenarioId, error: e };
91
+ }
92
+ return { scenarioId };
93
+ }
94
+
95
+ public async updateScenario(updateScenario: UpdateScenario): Promise<void> {
96
+ const params = {
97
+ scenarioId: updateScenario.scenarioId,
98
+ keyId: updateScenario.keyId,
99
+ plainSubjectCipherData: {
100
+ event: updateScenario.event,
101
+ name: updateScenario.name,
102
+ },
103
+ };
104
+ await this.scenarioService.updateScenario(params);
105
+
106
+ await Promise.all(
107
+ updateScenario.claimants.map((x) =>
108
+ this.updateClaimant(updateScenario.scenarioId, updateScenario.event, x)
109
+ )
110
+ );
111
+ await Promise.all(
112
+ updateScenario.deletedClaimantIds.map((x) =>
113
+ this.scenarioClaimantService.deleteClaimant(x)
114
+ )
115
+ );
116
+
117
+ const assemblyKeyId = await this.updateApprovalGroups(updateScenario);
118
+
119
+ await Promise.all(
120
+ updateScenario.receivers.map((x) =>
121
+ this.updateReceiver(
122
+ updateScenario.scenarioId,
123
+ assemblyKeyId,
124
+ updateScenario.event,
125
+ x
126
+ )
127
+ )
128
+ );
129
+ await Promise.all(
130
+ updateScenario.deletedReceiverIds.map((x) =>
131
+ this.scenarioReceiverService.deleteReceiver(x)
132
+ )
133
+ );
134
+ }
135
+
136
+ private async updateClaimant(
137
+ scenarioId: string,
138
+ event: string,
139
+ claimant: UpdatedScenarioClaimant
140
+ ) {
141
+ if (claimant.claimantId) {
142
+ await this.scenarioClaimantService.updateClaimant({
143
+ id: claimant.claimantId,
144
+ keyId: claimant.keyId,
145
+ plainSharedCipherData: { message: claimant.message, event },
146
+ });
147
+ } else {
148
+ await this.scenarioClaimantService.addClaimant({
149
+ scenarioId,
150
+ trustedPartyId: claimant.trustedPartyId,
151
+ trustedPartySharedKeyId: claimant.trustedPartySharedKeyId,
152
+ plainSharedCipherData: { message: claimant.message, event },
153
+ });
154
+ }
155
+ }
156
+
157
+ private async updateApprovalGroups(
158
+ updateScenario: UpdateScenario
159
+ ): Promise<string> {
160
+ if (updateScenario.assemblyKeyId) {
161
+ if (updateScenario.approvalGroups.length) {
162
+ const approvalGroups: UpdateScenarioApprovalGroups = {
163
+ scenarioId: updateScenario.scenarioId,
164
+ assemblyKeyId: updateScenario.assemblyKeyId,
165
+
166
+ singleReject: false,
167
+ quorum: 1,
168
+
169
+ approvalGroups: updateScenario.approvalGroups.map((x) => ({
170
+ subAssemblyId: x.subAssemblyId,
171
+ quorum: x.quorum,
172
+ singleReject: x.singleReject,
173
+ plainSubAssemblyCipherData: { name: x.name },
174
+ approvers: x.approvers.map((y) => ({
175
+ approverId: y.approverId,
176
+ keyId: y.keyId,
177
+ trustedPartyId: y.trustedPartyId,
178
+ trustedPartySharedKeyId: y.trustedPartySharedKeyId,
179
+ plainSharedCipherData: {
180
+ message: y.message,
181
+ event: updateScenario.event,
182
+ },
183
+ })),
184
+ deletedApproverIds: x.deletedApproverIds,
185
+ })),
186
+ deletedGroupIds: updateScenario.deletedGroupIds,
187
+ };
188
+ await this.scenarioApproverService.updateScenarioApproverAssembly(
189
+ approvalGroups
190
+ );
191
+ return updateScenario.assemblyKeyId;
192
+ } else {
193
+ const { receivers } = await this.scenarioService.getScenario(
194
+ updateScenario.scenarioId
195
+ );
196
+ await this.scenarioApproverService.deleteScenarioApproverAssembly(
197
+ updateScenario.scenarioId,
198
+ updateScenario.event,
199
+ receivers
200
+ );
201
+ return null;
202
+ }
203
+ // update or delete
204
+ } else if (updateScenario.approvalGroups.length) {
205
+ const { receivers } = await this.scenarioService.getScenario(
206
+ updateScenario.scenarioId
207
+ );
208
+
209
+ const approvalGroups: CreateScenarioApprovalGroups = {
210
+ scenarioId: updateScenario.scenarioId,
211
+ keyId: updateScenario.keyId,
212
+ event: updateScenario.event,
213
+ singleReject: false,
214
+ quorum: 1,
215
+ approvalGroups: updateScenario.approvalGroups.map((x) => ({
216
+ quorum: x.quorum,
217
+ singleReject: x.singleReject,
218
+ plainSubAssemblyCipherData: { name: x.name },
219
+ approvers: x.approvers.map((y) => ({
220
+ trustedPartyId: y.trustedPartyId,
221
+ trustedPartySharedKeyId: y.trustedPartySharedKeyId,
222
+ plainSharedCipherData: {
223
+ message: y.message,
224
+ event: updateScenario.event,
225
+ },
226
+ })),
227
+ })),
228
+ receivers,
229
+ };
230
+ return await this.scenarioApproverService.createScenarioApproverAssembly(
231
+ approvalGroups
232
+ );
233
+ }
234
+ return null;
235
+ }
236
+
237
+ private async updateReceiver(
238
+ scenarioId: string,
239
+ assemblyKeyId: string,
240
+ event: string,
241
+ receiver: UpdatedScenarioReceiver
242
+ ) {
243
+ let receiverId = receiver.receiverId;
244
+
245
+ // Currently deleting all receivers below assembly logic.
246
+ if (receiverId) {
247
+ await this.scenarioReceiverService.updateReceiver({
248
+ id: receiver.receiverId,
249
+ keyId: receiver.keyId,
250
+ plainSharedCipherData: { message: receiver.message, event },
251
+ });
252
+ } else {
253
+ const newReceiver = {
254
+ scenarioId,
255
+ trustedPartyId: receiver.trustedPartyId,
256
+ trustedPartySharedKeyId: receiver.trustedPartySharedKeyId,
257
+ plainSharedCipherData: { message: receiver.message, event },
258
+ };
259
+ receiverId = await this.scenarioReceiverService.addReceiver(newReceiver);
260
+ }
261
+ const loadedReceiver = await this.scenarioReceiverService.getReceiver(
262
+ receiverId
263
+ );
264
+ await this.updateReceiverItems(
265
+ scenarioId,
266
+ assemblyKeyId,
267
+ loadedReceiver,
268
+ receiver.permissions
269
+ );
270
+ }
271
+
272
+ private async updateReceiverItems(
273
+ scenarioId: string,
274
+ assemblyKeyId: string,
275
+ receiver: Receiver,
276
+ permissions: PreparedPermissions
277
+ ) {
278
+ permissions = permissions || {};
279
+ permissions.categories = permissions.categories || [];
280
+ permissions.records = permissions.records || [];
281
+
282
+ await Promise.all(
283
+ permissions.categories
284
+ .filter(
285
+ (x) =>
286
+ !receiver.categories.some((y) => y.category.id === x.categoryId)
287
+ )
288
+ .map(async (x) => {
289
+ const params = {
290
+ scenarioId,
291
+ assemblyKeyId,
292
+ receiverId: receiver.id,
293
+ receiverKeyId: receiver.keyId,
294
+ accessRole: x.accessLevel,
295
+ categoryId: x.categoryId,
296
+ };
297
+ await this.scenarioReceiverService.addReceiverCategory(params);
298
+ })
299
+ );
300
+ await Promise.all(
301
+ permissions.records
302
+ .filter(
303
+ (x) => !receiver.records.some((y) => y.record.id === x.recordId)
304
+ )
305
+ .map(async (x) => {
306
+ const params = {
307
+ scenarioId,
308
+ assemblyKeyId,
309
+ receiverId: receiver.id,
310
+ receiverKeyId: receiver.keyId,
311
+ accessRole: x.accessLevel,
312
+ recordId: x.recordId,
313
+ };
314
+ await this.scenarioReceiverService.addReceiverRecord(params);
315
+ })
316
+ );
317
+
318
+ await Promise.all(
319
+ permissions.categories
320
+ .map((x) => ({
321
+ accessLevel: x.accessLevel,
322
+ category: receiver.categories.find(
323
+ (y) => y.category.id === x.categoryId
324
+ ),
325
+ }))
326
+ .filter((x) => x.category)
327
+ .map(async (x) => {
328
+ const params: UpdateScenarioReceiverItemInput = {
329
+ id: x.category.id,
330
+ keyId: x.category.keyId,
331
+ accessRole: x.accessLevel,
332
+ };
333
+ await this.scenarioReceiverService.updateReceiverItem(params);
334
+ })
335
+ );
336
+ await Promise.all(
337
+ permissions.records
338
+ .map((x) => ({
339
+ accessLevel: x.accessLevel,
340
+ record: receiver.records.find((y) => y.record.id === x.recordId),
341
+ }))
342
+ .filter((x) => x.record)
343
+ .map(async (x) => {
344
+ const params: UpdateScenarioReceiverItemInput = {
345
+ id: x.record.id,
346
+ keyId: x.record.keyId,
347
+ accessRole: x.accessLevel,
348
+ };
349
+ await this.scenarioReceiverService.updateReceiverItem(params);
350
+ })
351
+ );
352
+
353
+ await Promise.all(
354
+ receiver.categories
355
+ .filter(
356
+ (x) =>
357
+ !permissions.categories.some((y) => y.categoryId === x.category.id)
358
+ )
359
+ .map((x) => this.scenarioReceiverService.deleteReceiverItem(x.id))
360
+ );
361
+ await Promise.all(
362
+ receiver.records
363
+ .filter(
364
+ (x) => !permissions.records.some((y) => y.recordId === x.record.id)
365
+ )
366
+ .map((x) => this.scenarioReceiverService.deleteReceiverItem(x.id))
367
+ );
368
+ }
369
+ }