@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,157 @@
1
+ import gql from 'graphql-tag';
2
+ import { KeyGraphField } from '../../_common/queries.gql';
3
+ import { TrustedPartyProperties } from '../../trusted-parties/trusted-party.gql';
4
+ import { CategoryFields, AccessFields } from '../../category/category.gql';
5
+
6
+ export const ReceiverFields = `
7
+ id
8
+ tp {
9
+ ${TrustedPartyProperties}
10
+ }
11
+ pbk {
12
+ id
13
+ }
14
+ sharedKey {
15
+ id
16
+ }
17
+ sharedCipherData
18
+ categories: receiverDirectories(plainMeta: $categoryFilter, orderBy: "created") {
19
+ edges {
20
+ node {
21
+ id
22
+ sharedKey {
23
+ id
24
+ }
25
+ sharedCipherData
26
+ accessRole
27
+ wrappedItemKey
28
+ directory {
29
+ ${CategoryFields}
30
+ }
31
+ }
32
+ }
33
+ }
34
+ records: receiverDirectories(plainMeta: $recordFilter, orderBy: "created") {
35
+ edges {
36
+ node {
37
+ id
38
+ sharedKey {
39
+ id
40
+ }
41
+ sharedCipherData
42
+ accessRole
43
+ wrappedItemKey
44
+ directory {
45
+ id
46
+ keyId
47
+ archived
48
+ plainMeta
49
+ cipherMeta
50
+ created
51
+ modified
52
+ ${AccessFields}
53
+ content: childFileLinks(plainMeta: $contentFilter) {
54
+ edges {
55
+ node {
56
+ childFile {
57
+ id
58
+ archived
59
+ currentVersion {
60
+ state {
61
+ keyId
62
+ plainMeta
63
+ cipherMeta
64
+ created
65
+ modified
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+ `;
77
+
78
+ export const GetScenarioReceiverQuery = gql`
79
+ query GetScenarioReceiverQuery(
80
+ $id: LrRelayIdInput!,
81
+ $categoryFilter: LrJSONFilter!,
82
+ $recordFilter: LrJSONFilter!,
83
+ $contentFilter: LrJSONFilter
84
+ ) {
85
+ scenarioReceiver(id: $id) {
86
+ ${ReceiverFields}
87
+ }
88
+ ${KeyGraphField}
89
+ } `;
90
+
91
+ export const CreateScenarioReceiverMutation = gql`
92
+ mutation CreateScenarioReceiverMutation(
93
+ $input: CreateScenarioReceiverInput!
94
+ ) {
95
+ createScenarioReceiver(input: $input) {
96
+ receiver {
97
+ id
98
+ }
99
+ }
100
+ }
101
+ `;
102
+
103
+ export const UpdateScenarioReceiverMutation = gql`
104
+ mutation UpdateScenarioReceiverMutation(
105
+ $input: UpdateScenarioReceiverInput!
106
+ ) {
107
+ updateScenarioReceiver(input: $input) {
108
+ receiver {
109
+ id
110
+ }
111
+ }
112
+ }
113
+ `;
114
+
115
+ export const DeleteScenarioReceiverMutation = gql`
116
+ mutation DeleteScenarioReceiverMutation(
117
+ $input: DeleteScenarioReceiverInput!
118
+ ) {
119
+ deleteScenarioReceiver(input: $input) {
120
+ id
121
+ }
122
+ }
123
+ `;
124
+
125
+ export const AddScenarioReceiverDirectoryMutation = gql`
126
+ mutation AddScenarioReceiverDirectoryMutation(
127
+ $input: AddScenarioReceiverDirectoryInput!
128
+ ) {
129
+ addScenarioReceiverDirectory(input: $input) {
130
+ receiverDirectory {
131
+ id
132
+ }
133
+ }
134
+ }
135
+ `;
136
+
137
+ export const UpdateScenarioReceiverDirectoryMutation = gql`
138
+ mutation UpdateScenarioReceiverDirectoryMutation(
139
+ $input: UpdateScenarioReceiverDirectoryInput!
140
+ ) {
141
+ updateScenarioReceiverDirectory(input: $input) {
142
+ receiverDirectory {
143
+ id
144
+ }
145
+ }
146
+ }
147
+ `;
148
+
149
+ export const DeleteScenarioReceiverDirectoryMutation = gql`
150
+ mutation DeleteScenarioReceiverDirectoryMutation(
151
+ $input: DeleteScenarioReceiverDirectoryInput!
152
+ ) {
153
+ deleteScenarioReceiverDirectory(input: $input) {
154
+ id
155
+ }
156
+ }
157
+ `;
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+ import { ScenarioReceiverService } from './scenario-receiver.service';
3
+ import { lrConfigureTestingModule, lrit } from '../../_common/tests';
4
+
5
+ describe('ScenarioReceiverService', () => {
6
+ let service: ScenarioReceiverService;
7
+
8
+ beforeEach(() => {
9
+ lrConfigureTestingModule();
10
+ service = TestBed.inject(ScenarioReceiverService);
11
+ });
12
+
13
+ lrit('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,278 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LrApolloService } from '../../api/lr-apollo.service';
3
+ import { CategoryFilter, RecordFilter } from '../../category/category.gql';
4
+ import { CategoryService } from '../../category/category.service';
5
+ import { KeyGraphService } from '../../cryptography/key-graph.service';
6
+ import { KeyMetaService } from '../../cryptography/key-meta.service';
7
+ import { RecordContentFilter } from '../../record/record.gql';
8
+ import { RecordService } from '../../record/record.service';
9
+ import { TrustedPartyService } from '../../trusted-parties/trusted-party.service';
10
+ import { HasEdges } from '../../_common/types';
11
+ import {
12
+ AddScenarioReceiverDirectoryMutation,
13
+ CreateScenarioReceiverMutation,
14
+ DeleteScenarioReceiverDirectoryMutation,
15
+ DeleteScenarioReceiverMutation,
16
+ GetScenarioReceiverQuery,
17
+ UpdateScenarioReceiverDirectoryMutation,
18
+ UpdateScenarioReceiverMutation,
19
+ } from './scenario-receiver.gql';
20
+ import {
21
+ AddScenarioReceiverCategoryInput,
22
+ AddScenarioReceiverItemInput,
23
+ AddScenarioReceiverRecordInput,
24
+ AddScenarioReceiver,
25
+ Receiver,
26
+ ReceiverCategory,
27
+ ReceiverRecord,
28
+ UpdateScenarioReceiver,
29
+ UpdateScenarioReceiverItemInput,
30
+ } from './scenario-receiver.types';
31
+
32
+ @Injectable({
33
+ providedIn: 'root',
34
+ })
35
+ export class ScenarioReceiverService {
36
+ constructor(
37
+ private lrApollo: LrApolloService,
38
+ private keyGraph: KeyGraphService,
39
+ private keyMetaService: KeyMetaService,
40
+ private tpService: TrustedPartyService,
41
+ private categoryService: CategoryService,
42
+ private recordService: RecordService
43
+ ) {}
44
+
45
+ public async getReceiver(receiverId: string): Promise<Receiver> {
46
+ const { scenarioReceiver } = await this.lrApollo.query<any>({
47
+ query: GetScenarioReceiverQuery,
48
+ variables: {
49
+ id: receiverId,
50
+ categoryFilter: CategoryFilter,
51
+ recordFilter: RecordFilter,
52
+ contentFilter: RecordContentFilter,
53
+ },
54
+ });
55
+ return this.mapReceiver(scenarioReceiver);
56
+ }
57
+
58
+ public async mapReceiver(receiver: any): Promise<Receiver> {
59
+ const { message } = await this.keyGraph.decryptFromString<{
60
+ message: string;
61
+ }>(receiver.sharedKey.id, receiver.sharedCipherData);
62
+ return {
63
+ id: receiver.id,
64
+ keyId: receiver.sharedKey.id,
65
+ trustedParty: await this.tpService.mapTrustedParty(receiver.tp),
66
+ message,
67
+ categories: await this.mapCategories(receiver.categories),
68
+ records: await this.mapRecords(receiver.records),
69
+ };
70
+ }
71
+
72
+ private async mapCategories(list: HasEdges<any>) {
73
+ return (
74
+ await Promise.all<ReceiverCategory>(
75
+ list.edges
76
+ .map((x) => x.node)
77
+ .map((x) => x.childDirectory || x)
78
+ .map((node: any) => this.mapReceiverCategory(node))
79
+ )
80
+ )
81
+ .filter((x) => x)
82
+ .sort((x, y) =>
83
+ x.category.name === y.category.name
84
+ ? 0
85
+ : x.category.name > y.category.name
86
+ ? 1
87
+ : -1
88
+ );
89
+ }
90
+
91
+ private async mapRecords(list: HasEdges<any>) {
92
+ return (
93
+ await Promise.all<ReceiverRecord>(
94
+ list.edges
95
+ .map((x) => x.node)
96
+ .map((x) => x.childDirectory || x)
97
+ .map((node: any) => this.mapReceiverRecord(node))
98
+ )
99
+ )
100
+ .filter((x) => x)
101
+ .sort((x, y) =>
102
+ x.record.name === y.record.name
103
+ ? 0
104
+ : x.record.name > y.record.name
105
+ ? 1
106
+ : -1
107
+ );
108
+ }
109
+
110
+ private async mapReceiverCategory(
111
+ receiverDirectory: any
112
+ ): Promise<ReceiverCategory> {
113
+ return {
114
+ id: receiverDirectory.id,
115
+ keyId: receiverDirectory.sharedKey.id,
116
+ accessLevel: receiverDirectory.accessRole,
117
+ category: await this.categoryService.mapCategory(
118
+ receiverDirectory.directory
119
+ ),
120
+ };
121
+ }
122
+
123
+ private async mapReceiverRecord(
124
+ receiverDirectory: any
125
+ ): Promise<ReceiverRecord> {
126
+ return {
127
+ id: receiverDirectory.id,
128
+ keyId: receiverDirectory.sharedKey.id,
129
+ accessLevel: receiverDirectory.accessRole,
130
+ record: await this.categoryService.mapRecord(receiverDirectory.directory),
131
+ };
132
+ }
133
+
134
+ public async addReceiver(receiver: AddScenarioReceiver): Promise<string> {
135
+ const wrappedContent = await this.keyMetaService.wrapContentWithKey(
136
+ receiver.plainSharedCipherData,
137
+ receiver.trustedPartySharedKeyId
138
+ );
139
+
140
+ const { createScenarioReceiver } = await this.lrApollo.mutate<any>({
141
+ mutation: CreateScenarioReceiverMutation,
142
+ variables: {
143
+ input: {
144
+ scenarioId: receiver.scenarioId,
145
+ tpId: receiver.trustedPartyId,
146
+ tpSharedKeyId: receiver.trustedPartySharedKeyId,
147
+ tpSharedKeyWrappedSharedKey: wrappedContent.rootKey.wrappedKey,
148
+ sharedCipherData: wrappedContent.cipherMeta,
149
+ },
150
+ },
151
+ });
152
+ return createScenarioReceiver.receiver.id;
153
+ }
154
+
155
+ public async updateReceiver(receiver: UpdateScenarioReceiver): Promise<void> {
156
+ const sharedCipherData = await this.keyGraph.encryptToString(
157
+ receiver.keyId,
158
+ receiver.plainSharedCipherData
159
+ );
160
+
161
+ await this.lrApollo.mutate<any>({
162
+ mutation: UpdateScenarioReceiverMutation,
163
+ variables: {
164
+ input: {
165
+ receiverId: receiver.id,
166
+ sharedKeyId: receiver.keyId,
167
+ sharedCipherData,
168
+ },
169
+ },
170
+ });
171
+ }
172
+
173
+ public async deleteReceiver(receiverId: string): Promise<void> {
174
+ await this.lrApollo.mutate<any>({
175
+ mutation: DeleteScenarioReceiverMutation,
176
+ variables: { input: { receiverId } },
177
+ });
178
+ }
179
+
180
+ public async addReceiverCategory(
181
+ input: AddScenarioReceiverCategoryInput
182
+ ): Promise<string> {
183
+ const category = await this.categoryService.getCategory(input.categoryId);
184
+
185
+ const res = await this.lrApollo.mutate<any>({
186
+ mutation: AddScenarioReceiverDirectoryMutation,
187
+ variables: {
188
+ input: {
189
+ ...(await this.addReceiverItem(input, category.category.keyId)),
190
+ directoryId: category.category.id,
191
+ },
192
+ },
193
+ });
194
+
195
+ return res.addScenarioReceiverDirectory.receiverDirectory.id;
196
+ }
197
+
198
+ public async addReceiverRecord(
199
+ input: AddScenarioReceiverRecordInput
200
+ ): Promise<string> {
201
+ const record = await this.recordService.getRecord(input.recordId);
202
+
203
+ const { addScenarioReceiverDirectory } = await this.lrApollo.mutate<any>({
204
+ mutation: AddScenarioReceiverDirectoryMutation,
205
+ variables: {
206
+ input: {
207
+ ...(await this.addReceiverItem(input, record.keyId)),
208
+ directoryId: record.id,
209
+ },
210
+ },
211
+ });
212
+ return addScenarioReceiverDirectory.receiverDirectory.id;
213
+ }
214
+
215
+ private async addReceiverItem(
216
+ input: AddScenarioReceiverItemInput,
217
+ itemKeyId: string
218
+ ): Promise<any> {
219
+ const sharedCipherData = input.plainSharedCipherData
220
+ ? await this.keyGraph.encryptToString(
221
+ input.receiverKeyId,
222
+ input.plainSharedCipherData
223
+ )
224
+ : '';
225
+
226
+ const itemKey = await this.keyGraph.getKey(itemKeyId);
227
+ let wrappedItemKey = await this.keyGraph.encryptToString(
228
+ input.receiverKeyId,
229
+ itemKey.jwk.toJSON(true)
230
+ );
231
+
232
+ if (input.assemblyKeyId) {
233
+ wrappedItemKey = await this.keyGraph.encryptToString(
234
+ input.assemblyKeyId,
235
+ wrappedItemKey
236
+ );
237
+ }
238
+
239
+ return {
240
+ receiverId: input.receiverId,
241
+ sharedKeyId: input.receiverKeyId,
242
+ assemblyKeyId: input.assemblyKeyId,
243
+ wrappedItemKey,
244
+ accessRole: input.accessRole,
245
+ sharedCipherData,
246
+ };
247
+ }
248
+
249
+ public async updateReceiverItem(
250
+ input: UpdateScenarioReceiverItemInput
251
+ ): Promise<void> {
252
+ const sharedCipherData = input.plainSharedCipherData
253
+ ? await this.keyGraph.encryptToString(
254
+ input.keyId,
255
+ input.plainSharedCipherData
256
+ )
257
+ : '';
258
+
259
+ await this.lrApollo.mutate<any>({
260
+ mutation: UpdateScenarioReceiverDirectoryMutation,
261
+ variables: {
262
+ input: {
263
+ receiverDirectoryId: input.id,
264
+ sharedKeyId: input.keyId,
265
+ accessRole: input.accessRole,
266
+ sharedCipherData,
267
+ },
268
+ },
269
+ });
270
+ }
271
+
272
+ public async deleteReceiverItem(receiverCategoryId: string): Promise<void> {
273
+ await this.lrApollo.mutate<any>({
274
+ mutation: DeleteScenarioReceiverDirectoryMutation,
275
+ variables: { input: { receiverDirectoryId: receiverCategoryId } },
276
+ });
277
+ }
278
+ }
@@ -0,0 +1,66 @@
1
+ import { AccessLevel } from './../../category/category.types';
2
+ import { TrustedParty } from '../../trusted-parties/trusted-party.types';
3
+ import { Category, VaultRecord } from '../../category/category.types';
4
+
5
+ export interface Receiver {
6
+ id: string;
7
+ keyId: string;
8
+ trustedParty: TrustedParty;
9
+ message?: string;
10
+
11
+ categories: ReceiverCategory[];
12
+ records?: ReceiverRecord[];
13
+ }
14
+
15
+ export interface ReceiverCategory {
16
+ id: string;
17
+ keyId: string;
18
+ accessLevel: AccessLevel;
19
+ category: Category;
20
+ }
21
+
22
+ export interface ReceiverRecord {
23
+ id: string;
24
+ keyId: string;
25
+ accessLevel: AccessLevel;
26
+ record: VaultRecord;
27
+ }
28
+
29
+ export interface AddScenarioReceiver {
30
+ scenarioId: string;
31
+ trustedPartyId: string;
32
+ trustedPartySharedKeyId: string;
33
+ plainSharedCipherData: object;
34
+ }
35
+
36
+ export interface UpdateScenarioReceiver {
37
+ id: string;
38
+ keyId: string;
39
+ plainSharedCipherData: object;
40
+ }
41
+
42
+ export interface AddScenarioReceiverItemInput {
43
+ scenarioId: string;
44
+ assemblyKeyId?: string;
45
+ receiverId: string;
46
+ receiverKeyId: string;
47
+ accessRole: AccessLevel;
48
+ plainSharedCipherData?: string;
49
+ }
50
+
51
+ export interface AddScenarioReceiverCategoryInput
52
+ extends AddScenarioReceiverItemInput {
53
+ categoryId: string;
54
+ }
55
+
56
+ export interface AddScenarioReceiverRecordInput
57
+ extends AddScenarioReceiverItemInput {
58
+ recordId: string;
59
+ }
60
+
61
+ export interface UpdateScenarioReceiverItemInput {
62
+ id: string;
63
+ keyId: string;
64
+ accessRole: AccessLevel;
65
+ plainSharedCipherData?: string;
66
+ }
@@ -0,0 +1,22 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+ import { ScenarioSetupService } from './scenario-setup.service';
3
+ import { ScenarioService } from './scenario.service';
4
+ import { lrConfigureTestingModule, lrit } from '../_common/tests';
5
+
6
+ const scenarioService = jasmine.createSpyObj<ScenarioService>(
7
+ 'ScenarioService',
8
+ ['getMyScenarios']
9
+ );
10
+
11
+ describe('ScenarioSetupService', () => {
12
+ let service: ScenarioSetupService;
13
+
14
+ beforeEach(() => {
15
+ lrConfigureTestingModule();
16
+ service = TestBed.inject(ScenarioSetupService);
17
+ });
18
+
19
+ lrit('should be created', () => {
20
+ expect(service).toBeTruthy();
21
+ });
22
+ });