@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,602 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { AppModule } from 'projects/lr-auth-app/src/app/app.module';
3
- import { environment } from 'projects/lr-auth-app/src/environments/environment';
4
- import {
5
- loginTestUser,
6
- logoutUser,
7
- } from '../auth/life-ready-auth.service.spec';
8
- import { HttpClient } from '@angular/common/http';
9
- import { LifeReadyConfig, LR_CONFIG } from '../life-ready.config';
10
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
11
- import { lrExpectAsyncThrow, lrit } from '../_common/tests';
12
- import { LoginResult } from '../auth/auth.types';
13
- import { LrGraphQLService } from '../api/lr-graphql';
14
- import { TpAssemblyState } from '../api/types/lr-graphql.types';
15
- import { TpPasswordResetService } from './tp-password-reset.service';
16
- import { TpPasswordResetRequestService } from './tp-password-reset-request.service';
17
- import { TpPasswordResetUserService } from './tp-password-reset-user.service';
18
- import { setupTps2, getTp2, getTps2 } from './trusted-party2.service.spec';
19
- import { TrustedParty2Service } from './trusted-party2.service';
20
- const enableTests = environment.test.enableTests;
21
-
22
- const TIMEOUT = 1000 * 60 * 10;
23
-
24
- const COVE_DEBUG_V_CODE = '111111';
25
-
26
- const RESET_USERNAME_SUFFIX = '.tp_password_reset';
27
-
28
- describe('TpPasswordResetService', () => {
29
- let tpprService: TpPasswordResetService;
30
- let resetUserService: TpPasswordResetUserService;
31
- let resetRequestService: TpPasswordResetRequestService;
32
- let tp2Service: TrustedParty2Service;
33
- let http: HttpClient;
34
- let config: LifeReadyConfig;
35
- let lrAuth: LifeReadyAuthService;
36
- let lrGraphQL: LrGraphQLService;
37
-
38
- beforeEach(async () => {
39
- TestBed.configureTestingModule({
40
- imports: [AppModule],
41
- providers: [],
42
- });
43
- config = TestBed.inject(LR_CONFIG);
44
- tpprService = TestBed.inject(TpPasswordResetService);
45
- resetUserService = TestBed.inject(TpPasswordResetUserService);
46
- resetRequestService = TestBed.inject(TpPasswordResetRequestService);
47
- tp2Service = TestBed.inject(TrustedParty2Service);
48
- http = TestBed.inject(HttpClient);
49
- lrAuth = TestBed.inject(LifeReadyAuthService);
50
- lrGraphQL = TestBed.inject(LrGraphQLService);
51
- }, TIMEOUT);
52
-
53
- async function debugAssociate(
54
- sub,
55
- requestId,
56
- associateResetUserToken
57
- ): Promise<void> {
58
- await http
59
- .post<any>(
60
- `${config.apiUrl}debug_only/tp/password-reset/request/${requestId}/associate/`,
61
- {
62
- sub,
63
- associate_reset_user_token: associateResetUserToken,
64
- backend: 'cognito',
65
- }
66
- )
67
- .toPromise();
68
- }
69
-
70
- async function debugCancelResetRequest(username) {
71
- await logoutUser();
72
- await http
73
- .post<any>(
74
- `${config.apiUrl}debug_only/tp/password-reset/cancel-request/`,
75
- {
76
- username,
77
- }
78
- )
79
- .toPromise();
80
- }
81
-
82
- let username1;
83
- let password1;
84
- let email1;
85
- let username2;
86
- let password2;
87
- let email2;
88
- let username3;
89
- let password3;
90
- let email3;
91
- let username4;
92
- let password4;
93
- let email4;
94
- let RESET_USER_PASSWORD;
95
-
96
- if (enableTests) {
97
- username1 = environment.test.users[0].username;
98
- password1 = environment.test.users[0].password;
99
- email1 = environment.test.users[0].email;
100
-
101
- username2 = environment.test.users[1].username;
102
- password2 = environment.test.users[1].password;
103
- email2 = environment.test.users[1].email;
104
-
105
- username3 = environment.test.users[2].username;
106
- password3 = environment.test.users[2].password;
107
- email3 = environment.test.users[2].email;
108
-
109
- username4 = environment.test.users[3].username;
110
- password4 = environment.test.users[3].password;
111
- email4 = environment.test.users[3].email;
112
-
113
- RESET_USER_PASSWORD = password1;
114
- }
115
-
116
- async function validateApprovers(tpIds: string[]) {
117
- const tps = await Promise.all(
118
- tpIds.map((t) => {
119
- return getTp2(t);
120
- })
121
- );
122
-
123
- // Ensure all approvers have mkSharedKey.
124
- try {
125
- tpprService.validateApprovers(tps);
126
- return tps;
127
- } catch (error) {
128
- await reshareMkSharedKeys();
129
- const tps2 = await Promise.all(
130
- tpIds.map((t) => {
131
- return getTp2(t);
132
- })
133
- );
134
- tpprService.validateApprovers(tps2);
135
- return tps2;
136
- }
137
- }
138
-
139
- async function setupReset() {
140
- const { U1_TP_U2_ID, U2_TP_U1_ID } = await setupTps2(
141
- username1,
142
- password1,
143
- username2,
144
- password2
145
- );
146
-
147
- // ------------------------------------------------------
148
- // Test User 1: Get current reset
149
- // ------------------------------------------------------
150
- const currentUser = await loginTestUser(username1, password1);
151
- const reset = await tpprService.getReset();
152
- console.log(reset);
153
-
154
- // ------------------------------------------------------
155
- // Test User 1: Delete and create new reset
156
- // ------------------------------------------------------
157
- // Ensure all approvers have mkSharedKey.
158
- const [U1_TP_U2] = await validateApprovers([U1_TP_U2_ID]);
159
-
160
- if (await tpprService.getReset()) {
161
- await tpprService.deleteReset();
162
- }
163
-
164
- await tpprService.createReset({
165
- quorum: 1,
166
- singleReject: true,
167
- createSubAssemblies: [
168
- {
169
- name: 'G1',
170
- quorum: 1,
171
- singleReject: false,
172
- approverTps: [U1_TP_U2],
173
- },
174
- ],
175
- });
176
- }
177
-
178
- async function requestReset() {
179
- let res;
180
-
181
- await logoutUser();
182
- // ------------------------------------------------------
183
- // Pre-auth
184
- // ------------------------------------------------------
185
- const { claimId } = await resetUserService.verifyEmailContact(email1);
186
- const claimToken = await resetUserService.verifyContactRespond(
187
- claimId,
188
- COVE_DEBUG_V_CODE
189
- );
190
- res = await resetUserService.requestReset(
191
- RESET_USER_PASSWORD,
192
- claimId,
193
- claimToken
194
- );
195
-
196
- // AWS Cognito can't use lambda to associate reset user with local server. So need to
197
- // do this via debug endpoint.
198
- if (environment.env === 'local') {
199
- await debugAssociate(
200
- res.signUpResult.userSub,
201
- res.requestResetResult.id,
202
- res.requestResetResult.associate_reset_user_token
203
- );
204
- }
205
- }
206
-
207
- async function approveResetRequest(username, password) {
208
- await loginTestUser(username, password);
209
- const requests = await resetRequestService.getSharedResets();
210
- const request = requests.edges.find(
211
- (edge) => edge.node.tp.other.username === username1
212
- );
213
- expect(request).toBeTruthy();
214
- await resetRequestService.approveRequest(request.node.id);
215
- }
216
-
217
- async function rejectResetRequest(username, password) {
218
- await loginTestUser(username, password);
219
- const requests = await resetRequestService.getSharedResets();
220
- const request = requests.edges.find(
221
- (edge) => edge.node.tp.other.username === username1
222
- );
223
- expect(request).toBeTruthy();
224
- await resetRequestService.rejectRequest(request.node.id);
225
- }
226
-
227
- // Assuming signed in as the reset user.
228
- async function reshareMkSharedKeys() {
229
- // ------------------------------------------------------
230
- // Request mkSharedKey reshare
231
- // ------------------------------------------------------
232
-
233
- let tps = await getTps2();
234
- for (const edge of tps.edges) {
235
- if (!edge.node.currentUserSharedKey.userSharedKey.mkReshareRequestSent) {
236
- await lrGraphQL.lrMutate(tp2Service.requestMkReshare(edge.node.id));
237
- }
238
- }
239
-
240
- tps = await getTps2();
241
-
242
- // ------------------------------------------------------
243
- // Respond mkSharedKey reshare
244
- // ------------------------------------------------------
245
- for (const edge of tps.edges) {
246
- const tpUser = environment.test.users.find(
247
- (t) => t.username === edge.node.other.username
248
- );
249
-
250
- await loginTestUser(tpUser.username, tpUser.password);
251
-
252
- const otherTps = await getTps2();
253
- const otherTp = otherTps.edges.find(
254
- (otherEdge) => otherEdge.node.other.username === username1
255
- ).node;
256
-
257
- if (!otherTp.currentUserSharedKey.userSharedKey.mkReshareResponseSent) {
258
- await lrGraphQL.lrMutate(tp2Service.respondMkReshare(otherTp.id));
259
- }
260
- }
261
-
262
- // ------------------------------------------------------
263
- // Complete mkSharedKey reshare
264
- // ------------------------------------------------------
265
- await loginTestUser(username1, password1);
266
- tps = await getTps2();
267
- for (const edge of tps.edges) {
268
- const tp = edge.node;
269
- if (tp.currentUserSharedKey.userSharedKey.mkReshareResponseCipher) {
270
- await lrGraphQL.lrMutate(tp2Service.completeMkReshare(tp.id));
271
- }
272
- }
273
- }
274
-
275
- async function loginResetUser() {
276
- await logoutUser();
277
- const res = await lrAuth.login(username1, RESET_USER_PASSWORD);
278
- // console.log('Reset user: ', res);
279
- return res;
280
- }
281
-
282
- // This will request, approve, and complete the reset. But before
283
- // the TPs have reshared their shared_master_keys.
284
- async function performReset() {
285
- let res;
286
-
287
- // ------------------------------------------------------
288
- // Pre-auth
289
- // ------------------------------------------------------
290
- await requestReset();
291
-
292
- // ------------------------------------------------------
293
- // Reset user
294
- // ------------------------------------------------------
295
- res = await loginResetUser();
296
-
297
- expect(res.resetUser.state).toEqual(TpAssemblyState.CLAIMED);
298
-
299
- // ------------------------------------------------------
300
- // Approve
301
- // ------------------------------------------------------
302
- await approveResetRequest(username2, password2);
303
-
304
- // ------------------------------------------------------
305
- // Complete reset
306
- // ------------------------------------------------------
307
- res = await loginResetUser();
308
- expect(res.user).toBeUndefined();
309
- expect(res.resetUser).toBeTruthy();
310
-
311
- expect(res.resetUser.state).toEqual(TpAssemblyState.APPROVED);
312
-
313
- await resetUserService.completeRequest(RESET_USER_PASSWORD);
314
- console.log('TP password reset complete');
315
-
316
- // ------------------------------------------------------
317
- // Login using new password
318
- // ------------------------------------------------------
319
- await logoutUser();
320
- res = await loginResetUser();
321
- expect(res.user).toBeTruthy();
322
- expect(res.resetUser).toBeUndefined();
323
-
324
- // ----------------------------------------------------------------------------------------------
325
- // Reshare mkSharedKey
326
- // ----------------------------------------------------------------------------------------------
327
- await reshareMkSharedKeys();
328
- }
329
-
330
- lrit(
331
- 'Should reset user password',
332
- async () => {
333
- await logoutUser();
334
-
335
- await debugCancelResetRequest(username1);
336
-
337
- // ------------------------------------------------------
338
- // Re-create TP password reset
339
- // ------------------------------------------------------
340
- try {
341
- await setupReset();
342
- } catch (error) {
343
- // If the reset is interrupted before the resharing of mk_shared_key between TPs are complete
344
- // then you can't update the reset. So we complete the reset, then create and try again.
345
- await performReset();
346
- await setupReset();
347
- }
348
-
349
- // ------------------------------------------------------
350
- // Do a TP password reset
351
- // ------------------------------------------------------
352
- await performReset();
353
- },
354
- TIMEOUT
355
- );
356
-
357
- lrit(
358
- 'Should reset user password with more approver.',
359
- async () => {
360
- let res;
361
- let loginResult: LoginResult;
362
-
363
- await logoutUser();
364
- await debugCancelResetRequest(username1);
365
-
366
- const { U1_TP_U2_ID, U2_TP_U1_ID } = await setupTps2(
367
- username1,
368
- password1,
369
- username2,
370
- password2
371
- );
372
- const {
373
- U1_TP_U2_ID: U1_TP_U3_ID,
374
- U2_TP_U1_ID: U3_TP_U1_ID,
375
- } = await setupTps2(username1, password1, username3, password3);
376
- const {
377
- U1_TP_U2_ID: U1_TP_U4_ID,
378
- U2_TP_U1_ID: U4_TP_U1_ID,
379
- } = await setupTps2(username1, password1, username4, password4);
380
-
381
- await loginTestUser(username1, password1);
382
-
383
- // Ensure all approvers have mkSharedKey. Also reloads TPs every time because the key graph is cleared on logout.
384
- let [U1_TP_U2, U1_TP_U3, U1_TP_U4] = await validateApprovers([
385
- U1_TP_U2_ID,
386
- U1_TP_U3_ID,
387
- U1_TP_U4_ID,
388
- ]);
389
-
390
- if (await tpprService.getReset()) {
391
- await tpprService.deleteReset();
392
- }
393
-
394
- await tpprService.createReset({
395
- quorum: 1,
396
- singleReject: true,
397
- createSubAssemblies: [
398
- {
399
- name: 'G1.1',
400
- quorum: 1,
401
- singleReject: false,
402
- approverTps: [U1_TP_U2],
403
- },
404
- ],
405
- });
406
-
407
- const reset1 = await tpprService.getReset();
408
-
409
- // Should fail when already exists
410
- (
411
- await lrExpectAsyncThrow(
412
- tpprService.createReset({
413
- quorum: 1,
414
- singleReject: true,
415
- createSubAssemblies: [
416
- {
417
- name: 'G1.1',
418
- quorum: 1,
419
- singleReject: false,
420
- approverTps: [U1_TP_U2],
421
- },
422
- ],
423
- })
424
- )
425
- ).toBeTruthy();
426
-
427
- await tpprService.updateReset({
428
- quorum: 1,
429
- singleReject: true,
430
- updateSubAssemblies: [
431
- {
432
- id: reset1.assembly.subAssemblies.edges[0].node.id,
433
- name: 'G1.2',
434
- quorum: 2,
435
- singleReject: true,
436
- approverTps: [U1_TP_U2, U1_TP_U3],
437
- },
438
- ],
439
- createSubAssemblies: [
440
- {
441
- name: 'G2.1',
442
- quorum: 1,
443
- singleReject: true,
444
- approverTps: [U1_TP_U2, U1_TP_U3, U1_TP_U4],
445
- },
446
- {
447
- name: 'G3.1',
448
- quorum: 1,
449
- singleReject: true,
450
- approverTps: [U1_TP_U2],
451
- },
452
- ],
453
- });
454
-
455
- const reset2 = await tpprService.getReset();
456
- expect(reset1.assembly.assemblyKey.id).not.toEqual(
457
- reset2.assembly.assemblyKey.id,
458
- 'assembly key should refresh.'
459
- );
460
-
461
- // ------------------------------------------------------
462
- // Test single reject
463
- // ------------------------------------------------------
464
- await requestReset();
465
-
466
- // Single reject from any user should reject whole request
467
- await rejectResetRequest(username3, password3);
468
-
469
- loginResult = await loginResetUser();
470
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.REJECTED);
471
-
472
- // ------------------------------------------------------
473
- // Test non single reject
474
- // ------------------------------------------------------
475
- await debugCancelResetRequest(username1);
476
- await loginTestUser(username1, password1);
477
-
478
- // Reload TPs every time because the key graph is cleared on logout.
479
- [U1_TP_U2, U1_TP_U3, U1_TP_U4] = await validateApprovers([
480
- U1_TP_U2_ID,
481
- U1_TP_U3_ID,
482
- U1_TP_U4_ID,
483
- ]);
484
-
485
- let reset = await tpprService.getReset();
486
-
487
- // Test deleting of sub assemblies and approvers
488
- await tpprService.updateReset({
489
- quorum: 2,
490
- singleReject: false,
491
- updateSubAssemblies: [
492
- {
493
- id: reset.assembly.subAssemblies.edges[0].node.id,
494
- name: 'G1.3',
495
- quorum: 1,
496
- singleReject: false,
497
- approverTps: [U1_TP_U2, U1_TP_U3],
498
- },
499
- {
500
- id: reset.assembly.subAssemblies.edges[1].node.id,
501
- name: 'G2.2',
502
- quorum: 2,
503
- singleReject: false,
504
- approverTps: [U1_TP_U2, U1_TP_U4],
505
- },
506
- ],
507
- createSubAssemblies: [],
508
- });
509
-
510
- reset = await tpprService.getReset();
511
- console.log(reset);
512
- expect(reset.assembly.subAssemblies.edges.length).toEqual(2);
513
-
514
- // Test approvers have been updated/detected
515
- const G1 = reset.assembly.subAssemblies.edges.find(
516
- (edge) => edge.node.subjectCipherDataClearJson.name === 'G1.3'
517
- ).node;
518
- expect(G1.approvers.edges.length).toEqual(2);
519
- G1.approvers.edges.forEach((edge) => {
520
- expect([U1_TP_U2.id, U1_TP_U3.id].includes(edge.node.id));
521
- });
522
-
523
- const G2 = reset.assembly.subAssemblies.edges.find(
524
- (edge) => edge.node.subjectCipherDataClearJson.name === 'G2.2'
525
- ).node;
526
- expect(G2.approvers.edges.length).toEqual(2);
527
- G2.approvers.edges.forEach((edge) => {
528
- expect([U1_TP_U2.id, U1_TP_U4.id].includes(edge.node.id));
529
- });
530
-
531
- await requestReset();
532
-
533
- // Reject but not enough to reject the request
534
- await rejectResetRequest(username3, password3); // G1 can still meet quorum
535
-
536
- loginResult = await loginResetUser();
537
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.CLAIMED);
538
-
539
- await rejectResetRequest(username2, password2); // Both G1 and G2 can not meet quorum anymore
540
-
541
- loginResult = await loginResetUser();
542
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.REJECTED);
543
-
544
- // ------------------------------------------------------
545
- // Request again
546
- // ------------------------------------------------------
547
- // Must cancel request first because we are using the same password for
548
- // the reset user and the original user. If the reset request is present, it
549
- // will log into the reset user account.
550
- await debugCancelResetRequest(username1);
551
- await loginTestUser(username1, password1);
552
-
553
- await requestReset();
554
-
555
- // ------------------------------------------------------
556
- // Approve
557
- // ------------------------------------------------------
558
- await approveResetRequest(username2, password2);
559
-
560
- // Check it's not approved yet.
561
- loginResult = await loginResetUser();
562
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.CLAIMED);
563
-
564
- // G1 has a quorum of 1, this is redundant, but testing if we can have redundant approvals
565
- await approveResetRequest(username3, password3);
566
-
567
- // Check it's not approved yet.
568
- loginResult = await loginResetUser();
569
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.CLAIMED);
570
-
571
- await approveResetRequest(username4, password4);
572
-
573
- // Should be approved now
574
- loginResult = await loginResetUser();
575
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.APPROVED);
576
-
577
- // ------------------------------------------------------
578
- // Complete reset
579
- // ------------------------------------------------------
580
- // Should be approved now.
581
- loginResult = await loginResetUser();
582
- expect(loginResult.resetUser.state).toEqual(TpAssemblyState.APPROVED);
583
-
584
- await resetUserService.completeRequest(RESET_USER_PASSWORD);
585
- console.log('TP password reset complete after multiple approval');
586
-
587
- // ------------------------------------------------------
588
- // Login using new password
589
- // ------------------------------------------------------
590
- await logoutUser();
591
- res = await lrAuth.login(username1, RESET_USER_PASSWORD);
592
- expect(res.user).toBeTruthy();
593
- expect(res.resetUser).toBeUndefined();
594
-
595
- // ----------------------------------------------------------------------------------------------
596
- // Reshare mkSharedKey
597
- // ----------------------------------------------------------------------------------------------
598
- await reshareMkSharedKeys();
599
- },
600
- TIMEOUT
601
- );
602
- });