@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,76 +0,0 @@
1
- import { gqlTyped } from '../_common/ast';
2
- import { ID } from './types';
3
-
4
- export interface UpdateOwnedContactCardMutation {
5
- updateOwnedContactCard: {
6
- ownedContactCard: {
7
- id: ID;
8
- };
9
- };
10
- }
11
- export const UpdateOwnedContactCardMutation = gqlTyped<UpdateOwnedContactCardMutation>`
12
- mutation UpdateOwnedContactCardMutation(
13
- $input: UpdateOwnedContactCardInput!
14
- ) {
15
- updateOwnedContactCard(input: $input) {
16
- ownedContactCard {
17
- id
18
- }
19
- }
20
- }`;
21
-
22
- export interface UpdateReceivedContactCardMutation {
23
- updateReceivedContactCard: {
24
- receivedContactCard: {
25
- id: ID;
26
- };
27
- };
28
- }
29
- export const UpdateReceivedContactCardMutation = gqlTyped<UpdateReceivedContactCardMutation>`
30
- mutation UpdateReceivedContactCardMutation(
31
- $input: UpdateReceivedContactCardInput!
32
- ) {
33
- updateReceivedContactCard(input: $input) {
34
- receivedContactCard {
35
- id
36
- }
37
- }
38
- }`;
39
-
40
- export interface GetOwnedContactCardKeyIdsQuery {
41
- ownedContactCard: {
42
- sharedKey: {
43
- id: ID;
44
- };
45
- ownerKey: {
46
- id: ID;
47
- };
48
- };
49
- }
50
- export const GetOwnedContactCardKeyIdsQuery = gqlTyped<GetOwnedContactCardKeyIdsQuery>`
51
- query GetOwnedContactCardKeyIdsQuery($id: LrRelayIdInput!) {
52
- ownedContactCard(id: $id) {
53
- sharedKey {
54
- id
55
- }
56
- ownerKey {
57
- id
58
- }
59
- }
60
- }`;
61
-
62
- export interface GetReceivedContactCardKeyIdQuery {
63
- receivedContactCard: {
64
- receiverKey: {
65
- id: ID;
66
- };
67
- };
68
- }
69
- export const GetReceivedContactCardKeyIdQuery = gqlTyped<GetReceivedContactCardKeyIdQuery>`
70
- query GetReceivedContactCardKeyIdQuery($id: LrRelayIdInput!) {
71
- receivedContactCard(id: $id) {
72
- receiverKey {
73
- id
74
- }
75
- }
76
- }`;
@@ -1,154 +0,0 @@
1
- import { Injectable, NgZone } from '@angular/core';
2
- import { Key } from '../cryptography/cryptography.types';
3
- import { EncryptionService } from '../cryptography/encryption.service';
4
- import { KeyGraphService } from '../cryptography/key-graph.service';
5
- import { KeyService } from '../cryptography/key.service';
6
- import { RunOutsideAngular } from '../_common/run-outside-angular';
7
- import {
8
- ContactCardReceiverCipherData,
9
- SendContactCardInput,
10
- } from './key-exchange2.service';
11
- import { LrGraphQLService, LrMutation } from './lr-graphql';
12
- import {
13
- GetOwnedContactCardKeyIdsQuery,
14
- GetReceivedContactCardKeyIdQuery,
15
- UpdateOwnedContactCardMutation,
16
- UpdateReceivedContactCardMutation,
17
- } from './shared-contact-card2.gql';
18
- import { LrRelayIdInput } from './types';
19
-
20
- export interface UpdateOwnedContactCardInput extends SendContactCardInput {
21
- id: LrRelayIdInput;
22
- ownerKeyId?: LrRelayIdInput;
23
- sharedKeyId?: LrRelayIdInput;
24
- }
25
-
26
- export interface UpdateReceivedContactCardInput
27
- extends ContactCardReceiverCipherData {
28
- id: LrRelayIdInput;
29
- receiverKeyId?: LrRelayIdInput;
30
- }
31
-
32
- @RunOutsideAngular({
33
- ngZoneName: 'ngZone',
34
- })
35
- @Injectable({
36
- providedIn: 'root',
37
- })
38
- export class SharedContactCard2Service {
39
- constructor(
40
- private ngZone: NgZone,
41
- private keyService: KeyService,
42
- private keyGraph: KeyGraphService,
43
- private encryptionService: EncryptionService,
44
- private lrGraphQL: LrGraphQLService
45
- ) {}
46
-
47
- private async getOwnedContactCardKeyIds(id: LrRelayIdInput) {
48
- const { ownedContactCard: cc } = await this.lrGraphQL.query({
49
- query: GetOwnedContactCardKeyIdsQuery,
50
- variables: {
51
- id,
52
- },
53
- });
54
-
55
- return {
56
- sharedKeyId: cc.sharedKey.id,
57
- ownerKeyId: cc.ownerKey.id,
58
- };
59
- }
60
-
61
- private async getReceivedContactCardKeyId(id: LrRelayIdInput) {
62
- return (
63
- await this.lrGraphQL.query({
64
- query: GetReceivedContactCardKeyIdQuery,
65
- variables: {
66
- id,
67
- },
68
- })
69
- ).receivedContactCard.receiverKey.id;
70
- }
71
-
72
- async updateOwnedContactCard({
73
- id,
74
- ownerKeyId,
75
- sharedKeyId,
76
- ownerPlainDataJson,
77
- ownerCipherDataClearJson,
78
- sharedCipherDataClearJson,
79
- }: UpdateOwnedContactCardInput) {
80
- let ownerKey: Key;
81
- let sharedKey: Key;
82
-
83
- try {
84
- ownerKey = await this.keyGraph.getKey(ownerKeyId);
85
- sharedKey = await this.keyGraph.getKey(sharedKeyId);
86
- } catch (error) {
87
- const keys = await this.getOwnedContactCardKeyIds(id);
88
-
89
- // try again
90
- ownerKey = await this.keyGraph.getKey(keys.ownerKeyId);
91
- sharedKey = await this.keyGraph.getKey(keys.sharedKeyId);
92
- }
93
-
94
- const sigPxk = await this.keyService.getCurrentSigPxk();
95
-
96
- const sharedCipherData = await this.encryptionService.encrypt(
97
- sharedKey.jwk,
98
- sharedCipherDataClearJson
99
- );
100
- const sharedCipherDataSig = JSON.stringify(
101
- await this.encryptionService.sign(sigPxk.jwk, sharedCipherData)
102
- );
103
-
104
- const ownerPlainDataSig = JSON.stringify(
105
- await this.encryptionService.sign(sigPxk.jwk, ownerPlainDataJson)
106
- );
107
-
108
- const ownerCipherData = await this.encryptionService.encryptToString(
109
- ownerKey.jwk,
110
- ownerCipherDataClearJson
111
- );
112
-
113
- return new LrMutation({
114
- mutation: UpdateOwnedContactCardMutation,
115
- variables: {
116
- input: {
117
- id,
118
- ownerCipherData,
119
- ownerKeyId: ownerKey.id,
120
- sharedCipherDataSig,
121
- sharedKeyId: sharedKey.id,
122
- sigPxkId: sigPxk.id,
123
- ownerPlainDataSig,
124
- },
125
- },
126
- });
127
- }
128
-
129
- async updateReceivedContactCard({
130
- id,
131
- receiverKeyId,
132
- receiverCipherDataClearJson,
133
- }: UpdateReceivedContactCardInput) {
134
- const receiverKey = await this.keyGraph.getKey(receiverKeyId, () =>
135
- this.getReceivedContactCardKeyId(id)
136
- );
137
-
138
- const receiverCipherData = await this.encryptionService.encryptToString(
139
- receiverKey.jwk,
140
- receiverCipherDataClearJson
141
- );
142
-
143
- return new LrMutation({
144
- mutation: UpdateReceivedContactCardMutation,
145
- variables: {
146
- input: {
147
- id,
148
- receiverCipherData,
149
- receiverKeyId: receiverKey.id,
150
- },
151
- },
152
- });
153
- }
154
- }
@@ -1,48 +0,0 @@
1
- import { TimeService } from './time.service';
2
- import { TestBed } from '@angular/core/testing';
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 { lrConfigureTestingModule, lrit } from '../_common/tests';
9
-
10
- const TIMEOUT = 1000 * 60 * 10;
11
-
12
- describe('TimeService', () => {
13
- let timeService: TimeService;
14
-
15
- beforeEach(async () => {
16
- lrConfigureTestingModule();
17
- timeService = TestBed.inject(TimeService);
18
- });
19
-
20
- lrit('should get server time', async () => {
21
- const serverNow = await timeService.serverNow();
22
- console.log('server now', serverNow);
23
- console.log('local now', Date.now());
24
- expect(serverNow).toBeTruthy();
25
- expect(timeService.offsetMs).not.toBeNull();
26
- console.log('timeService.offsetMs', timeService.offsetMs);
27
- });
28
-
29
- lrit(
30
- 'should confirm time from independent source',
31
- async () => {
32
- if (!timeService.VERIFY_ENABLED) {
33
- return;
34
- }
35
-
36
- // Using AWS Cognito, so need to login first, it might block the client/host as malicious.
37
- const {
38
- username: username1,
39
- password: password1,
40
- } = environment.test.users[0];
41
- await loginTestUser(username1, password1);
42
-
43
- const serverNow = await timeService.serverNow();
44
- expect(timeService.verified).toBeTrue();
45
- },
46
- TIMEOUT
47
- );
48
- });
@@ -1,155 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
3
- import { Apollo } from 'apollo-angular';
4
- import gql from 'graphql-tag';
5
- import * as moment_ from 'moment';
6
- import {
7
- LrErrorCode,
8
- LrException,
9
- handleApolloError,
10
- } from '../_common/exceptions';
11
- // "why?" you ask: https://stackoverflow.com/questions/59735280/angular-8-moment-error-cannot-call-a-namespace-moment
12
- const moment = moment_;
13
-
14
- export const ServerTimeQuery = gql`
15
- query {
16
- serverTime {
17
- timestamp
18
- }
19
- }
20
- `;
21
-
22
- interface ServerTime {
23
- timestamp: string;
24
- }
25
-
26
- @Injectable({
27
- providedIn: 'root',
28
- })
29
- export class TimeService {
30
- public VERIFY_ENABLED = true;
31
- private readonly MAX_DIFF_MSEC = moment
32
- .duration({ seconds: 30 })
33
- .asMilliseconds();
34
-
35
- offsetMs: number = null; // Millisecond offset of local clock.
36
- verified = false; // Verified with independent time source
37
-
38
- constructor(private auth: AuthClass, private apollo: Apollo) {}
39
-
40
- private async getAccessToken(): Promise<string> {
41
- try {
42
- return (await this.auth.currentAuthenticatedUser())
43
- .getSignInUserSession()
44
- .getAccessToken()
45
- .getJwtToken();
46
- } catch (error) {
47
- return ''; // Not authenticated
48
- }
49
- }
50
-
51
- // Get time from independent source to confirm.
52
- private async verifyCognito(): Promise<void> {
53
- const accessToken = await this.getAccessToken();
54
- if (!accessToken) {
55
- return;
56
- }
57
-
58
- // Request headers from AWS Amplify Auth lib
59
- // accept: */*
60
- // accept-encoding: gzip, deflate, br
61
- // accept-language: en-GB,en-US;q=0.9,en;q=0.8
62
- // cache-control: no-cache
63
- // content-length: 1089
64
- // content-type: application/x-amz-json-1.1
65
- // origin: http://localhost:4200
66
- // pragma: no-cache
67
- // referer: http://localhost:4200/
68
- // sec-fetch-dest: empty
69
- // sec-fetch-mode: cors
70
- // sec-fetch-site: cross-site
71
- // user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
72
- // x-amz-target: AWSCognitoIdentityProviderService.GetUser
73
- // x-amz-user-agent: aws-amplify/0.1.x js
74
-
75
- // We are only interested in the Date field.
76
- // AZ: I suppose we could use any end-point that provides a reliable Date field in the header. And we don't
77
- // need to be authenticated. Even a 400 response would have a Date header. But the worry is that AWS might
78
- // think it's some sort of attack, and block the IP or domain. At least in an authenticated call it can't be
79
- // seen as illegitimate.
80
- const response = await fetch(
81
- 'https://cognito-idp.ap-southeast-2.amazonaws.com/',
82
- {
83
- method: 'POST', // *GET, POST, PUT, DELETE, etc.
84
- mode: 'cors', // no-cors, *cors, same-origin
85
- cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
86
- headers: {
87
- 'x-amz-target': 'AWSCognitoIdentityProviderService.GetUser',
88
- 'x-amz-user-agent': 'aws-amplify/0.1.x js',
89
- 'Content-Type': 'application/x-amz-json-1.1',
90
- },
91
- // redirect: 'follow', // manual, *follow, error
92
- // referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
93
- body: JSON.stringify({
94
- AccessToken: accessToken,
95
- }), // body data type must match "Content-Type" header
96
- }
97
- );
98
-
99
- const now = Date.now();
100
-
101
- const verifyTime = moment(response.headers.get('Date')).valueOf();
102
- const serverTime = now + this.offsetMs;
103
- const diff = Math.abs(serverTime - verifyTime);
104
-
105
- if (diff > this.MAX_DIFF_MSEC) {
106
- throw new LrException({
107
- code: LrErrorCode.BadTimeSync,
108
- message: `Server time does not match independent source. ServerTime: ${serverTime}, Cognito time: ${verifyTime}`,
109
- });
110
- }
111
-
112
- this.verified = true;
113
- }
114
-
115
- private async refresh(): Promise<void> {
116
- const start = Date.now();
117
- const res = await this.apollo
118
- .query<{ serverTime: ServerTime }>({ query: ServerTimeQuery })
119
- .toPromise();
120
- const end = Date.now();
121
-
122
- handleApolloError(res.errors);
123
-
124
- const serverTime = parseInt(res.data.serverTime.timestamp, 10);
125
-
126
- const roundtrip = end - start;
127
- this.offsetMs = serverTime - (start + roundtrip / 2);
128
-
129
- if (this.VERIFY_ENABLED) {
130
- await this.verifyCognito();
131
- }
132
- }
133
-
134
- async serverNow(): Promise<number> {
135
- let needsRefresh = false;
136
-
137
- // First call
138
- if (this.offsetMs === null) {
139
- needsRefresh = true;
140
- }
141
-
142
- if (this.VERIFY_ENABLED) {
143
- // logged in but not yet verified time matches.
144
- if (!this.verified && (await this.getAccessToken())) {
145
- needsRefresh = true;
146
- }
147
- }
148
-
149
- if (needsRefresh) {
150
- await this.refresh();
151
- }
152
-
153
- return Date.now() + this.offsetMs;
154
- }
155
- }
@@ -1,48 +0,0 @@
1
- // ------------------------------------------------------
2
- // Basic types
3
- // ------------------------------------------------------
4
- // These types map directory to types of the same name in graphql.
5
- // We use these aliases in case in the future we wish to reify the types and do
6
- // additional automated conversion.
7
-
8
- export type ID = string;
9
- // Server requires this to have certain format. But client
10
- // just treats this as an opaque string.
11
- export type LrRelayIdInput = string;
12
- export type DateTime = string;
13
- // This is basically the results of: JSON.stringify(obj)
14
- // Server validated to make sure it can JSON.parse() this.
15
- export type LrJSONString = string;
16
- // JSONString is a type from graphene. DB JSON fields maps to this type
17
- // automatically.
18
- // Where as LrJSONString is out custom implementation for input variables.
19
- export type JSONString = string;
20
- export type LrEmail = string;
21
- export type GenericScalar = any;
22
- export type UUID = string;
23
-
24
- export interface Node {
25
- id?: string;
26
- }
27
-
28
- export interface TimeStamped {
29
- created?: DateTime;
30
- modified?: DateTime;
31
- }
32
-
33
- export interface Edge<NodeType extends Node> {
34
- node?: NodeType;
35
- cursor?: string;
36
- }
37
-
38
- export interface Connection<NodeType> {
39
- pageInfo?: PageInfo;
40
- edges?: Edge<NodeType>[];
41
- }
42
-
43
- export interface PageInfo {
44
- hasNextPage?: boolean;
45
- hasPreviousPage?: boolean;
46
- startCursor?: string;
47
- endCursor?: string;
48
- }