@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,272 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { min } from 'moment';
3
- import { JWK } from 'node-jose';
4
- import { Item2Service } from '../api/item2.service';
5
- import { LrGraphQLService, LrMutation } from '../api/lr-graphql';
6
- import { AccessRoleChoice, LrRelayIdInput } from '../api/types';
7
- import { Key } from '../cryptography/cryptography.types';
8
- import { EncryptionService } from '../cryptography/encryption.service';
9
- import { KeyFactoryService } from '../cryptography/key-factory.service';
10
- import { KeyGraphService } from '../cryptography/key-graph.service';
11
- import { KeyService } from '../cryptography/key.service';
12
- import { LrBadStateException } from '../_common/exceptions';
13
- import { RunOutsideAngular } from '../_common/run-outside-angular';
14
- import {
15
- CompleteTpMkReshareMutation,
16
- DeleteTpMutation,
17
- RequestTpMkReshareMutation,
18
- RespondTpMkReshareMutation,
19
- ShareDirectoryMutation,
20
- ShareFileMutation,
21
- TpCurrentUserSharedKeyQuery,
22
- UnshareDirectoryMutation,
23
- UnshareFileMutation,
24
- } from './trusted-party2.gql';
25
-
26
- // If xxxKeyId not given, then fetch them with API calls
27
- export interface ShareItemOptions {
28
- itemId: LrRelayIdInput;
29
- itemKeyId?: LrRelayIdInput;
30
- tpId: LrRelayIdInput;
31
- tpSharedKeyId?: LrRelayIdInput;
32
- accessRole: AccessRoleChoice;
33
- }
34
-
35
- export interface UnshareItemOptions {
36
- itemId: string;
37
- tpId: string;
38
- }
39
-
40
- @RunOutsideAngular({
41
- ngZoneName: 'ngZone',
42
- })
43
- @Injectable({
44
- providedIn: 'root',
45
- })
46
- export class TrustedParty2Service {
47
- constructor(
48
- private ngZone: NgZone,
49
- private keyGraph: KeyGraphService,
50
- private lrGraphQL: LrGraphQLService,
51
- private item2Service: Item2Service,
52
- private keyService: KeyService,
53
- private keyFactory: KeyFactoryService,
54
- private encryptionService: EncryptionService
55
- ) {}
56
-
57
- // TODO: deprecate this
58
- public deleteTp(tpId: LrRelayIdInput) {
59
- return this.deleteTpMutation(tpId);
60
- }
61
-
62
- public deleteTpMutation(tpId: LrRelayIdInput) {
63
- return new LrMutation({
64
- mutation: DeleteTpMutation,
65
- variables: {
66
- input: {
67
- id: tpId,
68
- },
69
- },
70
- });
71
- }
72
-
73
- async getTpCurrentUserSharedKey(tpId: LrRelayIdInput) {
74
- return (
75
- await this.lrGraphQL.query({
76
- query: TpCurrentUserSharedKeyQuery,
77
- variables: {
78
- id: tpId,
79
- },
80
- })
81
- ).tp.currentUserSharedKey.userSharedKey;
82
- }
83
-
84
- async shareDirectory(options: ShareItemOptions) {
85
- return this.shareItem({ ...options, isDirectory: true });
86
- }
87
-
88
- async shareFile(options: ShareItemOptions) {
89
- return this.shareItem({ ...options, isDirectory: false });
90
- }
91
-
92
- private async shareItem({
93
- itemId,
94
- itemKeyId,
95
- tpId,
96
- tpSharedKeyId,
97
- accessRole,
98
- isDirectory,
99
- }: ShareItemOptions & {
100
- isDirectory: boolean;
101
- }) {
102
- const itemKey = await this.keyGraph.getKey(itemKeyId, () =>
103
- isDirectory
104
- ? this.item2Service.getDirectoryKeyId(itemId)
105
- : this.item2Service.getFileKeyId(itemId)
106
- );
107
- const wrappingKey = await this.keyGraph.getKey(tpSharedKeyId, () =>
108
- this.getTpCurrentUserSharedKey(tpId).then((res) => res.sharedKey.id)
109
- );
110
- const wrappedKey = await this.keyGraph.wrapKey(wrappingKey, itemKey.jwk);
111
-
112
- return new LrMutation({
113
- mutation: isDirectory ? ShareDirectoryMutation : ShareFileMutation,
114
- variables: {
115
- input: {
116
- id: itemId,
117
- tpId,
118
- accessRole,
119
- keyId: itemKey.id,
120
- wrappingKeyId: wrappingKey.id,
121
- wrappedKey,
122
- },
123
- },
124
- });
125
- }
126
-
127
- async unshareDirectory(options: UnshareItemOptions) {
128
- return this.unshareItem({ ...options, isDirectory: true });
129
- }
130
-
131
- async unshareFile(options: UnshareItemOptions) {
132
- return this.unshareItem({ ...options, isDirectory: false });
133
- }
134
-
135
- private async unshareItem({
136
- itemId,
137
- tpId,
138
- isDirectory,
139
- }: UnshareItemOptions & { isDirectory: boolean }) {
140
- return new LrMutation({
141
- mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
142
- variables: {
143
- input: {
144
- id: itemId,
145
- tpId,
146
- },
147
- },
148
- });
149
- }
150
-
151
- public async requestMkReshare(tpId: LrRelayIdInput) {
152
- const userSharedKey = await this.getTpCurrentUserSharedKey(tpId);
153
-
154
- if (userSharedKey.mkSharedKey) {
155
- throw new LrBadStateException('TP already has mkSharedKey');
156
- }
157
-
158
- const masterKey = await this.keyService.getCurrentMasterKey();
159
- const prk = await this.keyFactory.createPkcKey();
160
- const mkWrappedMkPrk = await this.encryptionService.encryptToString(
161
- masterKey.jwk,
162
- prk.toJSON(true)
163
- );
164
-
165
- const sharedKey = await this.keyGraph.getKey(userSharedKey.sharedKey.id);
166
- const mkReshareRequestCipher = await this.encryptionService.encryptToString(
167
- sharedKey.jwk,
168
- {
169
- pbk: prk.toJSON(),
170
- }
171
- );
172
-
173
- return await new LrMutation({
174
- mutation: RequestTpMkReshareMutation,
175
- variables: {
176
- input: {
177
- tpId,
178
- masterKeyId: masterKey.id,
179
- mkPbk: JSON.stringify(prk.toJSON()),
180
- mkWrappedMkPrk,
181
- sharedKeyId: sharedKey.id,
182
- mkReshareRequestCipher,
183
- },
184
- },
185
- });
186
- }
187
-
188
- public async respondMkReshare(tpId: LrRelayIdInput) {
189
- const userSharedKey = await this.getTpCurrentUserSharedKey(tpId);
190
-
191
- if (!userSharedKey.mkSharedKey) {
192
- throw new LrBadStateException(
193
- 'No access to the mkSharedKey so cannot reshare it with TP'
194
- );
195
- }
196
-
197
- const sharedKey = await this.keyGraph.getKey(userSharedKey.sharedKey.id);
198
- const plainMkReshareRequestCipher = await this.encryptionService.decrypt(
199
- sharedKey,
200
- userSharedKey.mkReshareRequestCipher
201
- );
202
- const pbk = await JWK.asKey(plainMkReshareRequestCipher.pbk);
203
- const mkSharedKey = await this.keyGraph.getKey(
204
- userSharedKey.mkSharedKey.id
205
- );
206
-
207
- const plainMkReshareResponseCipher = {
208
- mkSharedKey: {
209
- id: mkSharedKey.id,
210
- jwk: mkSharedKey.jwk.toJSON(true),
211
- },
212
- };
213
-
214
- // Wrap with sharedKey then again with Pbk
215
- const mkReshareResponseCipher = await this.encryptionService.encryptToString(
216
- pbk,
217
- await this.encryptionService.encryptToString(
218
- sharedKey.jwk,
219
- plainMkReshareResponseCipher
220
- )
221
- );
222
-
223
- return new LrMutation({
224
- mutation: RespondTpMkReshareMutation,
225
- variables: {
226
- input: {
227
- tpId,
228
- mkSharedKeyId: mkSharedKey.id,
229
- mkReshareResponseCipher,
230
- },
231
- },
232
- });
233
- }
234
-
235
- public async completeMkReshare(tpId: LrRelayIdInput) {
236
- const userSharedKey = await this.getTpCurrentUserSharedKey(tpId);
237
-
238
- const sharedKey = await this.keyGraph.getKey(userSharedKey.sharedKey.id);
239
- const prk = await this.keyGraph.getKey(userSharedKey.mkPxk.id);
240
- const plainMkReshareResponseCipher = await this.encryptionService.decrypt(
241
- sharedKey,
242
- await this.encryptionService.decrypt(
243
- prk,
244
- userSharedKey.mkReshareResponseCipher
245
- )
246
- );
247
-
248
- // Double check it's a valid key.
249
- const mkSharedKey: Key = {
250
- id: plainMkReshareResponseCipher.mkSharedKey.id,
251
- jwk: await JWK.asKey(plainMkReshareResponseCipher.mkSharedKey.jwk),
252
- };
253
-
254
- const masterKey = await this.keyService.getCurrentMasterKey();
255
- const mkWrappedMkSharedKey = await this.encryptionService.encryptToString(
256
- masterKey.jwk,
257
- mkSharedKey.jwk.toJSON(true)
258
- );
259
-
260
- return new LrMutation({
261
- mutation: CompleteTpMkReshareMutation,
262
- variables: {
263
- input: {
264
- tpId,
265
- masterKeyId: masterKey.id,
266
- mkSharedKeyId: mkSharedKey.id,
267
- mkWrappedMkSharedKey,
268
- },
269
- },
270
- });
271
- }
272
- }
@@ -1,45 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { SharedContactCardService } from '../api/shared-contact-card.service';
3
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
4
- import { TrustedPartyService } from '../trusted-parties/trusted-party.service';
5
- import { ProfileDetailsService } from './profile-details.service';
6
- import { ProfileService } from './profile.service';
7
-
8
- const profileService = jasmine.createSpyObj<ProfileService>('ProfileService', [
9
- 'getCurrentUser',
10
- ]);
11
- const authService = jasmine.createSpyObj<LifeReadyAuthService>(
12
- 'LifeReadyAuthService',
13
- ['getUser']
14
- );
15
- const trustedPartyService = jasmine.createSpyObj<TrustedPartyService>(
16
- 'TrustedPartyService',
17
- ['getTrustedParties']
18
- );
19
- const sharedContactCardService = jasmine.createSpyObj<SharedContactCardService>(
20
- 'SharedContactCardService',
21
- ['updateMySharedContactCard']
22
- );
23
-
24
- describe('ProfileDetailsService', () => {
25
- let service: ProfileDetailsService;
26
-
27
- beforeEach(() => {
28
- TestBed.configureTestingModule({
29
- providers: [
30
- { provide: ProfileService, useValue: profileService },
31
- { provide: LifeReadyAuthService, useValue: authService },
32
- { provide: TrustedPartyService, useValue: trustedPartyService },
33
- {
34
- provide: SharedContactCardService,
35
- useValue: sharedContactCardService,
36
- },
37
- ],
38
- });
39
- service = TestBed.inject(ProfileDetailsService);
40
- });
41
-
42
- it('should be created', () => {
43
- expect(service).toBeTruthy();
44
- });
45
- });
@@ -1,278 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { SharedContactCardService } from '../api/shared-contact-card.service';
3
- import { CurrentUser } from '../auth/auth.types';
4
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
5
- import { TrustedPartyService } from '../trusted-parties/trusted-party.service';
6
- import { SharedTrustedPartyDetails } from '../trusted-parties/trusted-party.types';
7
- import { ProfileService } from './profile.service';
8
- import {
9
- MainContactCardFields,
10
- MainContactCardProperty,
11
- TrustedPartyDetails,
12
- } from './profile.types';
13
- import _ from 'lodash';
14
-
15
- enum ContactFields {
16
- Name = 'name',
17
- Email = 'email',
18
- Image = 'image',
19
- Phone = 'phone',
20
- Address = 'address',
21
- }
22
-
23
- const FieldNames = [
24
- ContactFields.Name,
25
- ContactFields.Email,
26
- ContactFields.Image,
27
- ContactFields.Phone,
28
- ContactFields.Address,
29
- ];
30
-
31
- class FieldChange {
32
- field: string;
33
- id: string;
34
- label: string;
35
- oldValue?: any;
36
- newValue?: any;
37
- }
38
-
39
- @Injectable({
40
- providedIn: 'root',
41
- })
42
- export class ProfileDetailsService {
43
- constructor(
44
- private sharedContactCardService: SharedContactCardService,
45
- private trustedPartyService: TrustedPartyService,
46
- private profileService: ProfileService,
47
- private authService: LifeReadyAuthService
48
- ) {}
49
-
50
- public async updateDetails(
51
- fields: MainContactCardFields
52
- ): Promise<CurrentUser> {
53
- const user = await this.authService.getUser();
54
- await this.profileService.updateDetails(
55
- user.contactCard.id,
56
- user.contactCard.keyId,
57
- fields
58
- );
59
- await this.synchronizeContactCards(fields, user.contactCard);
60
- return await this.authService.getUser(true);
61
- }
62
-
63
- private async synchronizeContactCards(
64
- newFields: MainContactCardFields,
65
- oldFields: MainContactCardFields
66
- ): Promise<void> {
67
- if (!oldFields) return;
68
-
69
- const changes = this.getChanges(newFields, oldFields);
70
-
71
- if (changes.length === 0) return;
72
-
73
- const trustedParties = await this.trustedPartyService.getTrustedParties();
74
-
75
- if (trustedParties.length === 0) return;
76
-
77
- for (const details of trustedParties.map((x) => x.mySharedDetails)) {
78
- await this.synchronizeSharedContactCard(details, changes);
79
- }
80
- }
81
-
82
- private getChanges(
83
- newFields: MainContactCardFields,
84
- oldFields: MainContactCardFields
85
- ): FieldChange[] {
86
- const changes: FieldChange[] = [];
87
-
88
- for (const field of FieldNames) {
89
- const oldField = oldFields[field];
90
- if (oldField && oldField.values) {
91
- for (const oldValue of oldField.values) {
92
- const newValue = (newFields[field].values as any[]).find(
93
- (x) => x.id === oldValue.id
94
- );
95
-
96
- if (!newValue) {
97
- changes.push({
98
- field,
99
- id: oldValue.id,
100
- label: oldValue.label,
101
- oldValue: oldValue.value,
102
- });
103
- } else if (!_.isEqual(newValue.value, oldValue.value)) {
104
- changes.push({
105
- field,
106
- id: oldValue.id,
107
- label: oldValue.label,
108
- oldValue: oldValue.value,
109
- newValue: newValue.value,
110
- });
111
- }
112
- }
113
- }
114
- }
115
- return changes;
116
- }
117
-
118
- private async synchronizeSharedContactCard(
119
- details: SharedTrustedPartyDetails,
120
- changes: FieldChange[]
121
- ): Promise<void> {
122
- let hasChanged = false;
123
- for (const change of changes) {
124
- switch (change.field) {
125
- case ContactFields.Phone:
126
- {
127
- const value =
128
- details.phones &&
129
- details.phones.find((x) => x.label === change.label);
130
-
131
- if (value) {
132
- hasChanged = true;
133
- value.value = change.newValue;
134
- }
135
- }
136
- break;
137
- case ContactFields.Address:
138
- {
139
- const value =
140
- details.addresses &&
141
- details.addresses.find((x) => x.label === change.label);
142
-
143
- if (value) {
144
- hasChanged = true;
145
- value.value = change.newValue;
146
- }
147
- }
148
- break;
149
- default: {
150
- const value = details[change.field];
151
-
152
- if (_.isEqual(value, change.oldValue)) {
153
- hasChanged = true;
154
- details[change.field] = change.newValue;
155
- }
156
- }
157
- }
158
- }
159
- if (hasChanged) {
160
- const { id, ownedKeyId, sharedKeyId, ...contactCard } = details;
161
-
162
- await this.sharedContactCardService.updateMySharedContactCard(
163
- id,
164
- ownedKeyId,
165
- sharedKeyId,
166
- contactCard
167
- );
168
- }
169
- }
170
-
171
- public async updateTrustedPartyDetails(details: SharedTrustedPartyDetails) {
172
- const { id, ownedKeyId, sharedKeyId, ...contactCard } = details;
173
-
174
- await this.sharedContactCardService.updateMySharedContactCard(
175
- id,
176
- ownedKeyId,
177
- sharedKeyId,
178
- contactCard
179
- );
180
-
181
- await this.synchronizeSharedDetails(details);
182
- }
183
-
184
- public async synchronizeSharedDetails(details: TrustedPartyDetails) {
185
- let { contactCard } = await this.authService.getUser();
186
- let hasNewValues = false;
187
- contactCard = { ...contactCard };
188
-
189
- if (details.name) {
190
- const property = this.checkField(details.name, contactCard.name);
191
-
192
- if (property) {
193
- contactCard.name = property;
194
- hasNewValues = true;
195
- }
196
- }
197
-
198
- if (details.email) {
199
- const property = this.checkField(details.email, contactCard.email);
200
-
201
- if (property) {
202
- contactCard.email = property;
203
- hasNewValues = true;
204
- }
205
- }
206
-
207
- if (details.image) {
208
- const property = this.checkField(details.image, contactCard.image);
209
-
210
- if (property) {
211
- contactCard.image = property;
212
- hasNewValues = true;
213
- }
214
- }
215
-
216
- if (details.phones && details.phones.length) {
217
- for (const phone of details.phones) {
218
- const property = this.checkField(
219
- phone.value,
220
- contactCard.phone,
221
- phone.label
222
- );
223
-
224
- if (property) {
225
- contactCard.phone = property;
226
- hasNewValues = true;
227
- }
228
- }
229
- }
230
-
231
- if (details.addresses && details.addresses.length) {
232
- for (const address of details.addresses) {
233
- const property = this.checkField(
234
- address.value,
235
- contactCard.address,
236
- address.label
237
- );
238
-
239
- if (property) {
240
- contactCard.address = property;
241
- hasNewValues = true;
242
- }
243
- }
244
- }
245
-
246
- if (hasNewValues) {
247
- await this.profileService.updateDetails(
248
- contactCard.id,
249
- contactCard.keyId,
250
- contactCard
251
- );
252
- }
253
- }
254
-
255
- private checkField<T>(
256
- field: T,
257
- property: MainContactCardProperty<T>,
258
- label: string = null
259
- ) {
260
- property = property || { value: field, hasMultiple: false };
261
- property.values = property.values || [];
262
-
263
- if (
264
- property.values.length === 0 ||
265
- property.values.every((x) => !_.isEqual(field, x.value))
266
- ) {
267
- property.values.push({
268
- id: `${label}-${new Date().getTime()}`,
269
- label,
270
- value: field,
271
- });
272
- property.hasMultiple = property.values.length > 1;
273
- property.value = property.value || field;
274
- return property;
275
- }
276
- return null;
277
- }
278
- }
@@ -1,108 +0,0 @@
1
- import { HasEdges } from './../_common/types';
2
- import { HasKeyGraph, PassKey } from './../cryptography/cryptography.types';
3
- import { ApiCurrentUser, ApiContactCard } from './profile.types';
4
- import gql from 'graphql-tag';
5
- import { KeyGraphFragment } from '../_common/queries.gql';
6
-
7
- export interface CurrentUserQueryType extends HasKeyGraph {
8
- currentUser: ApiCurrentUser;
9
- contactCards: HasEdges<ApiContactCard>;
10
- userPlans: any[];
11
- }
12
-
13
- export const CurrentUserQuery = gql`
14
- query {
15
- currentUser {
16
- id
17
- username
18
- currentUserKey {
19
- passKey {
20
- id
21
- passKeyParams
22
- passIdpParams
23
- wrappedPassIdpVerifierPrk
24
- created
25
- }
26
- masterKey {
27
- id
28
- }
29
- rootKey {
30
- id
31
- }
32
- pxk {
33
- id
34
- }
35
- sigPxk {
36
- id
37
- }
38
- }
39
- userDelete {
40
- id
41
- created
42
- state
43
- }
44
- features {
45
- myVault
46
- tpVault
47
- shareVault
48
- }
49
- sessionEncryptionKey
50
- }
51
- userPlans {
52
- id
53
- stripe {
54
- subscriptionId
55
- }
56
- plan {
57
- name
58
- data
59
- state
60
- }
61
- periodEnd
62
- }
63
- contactCards(orderBy: "created") {
64
- edges {
65
- node {
66
- id
67
- key {
68
- id
69
- }
70
- cipherData
71
- plainData
72
- }
73
- }
74
- }
75
- keyGraph {
76
- ...KeyGraphFragment
77
- }
78
- }
79
- ${KeyGraphFragment}
80
- `;
81
-
82
- export const CreateContactCardMutation = gql`
83
- mutation CreateContactCardMutation($input: CreateContactCardInput!) {
84
- createContactCard(input: $input) {
85
- contactCard {
86
- id
87
- key {
88
- id
89
- }
90
- cipherData
91
- }
92
- }
93
- }
94
- `;
95
-
96
- export const UpdateContactCardMutation = gql`
97
- mutation UpdateContactCardMutation($input: UpdateContactCardInput!) {
98
- updateContactCard(input: $input) {
99
- contactCard {
100
- id
101
- key {
102
- id
103
- }
104
- cipherData
105
- }
106
- }
107
- }
108
- `;