@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,119 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import {
3
- loginTestUser,
4
- logoutUser,
5
- } from '../auth/life-ready-auth.service.spec';
6
- import { delaySec, lrConfigureTestingModule, lrit } from '../_common/tests';
7
- import { IdleService } from 'projects/core/src/lib/auth/idle.service';
8
- import { KeyService } from '../cryptography/key.service';
9
- import { PersistService } from 'projects/core/src/lib/api/persist.service';
10
-
11
- const TIMEOUT = 1000 * 60 * 10;
12
-
13
- describe('IdleService', () => {
14
- let idleService: IdleService;
15
- let keyService: KeyService;
16
- let persistService: PersistService;
17
-
18
- beforeEach(async () => {
19
- lrConfigureTestingModule();
20
-
21
- idleService = TestBed.inject(IdleService);
22
- keyService = TestBed.inject(KeyService);
23
- persistService = TestBed.inject(PersistService);
24
- }, TIMEOUT);
25
-
26
- lrit(
27
- 'should be created',
28
- () => {
29
- expect(idleService).toBeTruthy();
30
- },
31
- TIMEOUT
32
- );
33
-
34
- // The keyService.getMasterKey() returns the memory caches lastKey. So we need
35
- // to test directly against the persistService.
36
- async function expectMasterKey() {
37
- const value = await persistService.get(
38
- (keyService as any).STORE_MASTER_KEY
39
- );
40
- expect(value.jwk).toBeTruthy();
41
- }
42
-
43
- async function expectNoMasterKey() {
44
- const value = await persistService.get(
45
- (keyService as any).STORE_MASTER_KEY
46
- );
47
- expect(value).not.toBeTruthy();
48
- }
49
-
50
- async function shouldDetectIdle() {
51
- let timeoutCalled = 0;
52
- let keepaliveCalled = 0;
53
- const onTimeout = () => {
54
- console.log('onTimeout() called');
55
- ++timeoutCalled;
56
- };
57
-
58
- const onKeepalive = () => {
59
- console.log('onKeepalive() called');
60
- ++keepaliveCalled;
61
- };
62
-
63
- const idleSec = 3;
64
- const keepAliveIntervalSec = 0.5;
65
- const timeoutSec = 2;
66
-
67
- // The default expiry is 20 minutes. Too long for this test.
68
- // setting UseServerSessionExpiry to false will let is use:
69
- // (idleSec + keepAliveIntervalSec + timeoutSec) as the session expiry
70
- // for the passKey.
71
- await idleService.init({
72
- idleSec,
73
- keepAliveIntervalSec,
74
- timeoutSec,
75
- onTimeout,
76
- onKeepalive,
77
- });
78
-
79
- await logoutUser();
80
- const user = await loginTestUser();
81
- const { expiresAfterSeconds } = await idleService.keepalivePost();
82
- console.log('expiresAfterSeconds: ', expiresAfterSeconds);
83
-
84
- await expectMasterKey();
85
-
86
- await delaySec(idleSec / 2);
87
- // Should still be under the idle threshold
88
- await expectMasterKey();
89
-
90
- await delaySec(idleSec - idleSec / 2);
91
- // Idle should start, this is when it should stops sending keep alive pings.
92
- await expectMasterKey();
93
- // So +expiresAfterSeconds from now the passkey should expire
94
- const checkExpiry = (async () => {
95
- await delaySec(expiresAfterSeconds);
96
- await delaySec(1); // add some buffer just to be sure
97
-
98
- expect(timeoutCalled).toEqual(1);
99
- expect(keepaliveCalled).toBeGreaterThan(1);
100
-
101
- await expectNoMasterKey();
102
- })();
103
-
104
- await delaySec(timeoutSec);
105
- // Should be idling now.
106
- await expectMasterKey();
107
-
108
- return checkExpiry;
109
- }
110
-
111
- lrit(
112
- 'should detect idle',
113
- async () => {
114
- // Run in twice to make sure it's repeatable after login.
115
- await shouldDetectIdle();
116
- },
117
- TIMEOUT
118
- );
119
- });
@@ -1,208 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
3
- import { Keepalive } from '@ng-idle/keepalive';
4
- import { KeyService } from '../cryptography/key.service';
5
- import {
6
- LrBadArgumentException,
7
- LrBadStateException,
8
- } from '../_common/exceptions';
9
- import { LifeReadyConfig, LR_CONFIG } from '../life-ready.config';
10
- import { HttpClient } from '@angular/common/http';
11
- import { Config, KeepaliveResult } from './idle.types';
12
- import { Key } from '../cryptography/cryptography.types';
13
- import { CognitoUser } from '@aws-amplify/auth';
14
- import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
15
-
16
- export interface IdleServiceInit {
17
- // TODO: this should be EventEmitter instead of a callback.
18
- onTimeout?: (() => any) | (() => Promise<any>) | null;
19
- onKeepalive?: (() => any) | (() => Promise<any>) | null;
20
- idleSec?: number;
21
- timeoutSec?: number;
22
- keepAliveIntervalSec?: number;
23
- }
24
-
25
- @Injectable({
26
- providedIn: 'root',
27
- })
28
- export class IdleService {
29
- private readonly IDLE_EXPIRY_KEY = 'ng2Idle.main.expiry';
30
- private readonly IDLING_KEY = 'ng2Idle.main.idling';
31
-
32
- private initCalled = false;
33
- private onTimeout: (() => any) | (() => Promise<any>) | null;
34
- private onKeepalive: (() => any) | (() => Promise<any>) | null;
35
-
36
- constructor(
37
- @Inject(LR_CONFIG) private config: LifeReadyConfig,
38
- private http: HttpClient,
39
- private idle: Idle,
40
- private keepalive: Keepalive,
41
- private keyService: KeyService,
42
- private auth: AuthClass
43
- ) {}
44
-
45
- private assertInit(): void {
46
- if (!this.initCalled) {
47
- throw new LrBadStateException('Call IdleService.init() first.');
48
- }
49
- }
50
-
51
- public async init(params?: IdleServiceInit): Promise<void> {
52
- if (this.initCalled) {
53
- throw new LrBadStateException(
54
- 'IdleService.init() can only be called once. IdleService.start() calls init() with default values if init() has not been called yet.'
55
- );
56
- }
57
-
58
- this.initCalled = true;
59
-
60
- // Defaults
61
- params = {
62
- onTimeout: null,
63
- onKeepalive: null,
64
- idleSec: Config.IDLE,
65
- timeoutSec: Config.TIMEOUT,
66
- keepAliveIntervalSec: Config.KEEP_ALIVE_INTERVAL,
67
- ...params,
68
- };
69
-
70
- // If timeoutSec == 0 then the onTimeout() callback is never called.
71
- if (params.timeoutSec < 0.01) {
72
- throw new LrBadArgumentException(
73
- 'Minimum value for IdleService.init({ timeoutSec }) is 0.01'
74
- );
75
- }
76
-
77
- this.onTimeout = params.onTimeout;
78
- this.onKeepalive = params.onKeepalive;
79
-
80
- // ------------------------------------------------------------------------
81
- // Setup Idle
82
- // ------------------------------------------------------------------------
83
- // sets an idle timeout of 5 seconds, for testing purposes.
84
- this.idle.setIdle(params.idleSec);
85
- // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.
86
- this.idle.setTimeout(params.timeoutSec);
87
- // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
88
- this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
89
-
90
- this.idle.onIdleEnd.subscribe(() => console.log('Idle stopped'));
91
- this.idle.onIdleStart.subscribe(() => console.log('Idle started'));
92
-
93
- this.idle.onTimeout.subscribe(async () => {
94
- console.log('Idle timed out');
95
- this.reset();
96
- await Promise.resolve(this.onTimeout && this.onTimeout());
97
- });
98
- this.idle.onTimeoutWarning.subscribe((countdown: any) =>
99
- console.log(`Will timeout in ${countdown} seconds!`)
100
- );
101
-
102
- // ------------------------------------------------------------------------
103
- // Setup Keepalive
104
- // ------------------------------------------------------------------------
105
- // Ref: https://github.com/moribvndvs/ng2-idle#readme
106
- // ng-idle will instruct @ng-idle/keepalive to ping while the user is active, and stop once
107
- // they go idle or time out. When the user resumes activity or the idle state is reset, it will
108
- // ping immediately and then resume pinging.
109
- this.keepalive.interval(params.keepAliveIntervalSec);
110
- console.log(
111
- `Keep alive interval set at: ${Config.KEEP_ALIVE_INTERVAL} seconds`
112
- );
113
-
114
- this.keepalive.onPing.subscribe(() => this.onPing());
115
-
116
- // If the browser tab has been closed for a period longer thant the inactivity
117
- // period, then we should logout right from the start.
118
- const idleExpiry = localStorage.getItem(this.IDLE_EXPIRY_KEY);
119
- if (
120
- idleExpiry &&
121
- parseInt(idleExpiry, 10) + this.idle.getTimeout() * 1000 < Date.now()
122
- ) {
123
- this.reset();
124
- await Promise.resolve(this.onTimeout && this.onTimeout());
125
- }
126
- }
127
-
128
- public async keepalivePost(): Promise<{
129
- expiresAfterSeconds: number;
130
- keepaliveResult: KeepaliveResult;
131
- }> {
132
- // currentAuthenticatedUser() refreshes the access token if required.
133
- const cognitoUser: CognitoUser = await this.auth.currentAuthenticatedUser();
134
-
135
- const keepaliveResult = await this.http
136
- .post<KeepaliveResult>(`${this.config.authUrl}auth/keepalive/`, null, {
137
- withCredentials: true, // /auth/keepalive/ will be extending the sessions cookie.
138
- headers: {
139
- Authorization: `Bearer ${cognitoUser
140
- .getSignInUserSession()
141
- .getAccessToken()
142
- .getJwtToken()}`,
143
- },
144
- })
145
- .toPromise();
146
-
147
- return {
148
- keepaliveResult,
149
- expiresAfterSeconds:
150
- this.idle.getIdle() +
151
- this.idle.getTimeout() +
152
- this.keepalive.interval(),
153
- };
154
- }
155
-
156
- public async persistMasterKey(masterKey: Key): Promise<void> {
157
- // The keepalive API call extends the server-side session, the session cookie expiry, refresh key cookie
158
- // expiry, and returns the session expiry.
159
- // NOTE Use time delta rather than absolute time, since client clock and server clock maybe
160
- // out of sync. We can't use the serverTime() functionality because the cookie expiry still
161
- // run on local clock.
162
- const { expiresAfterSeconds } = await this.keepalivePost();
163
-
164
- // Persist the derived passKey
165
- await this.keyService.persistMasterKey(masterKey, expiresAfterSeconds);
166
-
167
- console.log('setMasterKey() done');
168
- }
169
-
170
- private async onPing(): Promise<void> {
171
- console.log(
172
- `Keep alive triggered at time: ${Date.now()}. Interval set at: ${this.keepalive.interval()} seconds`
173
- );
174
-
175
- // Keepalive API will extend the session expiry.
176
- const { expiresAfterSeconds } = await this.keepalivePost();
177
-
178
- // Extend the expiry of the persisted key
179
- await this.keyService.setMasterKeyExpiresAfterSeconds(expiresAfterSeconds);
180
-
181
- await Promise.resolve(this.onKeepalive && this.onKeepalive());
182
- }
183
-
184
- public async start(): Promise<void> {
185
- if (!this.initCalled) {
186
- await this.init();
187
- }
188
-
189
- if (this.idle.isRunning()) {
190
- return;
191
- }
192
-
193
- // Ping does not seem to happen right at the start. So we call it explicitly
194
- await this.onPing();
195
-
196
- this.idle.watch();
197
- }
198
-
199
- public stop(): void {
200
- this.idle.stop();
201
- this.reset();
202
- }
203
-
204
- private reset() {
205
- localStorage.removeItem(this.IDLE_EXPIRY_KEY);
206
- localStorage.removeItem(this.IDLING_KEY);
207
- }
208
- }
@@ -1,11 +0,0 @@
1
- export enum Config {
2
- TIMEOUT = 0.01, // seconds, min value 0.01, after state is idle, wait for TIMEOUT seconds before taking action
3
- IDLE = 60 * 20, // seconds, period of inactivity to consider state as idle
4
- KEEP_ALIVE_INTERVAL = 60 * 1, // seconds, triggered on a regular basis while active (i.e. while not idling)
5
- }
6
-
7
- export interface KeepaliveResult {
8
- session: {
9
- expires_after_seconds: number;
10
- };
11
- }
@@ -1,56 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { loginTestUser } from '../auth/life-ready-auth.service.spec';
3
- import { LbopService } from './lbop.service';
4
- import { CurrentUser } from '../../public-api';
5
- import { lrConfigureTestingModule, lrit } from '../_common/tests';
6
-
7
- const TIMEOUT = 1000 * 60 * 10;
8
-
9
- describe('LbopService', () => {
10
- let lbopService: LbopService;
11
- let user: CurrentUser;
12
-
13
- beforeEach(async () => {
14
- lrConfigureTestingModule();
15
- lbopService = TestBed.inject(LbopService);
16
- user = await loginTestUser();
17
- }, TIMEOUT);
18
-
19
- lrit(
20
- 'should be created',
21
- () => {
22
- expect(lbopService).toBeTruthy();
23
- },
24
- TIMEOUT
25
- );
26
-
27
- lrit(
28
- 'should CRUD lbop',
29
- async () => {
30
- if (!user) return;
31
-
32
- const lbopsBefore = await lbopService.list();
33
- const lbop1 = await lbopService.create({ name: 'abc' });
34
- const lbop2 = await lbopService.create({ name: 'abc' });
35
- const lbopsAfterCreate = await lbopService.list();
36
-
37
- expect(lbop1.id).not.toBe(
38
- lbop2.id,
39
- 'the server should allow same name because it is encrypted.'
40
- );
41
- expect(lbopsAfterCreate.length).toBe(lbopsBefore.length + 2);
42
-
43
- await lbopService.remove(lbop1.id);
44
-
45
- const lbopsAfterDelete = await lbopService.list();
46
- expect(lbopsAfterDelete.length).toBe(lbopsAfterCreate.length - 1);
47
-
48
- // Make sure it's been deleted.
49
- expect(lbopsAfterDelete.some((t) => t.id === lbop1.id)).toBeFalsy();
50
-
51
- await lbopService.update({ id: lbop2.id, name: '123' });
52
- expect((await lbopService.get(lbop2.id)).name).toBe('123');
53
- },
54
- TIMEOUT
55
- );
56
- });