@lifeready/core 1.0.21 → 1.0.23

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 (277) hide show
  1. package/bundles/lifeready-core.umd.js +10612 -10527
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +1 -15
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +2 -1
  6. package/esm2015/lib/_common/deferred-promise.js +1 -1
  7. package/esm2015/lib/_common/exceptions.js +1 -1
  8. package/esm2015/lib/_common/queries.gql.js +1 -1
  9. package/esm2015/lib/_common/run-outside-angular.js +3 -2
  10. package/esm2015/lib/_common/types.js +2 -1
  11. package/esm2015/lib/_common/utils.js +2 -1
  12. package/esm2015/lib/api/lr-apollo.service.js +4 -3
  13. package/esm2015/lib/api/lr-graphql/index.js +1 -1
  14. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +9 -8
  15. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +5 -6
  16. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +1 -1
  17. package/esm2015/lib/api/lr-graphql/lr-mutation.js +3 -3
  18. package/esm2015/lib/api/lr-graphql/lr.service.js +1 -1
  19. package/esm2015/lib/api/query-processor/common-processors.service.js +4 -3
  20. package/esm2015/lib/api/query-processor/index.js +1 -1
  21. package/esm2015/lib/api/query-processor/query-processor.service.js +5 -4
  22. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +8 -7
  23. package/esm2015/lib/api/types/graphql.types.js +2 -1
  24. package/esm2015/lib/api/types/index.js +1 -1
  25. package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
  26. package/esm2015/lib/auth/auth.config.js +1 -1
  27. package/esm2015/lib/auth/auth.gql.js +1 -28
  28. package/esm2015/lib/auth/auth.types.js +1 -1
  29. package/esm2015/lib/auth/life-ready-auth.service.js +36 -32
  30. package/esm2015/lib/category/category-meta.service.js +1 -1
  31. package/esm2015/lib/category/category.gql.js +3 -2
  32. package/esm2015/lib/category/category.service.js +9 -8
  33. package/esm2015/lib/category/category.types.js +1 -1
  34. package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
  35. package/esm2015/lib/contact-card/contact-card.service.js +156 -0
  36. package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
  37. package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
  38. package/esm2015/lib/encryption/encryption.service.js +190 -0
  39. package/esm2015/lib/file-upload/file-upload.service.js +74 -0
  40. package/esm2015/lib/file-upload/file-upload.types.js +2 -0
  41. package/esm2015/lib/idle/idle.service.js +168 -0
  42. package/esm2015/lib/idle/idle.types.js +7 -0
  43. package/esm2015/lib/item2/item2.gql.js +127 -0
  44. package/esm2015/lib/item2/item2.gql.private.js +23 -0
  45. package/esm2015/lib/item2/item2.service.js +519 -0
  46. package/esm2015/lib/item2/item2.types.js +2 -0
  47. package/esm2015/lib/key/key-factory.service.js +237 -0
  48. package/esm2015/lib/key/key-graph.service.js +300 -0
  49. package/esm2015/lib/key/key-meta.service.js +201 -0
  50. package/esm2015/lib/{cryptography → key}/key.service.js +4 -4
  51. package/esm2015/lib/key/key.types.js +11 -0
  52. package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
  53. package/esm2015/lib/key-exchange/key-exchange.service.js +441 -0
  54. package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
  55. package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
  56. package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
  57. package/esm2015/lib/lbop/lbop.service.js +357 -0
  58. package/esm2015/lib/life-ready.config.js +2 -1
  59. package/esm2015/lib/life-ready.module.js +2 -27
  60. package/esm2015/lib/lock/lock.gql.js +40 -0
  61. package/esm2015/lib/lock/lock.service.js +64 -0
  62. package/esm2015/lib/message/message.gql.js +32 -0
  63. package/esm2015/lib/message/message.service.js +118 -0
  64. package/esm2015/lib/message/message.types.js +2 -0
  65. package/esm2015/lib/notification/notification.gql.js +1 -1
  66. package/esm2015/lib/notification/notification.service.js +2 -2
  67. package/esm2015/lib/password/password.gql.js +28 -0
  68. package/esm2015/lib/password/password.service.js +316 -0
  69. package/esm2015/lib/persist/persist.service.js +181 -0
  70. package/esm2015/lib/plan/plan.gql.js +1 -1
  71. package/esm2015/lib/plan/plan.service.js +3 -2
  72. package/esm2015/lib/plan/plan.types.js +1 -1
  73. package/esm2015/lib/profile/profile-details.service.js +215 -0
  74. package/esm2015/lib/profile/profile.gql.js +98 -0
  75. package/esm2015/lib/profile/profile.service.js +170 -0
  76. package/esm2015/lib/profile/profile.types.js +34 -0
  77. package/esm2015/lib/record/record-attachment.service.js +16 -15
  78. package/esm2015/lib/record/record.gql.js +1 -1
  79. package/esm2015/lib/record/record.service.js +8 -8
  80. package/esm2015/lib/record/record.types.js +1 -1
  81. package/esm2015/lib/record-type/record-type.service.js +1 -1
  82. package/esm2015/lib/record-type/record-type.types.js +1 -1
  83. package/esm2015/lib/register/register.service.js +173 -0
  84. package/esm2015/lib/scenario/scenario.constants.js +1 -1
  85. package/esm2015/lib/scenario/scenario.controller.js +2 -2
  86. package/esm2015/lib/scenario/scenario.gql.js +1 -1
  87. package/esm2015/lib/scenario/scenario.private.gql.js +198 -0
  88. package/esm2015/lib/scenario/scenario.service.js +19 -17
  89. package/esm2015/lib/scenario/scenario.types.js +2 -1
  90. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
  91. package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
  92. package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
  93. package/esm2015/lib/slip39/slip39.service.js +167 -0
  94. package/esm2015/lib/time/time.service.js +146 -0
  95. package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
  96. package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
  97. package/esm2015/lib/tp-assembly/tp-assembly.types.js +2 -0
  98. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
  99. package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +118 -0
  100. package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
  101. package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
  102. package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
  103. package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
  104. package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
  105. package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
  106. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +2 -0
  107. package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
  108. package/esm2015/lib/trusted-party/trusted-party.service.js +327 -0
  109. package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
  110. package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
  111. package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
  112. package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
  113. package/esm2015/lib/trusted-party/trusted-party2.types.js +2 -0
  114. package/esm2015/lib/two-factor/two-factor.service.js +74 -0
  115. package/esm2015/lib/user/user.gql.js +60 -0
  116. package/esm2015/lib/user/user.service.js +80 -0
  117. package/esm2015/lib/user/user.types.js +2 -0
  118. package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
  119. package/esm2015/lifeready-core.js +15 -13
  120. package/esm2015/public-api.js +49 -51
  121. package/fesm2015/lifeready-core.js +8764 -8737
  122. package/fesm2015/lifeready-core.js.map +1 -1
  123. package/lib/_common/types.d.ts +3 -1
  124. package/lib/_common/utils.d.ts +2 -2
  125. package/lib/api/lr-apollo.service.d.ts +2 -2
  126. package/lib/api/lr-graphql/lr-graphql.service.d.ts +26 -8
  127. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +22 -4
  128. package/lib/api/lr-graphql/lr-mutation.d.ts +1 -2
  129. package/lib/api/query-processor/common-processors.service.d.ts +1 -1
  130. package/lib/api/query-processor/query-processor.service.d.ts +1 -1
  131. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +2 -2
  132. package/lib/api/types/lr-graphql.types.d.ts +14 -3
  133. package/lib/auth/auth.gql.d.ts +0 -3
  134. package/lib/auth/auth.types.d.ts +5 -5
  135. package/lib/auth/life-ready-auth.service.d.ts +13 -13
  136. package/lib/category/category.gql.d.ts +1 -1
  137. package/lib/category/category.service.d.ts +3 -3
  138. package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
  139. package/lib/contact-card/contact-card2.gql.d.ts +25 -0
  140. package/lib/contact-card/contact-card2.service.d.ts +64 -0
  141. package/lib/{cryptography → encryption}/encryption.service.d.ts +10 -9
  142. package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +5 -8
  143. package/lib/file-upload/file-upload.types.d.ts +5 -0
  144. package/lib/{auth → idle}/idle.service.d.ts +6 -6
  145. package/lib/{items2 → item2}/item2.gql.d.ts +16 -16
  146. package/lib/{items2 → item2}/item2.service.d.ts +34 -35
  147. package/lib/{cryptography → key}/key-factory.service.d.ts +4 -3
  148. package/lib/{cryptography → key}/key-graph.service.d.ts +6 -6
  149. package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
  150. package/lib/{cryptography → key}/key.service.d.ts +2 -2
  151. package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +13 -17
  152. package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
  153. package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
  154. package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
  155. package/lib/{api → key-exchange}/key-exchange2.service.d.ts +82 -29
  156. package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
  157. package/lib/life-ready.config.d.ts +1 -1
  158. package/lib/{api → lock}/lock.gql.d.ts +1 -1
  159. package/lib/{api → lock}/lock.service.d.ts +1 -1
  160. package/lib/message/message.gql.d.ts +13 -0
  161. package/lib/message/message.service.d.ts +36 -0
  162. package/lib/message/message.types.d.ts +12 -0
  163. package/lib/notification/notification.service.d.ts +3 -2
  164. package/lib/password/password.gql.d.ts +3 -0
  165. package/lib/{auth → password}/password.service.d.ts +9 -9
  166. package/lib/{api → persist}/persist.service.d.ts +3 -3
  167. package/lib/plan/plan.service.d.ts +3 -2
  168. package/lib/plan/plan.types.d.ts +2 -1
  169. package/lib/{users → profile}/profile-details.service.d.ts +3 -3
  170. package/lib/{users → profile}/profile.gql.d.ts +2 -2
  171. package/lib/{users → profile}/profile.service.d.ts +6 -6
  172. package/lib/{users → profile}/profile.types.d.ts +3 -2
  173. package/lib/record/record-attachment.service.d.ts +6 -6
  174. package/lib/record/record.service.d.ts +3 -3
  175. package/lib/{auth → register}/register.service.d.ts +4 -4
  176. package/lib/scenario/scenario.controller.d.ts +1 -1
  177. package/lib/scenario/scenario.service.d.ts +105 -5
  178. package/lib/scenario/scenario.types.d.ts +1 -1
  179. package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
  180. package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
  181. package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
  182. package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -1
  183. package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
  184. package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +3 -3
  185. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +5 -9
  186. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
  187. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
  188. package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
  189. package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
  190. package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
  191. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
  192. package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
  193. package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
  194. package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
  195. package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
  196. package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
  197. package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
  198. package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
  199. package/lib/{users → user}/user.gql.d.ts +1 -1
  200. package/lib/{users → user}/user.service.d.ts +1 -1
  201. package/lib/{users → user}/user.types.d.ts +1 -1
  202. package/lifeready-core.d.ts +14 -12
  203. package/lifeready-core.metadata.json +1 -1
  204. package/package.json +2 -2
  205. package/public-api.d.ts +48 -50
  206. package/esm2015/lib/api/contact-card.gql.js +0 -79
  207. package/esm2015/lib/api/contact-card.service.js +0 -154
  208. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  209. package/esm2015/lib/api/contact-card2.service.js +0 -103
  210. package/esm2015/lib/api/file.service.js +0 -74
  211. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  212. package/esm2015/lib/api/key-exchange.service.js +0 -442
  213. package/esm2015/lib/api/key-exchange.types.js +0 -7
  214. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  215. package/esm2015/lib/api/key-exchange2.service.js +0 -480
  216. package/esm2015/lib/api/lock.gql.js +0 -40
  217. package/esm2015/lib/api/lock.service.js +0 -64
  218. package/esm2015/lib/api/message.service.js +0 -138
  219. package/esm2015/lib/api/persist.service.js +0 -181
  220. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  221. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  222. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  223. package/esm2015/lib/api/time.service.js +0 -146
  224. package/esm2015/lib/auth/idle.service.js +0 -168
  225. package/esm2015/lib/auth/idle.types.js +0 -7
  226. package/esm2015/lib/auth/lbop.service.js +0 -355
  227. package/esm2015/lib/auth/password.service.js +0 -315
  228. package/esm2015/lib/auth/register.service.js +0 -172
  229. package/esm2015/lib/auth/two-factor.service.js +0 -74
  230. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  231. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  232. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  233. package/esm2015/lib/cryptography/key-graph.service.js +0 -299
  234. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  235. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  236. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  237. package/esm2015/lib/items2/item2.gql.js +0 -127
  238. package/esm2015/lib/items2/item2.gql.private.js +0 -23
  239. package/esm2015/lib/items2/item2.service.js +0 -516
  240. package/esm2015/lib/items2/item2.types.js +0 -1
  241. package/esm2015/lib/scenario/scenario.gql.private.js +0 -198
  242. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
  243. package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
  244. package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
  245. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
  246. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
  247. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
  248. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
  249. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
  250. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
  251. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  252. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  253. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  254. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  255. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
  256. package/esm2015/lib/users/profile-details.service.js +0 -214
  257. package/esm2015/lib/users/profile.gql.js +0 -97
  258. package/esm2015/lib/users/profile.service.js +0 -169
  259. package/esm2015/lib/users/profile.types.js +0 -34
  260. package/esm2015/lib/users/user.gql.js +0 -60
  261. package/esm2015/lib/users/user.service.js +0 -79
  262. package/esm2015/lib/users/user.types.js +0 -1
  263. package/lib/api/contact-card2.gql.d.ts +0 -34
  264. package/lib/api/contact-card2.service.d.ts +0 -50
  265. package/lib/api/message.service.d.ts +0 -59
  266. /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
  267. /package/lib/{auth → idle}/idle.types.d.ts +0 -0
  268. /package/lib/{items2 → item2}/item2.gql.private.d.ts +0 -0
  269. /package/lib/{items2 → item2}/item2.types.d.ts +0 -0
  270. /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
  271. /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
  272. /package/lib/{api → time}/time.service.d.ts +0 -0
  273. /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
  274. /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
  275. /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
  276. /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
  277. /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
@@ -1,41 +0,0 @@
1
- import { gqlTyped } from '../_common/ast';
2
- export const UpdateOwnedContactCardMutation = gqlTyped `
3
- mutation UpdateOwnedContactCardMutation(
4
- $input: UpdateOwnedContactCardInput!
5
- ) {
6
- updateOwnedContactCard(input: $input) {
7
- ownedContactCard {
8
- id
9
- }
10
- }
11
- }`;
12
- export const UpdateReceivedContactCardMutation = gqlTyped `
13
- mutation UpdateReceivedContactCardMutation(
14
- $input: UpdateReceivedContactCardInput!
15
- ) {
16
- updateReceivedContactCard(input: $input) {
17
- receivedContactCard {
18
- id
19
- }
20
- }
21
- }`;
22
- export const GetOwnedContactCardKeyIdsQuery = gqlTyped `
23
- query GetOwnedContactCardKeyIdsQuery($id: LrRelayIdInput!) {
24
- ownedContactCard(id: $id) {
25
- sharedKey {
26
- id
27
- }
28
- ownerKey {
29
- id
30
- }
31
- }
32
- }`;
33
- export const GetReceivedContactCardKeyIdQuery = gqlTyped `
34
- query GetReceivedContactCardKeyIdQuery($id: LrRelayIdInput!) {
35
- receivedContactCard(id: $id) {
36
- receiverKey {
37
- id
38
- }
39
- }
40
- }`;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvc2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVUxQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7RUFTcEYsQ0FBQztBQVNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLFFBQVEsQ0FBbUM7Ozs7Ozs7OztFQVMxRixDQUFDO0FBWUgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsUUFBUSxDQUFnQzs7Ozs7Ozs7OztFQVVwRixDQUFDO0FBU0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsUUFBUSxDQUFrQzs7Ozs7OztFQU94RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsVHlwZWQgfSBmcm9tICcuLi9fY29tbW9uL2FzdCc7XG5pbXBvcnQgeyBJRCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU93bmVkQ29udGFjdENhcmRNdXRhdGlvbiB7XG4gIHVwZGF0ZU93bmVkQ29udGFjdENhcmQ6IHtcbiAgICBvd25lZENvbnRhY3RDYXJkOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBVcGRhdGVPd25lZENvbnRhY3RDYXJkTXV0YXRpb24gPSBncWxUeXBlZDxVcGRhdGVPd25lZENvbnRhY3RDYXJkTXV0YXRpb24+YFxubXV0YXRpb24gVXBkYXRlT3duZWRDb250YWN0Q2FyZE11dGF0aW9uKFxuICAkaW5wdXQ6IFVwZGF0ZU93bmVkQ29udGFjdENhcmRJbnB1dCFcbikge1xuICB1cGRhdGVPd25lZENvbnRhY3RDYXJkKGlucHV0OiAkaW5wdXQpIHtcbiAgICBvd25lZENvbnRhY3RDYXJkIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24ge1xuICB1cGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkOiB7XG4gICAgcmVjZWl2ZWRDb250YWN0Q2FyZDoge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVXBkYXRlUmVjZWl2ZWRDb250YWN0Q2FyZE11dGF0aW9uID0gZ3FsVHlwZWQ8VXBkYXRlUmVjZWl2ZWRDb250YWN0Q2FyZE11dGF0aW9uPmBcbm11dGF0aW9uIFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRNdXRhdGlvbihcbiAgJGlucHV0OiBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkSW5wdXQhXG4pIHtcbiAgdXBkYXRlUmVjZWl2ZWRDb250YWN0Q2FyZChpbnB1dDogJGlucHV0KSB7XG4gICAgcmVjZWl2ZWRDb250YWN0Q2FyZCB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5IHtcbiAgb3duZWRDb250YWN0Q2FyZDoge1xuICAgIHNoYXJlZEtleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gICAgb3duZXJLZXk6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IEdldE93bmVkQ29udGFjdENhcmRLZXlJZHNRdWVyeSA9IGdxbFR5cGVkPEdldE93bmVkQ29udGFjdENhcmRLZXlJZHNRdWVyeT5gXG5xdWVyeSBHZXRPd25lZENvbnRhY3RDYXJkS2V5SWRzUXVlcnkoJGlkOiBMclJlbGF5SWRJbnB1dCEpIHtcbiAgb3duZWRDb250YWN0Q2FyZChpZDogJGlkKSB7XG4gICAgc2hhcmVkS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIG93bmVyS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeSB7XG4gIHJlY2VpdmVkQ29udGFjdENhcmQ6IHtcbiAgICByZWNlaXZlcktleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgR2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkUXVlcnkgPSBncWxUeXBlZDxHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeT5gXG5xdWVyeSBHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeSgkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICByZWNlaXZlZENvbnRhY3RDYXJkKGlkOiAkaWQpIHtcbiAgICByZWNlaXZlcktleSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG4iXX0=
@@ -1,117 +0,0 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { Injectable, NgZone } from '@angular/core';
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 { LrGraphQLService, LrMutation } from './lr-graphql';
8
- import { GetOwnedContactCardKeyIdsQuery, GetReceivedContactCardKeyIdQuery, UpdateOwnedContactCardMutation, UpdateReceivedContactCardMutation, } from './shared-contact-card2.gql';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../cryptography/key.service";
11
- import * as i2 from "../cryptography/key-graph.service";
12
- import * as i3 from "../cryptography/encryption.service";
13
- import * as i4 from "./lr-graphql/lr-graphql.service";
14
- let SharedContactCard2Service = class SharedContactCard2Service {
15
- constructor(ngZone, keyService, keyGraph, encryptionService, lrGraphQL) {
16
- this.ngZone = ngZone;
17
- this.keyService = keyService;
18
- this.keyGraph = keyGraph;
19
- this.encryptionService = encryptionService;
20
- this.lrGraphQL = lrGraphQL;
21
- }
22
- getOwnedContactCardKeyIds(id) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const { ownedContactCard: cc } = yield this.lrGraphQL.query({
25
- query: GetOwnedContactCardKeyIdsQuery,
26
- variables: {
27
- id,
28
- },
29
- });
30
- return {
31
- sharedKeyId: cc.sharedKey.id,
32
- ownerKeyId: cc.ownerKey.id,
33
- };
34
- });
35
- }
36
- getReceivedContactCardKeyId(id) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- return (yield this.lrGraphQL.query({
39
- query: GetReceivedContactCardKeyIdQuery,
40
- variables: {
41
- id,
42
- },
43
- })).receivedContactCard.receiverKey.id;
44
- });
45
- }
46
- updateOwnedContactCard({ id, ownerKeyId, sharedKeyId, ownerPlainDataJson, ownerCipherDataClearJson, sharedCipherDataClearJson, }) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- let ownerKey;
49
- let sharedKey;
50
- try {
51
- ownerKey = yield this.keyGraph.getKey(ownerKeyId);
52
- sharedKey = yield this.keyGraph.getKey(sharedKeyId);
53
- }
54
- catch (error) {
55
- const keys = yield this.getOwnedContactCardKeyIds(id);
56
- // try again
57
- ownerKey = yield this.keyGraph.getKey(keys.ownerKeyId);
58
- sharedKey = yield this.keyGraph.getKey(keys.sharedKeyId);
59
- }
60
- const sigPxk = yield this.keyService.getCurrentSigPxk();
61
- const sharedCipherData = yield this.encryptionService.encrypt(sharedKey.jwk, sharedCipherDataClearJson);
62
- const sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, sharedCipherData));
63
- const ownerPlainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ownerPlainDataJson));
64
- const ownerCipherData = yield this.encryptionService.encryptToString(ownerKey.jwk, ownerCipherDataClearJson);
65
- return new LrMutation({
66
- mutation: UpdateOwnedContactCardMutation,
67
- variables: {
68
- input: {
69
- id,
70
- ownerCipherData,
71
- ownerKeyId: ownerKey.id,
72
- sharedCipherDataSig,
73
- sharedKeyId: sharedKey.id,
74
- sigPxkId: sigPxk.id,
75
- ownerPlainDataSig,
76
- },
77
- },
78
- });
79
- });
80
- }
81
- updateReceivedContactCard({ id, receiverKeyId, receiverCipherDataClearJson, }) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const receiverKey = yield this.keyGraph.getKey(receiverKeyId, () => this.getReceivedContactCardKeyId(id));
84
- const receiverCipherData = yield this.encryptionService.encryptToString(receiverKey.jwk, receiverCipherDataClearJson);
85
- return new LrMutation({
86
- mutation: UpdateReceivedContactCardMutation,
87
- variables: {
88
- input: {
89
- id,
90
- receiverCipherData,
91
- receiverKeyId: receiverKey.id,
92
- },
93
- },
94
- });
95
- });
96
- }
97
- };
98
- SharedContactCard2Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedContactCard2Service_Factory() { return new SharedContactCard2Service(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.KeyService), i0.ɵɵinject(i2.KeyGraphService), i0.ɵɵinject(i3.EncryptionService), i0.ɵɵinject(i4.LrGraphQLService)); }, token: SharedContactCard2Service, providedIn: "root" });
99
- SharedContactCard2Service.decorators = [
100
- { type: Injectable, args: [{
101
- providedIn: 'root',
102
- },] }
103
- ];
104
- SharedContactCard2Service.ctorParameters = () => [
105
- { type: NgZone },
106
- { type: KeyService },
107
- { type: KeyGraphService },
108
- { type: EncryptionService },
109
- { type: LrGraphQLService }
110
- ];
111
- SharedContactCard2Service = __decorate([
112
- RunOutsideAngular({
113
- ngZoneName: 'ngZone',
114
- })
115
- ], SharedContactCard2Service);
116
- export { SharedContactCard2Service };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZDIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL3NoYXJlZC1jb250YWN0LWNhcmQyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsaUNBQWlDLEdBQ2xDLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztJQXFCdkIseUJBQXlCLFNBQXpCLHlCQUF5QjtJQUNwQyxZQUNVLE1BQWMsRUFDZCxVQUFzQixFQUN0QixRQUF5QixFQUN6QixpQkFBb0MsRUFDcEMsU0FBMkI7UUFKM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNsQyxDQUFDO0lBRVUseUJBQXlCLENBQUMsRUFBa0I7O1lBQ3hELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENB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QUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2pFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUMsQ0FDckMsQ0FBQztZQUVGLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNyRSxXQUFXLENBQUMsR0FBRyxFQUNmLDJCQUEyQixDQUM1QixDQUFDO1lBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQztnQkFDcEIsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRTt3QkFDTCxFQUFFO3dCQUNGLGtCQUFrQjt3QkFDbEIsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUFFO3FCQUM5QjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtDQUNGLENBQUE7OztZQXZIQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXBDb0IsTUFBTTtZQUlsQixVQUFVO1lBRFYsZUFBZTtZQURmLGlCQUFpQjtZQVFqQixnQkFBZ0I7O0FBMkJaLHlCQUF5QjtJQU5yQyxpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcseUJBQXlCLENBb0hyQztTQXBIWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9jcnlwdG9ncmFwaHkudHlwZXMnO1xuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIENvbnRhY3RDYXJkUmVjZWl2ZXJDaXBoZXJEYXRhLFxuICBTZW5kQ29udGFjdENhcmRJbnB1dCxcbn0gZnJvbSAnLi9rZXktZXhjaGFuZ2UyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHJHcmFwaFFMU2VydmljZSwgTHJNdXRhdGlvbiB9IGZyb20gJy4vbHItZ3JhcGhxbCc7XG5pbXBvcnQge1xuICBHZXRPd25lZENvbnRhY3RDYXJkS2V5SWRzUXVlcnksXG4gIEdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZFF1ZXJ5LFxuICBVcGRhdGVPd25lZENvbnRhY3RDYXJkTXV0YXRpb24sXG4gIFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi9zaGFyZWQtY29udGFjdC1jYXJkMi5ncWwnO1xuaW1wb3J0IHsgTHJSZWxheUlkSW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVPd25lZENvbnRhY3RDYXJkSW5wdXQgZXh0ZW5kcyBTZW5kQ29udGFjdENhcmRJbnB1dCB7XG4gIGlkOiBMclJlbGF5SWRJbnB1dDtcbiAgb3duZXJLZXlJZD86IExyUmVsYXlJZElucHV0O1xuICBzaGFyZWRLZXlJZD86IExyUmVsYXlJZElucHV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRJbnB1dFxuICBleHRlbmRzIENvbnRhY3RDYXJkUmVjZWl2ZXJDaXBoZXJEYXRhIHtcbiAgaWQ6IExyUmVsYXlJZElucHV0O1xuICByZWNlaXZlcktleUlkPzogTHJSZWxheUlkSW5wdXQ7XG59XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb250YWN0Q2FyZDJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbHJHcmFwaFFMOiBMckdyYXBoUUxTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGFzeW5jIGdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgeyBvd25lZENvbnRhY3RDYXJkOiBjYyB9ID0gYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgcXVlcnk6IEdldE93bmVkQ29udGFjdENhcmRLZXlJZHNRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2hhcmVkS2V5SWQ6IGNjLnNoYXJlZEtleS5pZCxcbiAgICAgIG93bmVyS2V5SWQ6IGNjLm93bmVyS2V5LmlkLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZChpZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgICBxdWVyeTogR2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkUXVlcnksXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGlkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApLnJlY2VpdmVkQ29udGFjdENhcmQucmVjZWl2ZXJLZXkuaWQ7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPd25lZENvbnRhY3RDYXJkKHtcbiAgICBpZCxcbiAgICBvd25lcktleUlkLFxuICAgIHNoYXJlZEtleUlkLFxuICAgIG93bmVyUGxhaW5EYXRhSnNvbixcbiAgICBvd25lckNpcGhlckRhdGFDbGVhckpzb24sXG4gICAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgfTogVXBkYXRlT3duZWRDb250YWN0Q2FyZElucHV0KSB7XG4gICAgbGV0IG93bmVyS2V5OiBLZXk7XG4gICAgbGV0IHNoYXJlZEtleTogS2V5O1xuXG4gICAgdHJ5IHtcbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkob3duZXJLZXlJZCk7XG4gICAgICBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShzaGFyZWRLZXlJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGtleXMgPSBhd2FpdCB0aGlzLmdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQpO1xuXG4gICAgICAvLyB0cnkgYWdhaW5cbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoa2V5cy5vd25lcktleUlkKTtcbiAgICAgIHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGtleXMuc2hhcmVkS2V5SWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ1B4ayA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50U2lnUHhrKCk7XG5cbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgc2hhcmVkS2V5Lmp3ayxcbiAgICAgIHNoYXJlZENpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBzaGFyZWRDaXBoZXJEYXRhKVxuICAgICk7XG5cbiAgICBjb25zdCBvd25lclBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIG93bmVyUGxhaW5EYXRhSnNvbilcbiAgICApO1xuXG4gICAgY29uc3Qgb3duZXJDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBvd25lcktleS5qd2ssXG4gICAgICBvd25lckNpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVPd25lZENvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBvd25lckNpcGhlckRhdGEsXG4gICAgICAgICAgb3duZXJLZXlJZDogb3duZXJLZXkuaWQsXG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YVNpZyxcbiAgICAgICAgICBzaGFyZWRLZXlJZDogc2hhcmVkS2V5LmlkLFxuICAgICAgICAgIHNpZ1B4a0lkOiBzaWdQeGsuaWQsXG4gICAgICAgICAgb3duZXJQbGFpbkRhdGFTaWcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlUmVjZWl2ZWRDb250YWN0Q2FyZCh7XG4gICAgaWQsXG4gICAgcmVjZWl2ZXJLZXlJZCxcbiAgICByZWNlaXZlckNpcGhlckRhdGFDbGVhckpzb24sXG4gIH06IFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRJbnB1dCkge1xuICAgIGNvbnN0IHJlY2VpdmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkocmVjZWl2ZXJLZXlJZCwgKCkgPT5cbiAgICAgIHRoaXMuZ2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkKGlkKVxuICAgICk7XG5cbiAgICBjb25zdCByZWNlaXZlckNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHJlY2VpdmVyS2V5Lmp3ayxcbiAgICAgIHJlY2VpdmVyQ2lwaGVyRGF0YUNsZWFySnNvblxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHJlY2VpdmVyQ2lwaGVyRGF0YSxcbiAgICAgICAgICByZWNlaXZlcktleUlkOiByZWNlaXZlcktleS5pZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,146 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
4
- import { Apollo } from 'apollo-angular';
5
- import gql from 'graphql-tag';
6
- import * as moment_ from 'moment';
7
- import { LrErrorCode, LrException, handleApolloError, } from '../_common/exceptions';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@aws-amplify/auth/lib-esm/Auth";
10
- import * as i2 from "apollo-angular";
11
- // "why?" you ask: https://stackoverflow.com/questions/59735280/angular-8-moment-error-cannot-call-a-namespace-moment
12
- const moment = moment_;
13
- export const ServerTimeQuery = gql `
14
- query {
15
- serverTime {
16
- timestamp
17
- }
18
- }
19
- `;
20
- export class TimeService {
21
- constructor(auth, apollo) {
22
- this.auth = auth;
23
- this.apollo = apollo;
24
- this.VERIFY_ENABLED = true;
25
- this.MAX_DIFF_MSEC = moment
26
- .duration({ seconds: 30 })
27
- .asMilliseconds();
28
- this.offsetMs = null; // Millisecond offset of local clock.
29
- this.verified = false; // Verified with independent time source
30
- }
31
- getAccessToken() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- try {
34
- return (yield this.auth.currentAuthenticatedUser())
35
- .getSignInUserSession()
36
- .getAccessToken()
37
- .getJwtToken();
38
- }
39
- catch (error) {
40
- return ''; // Not authenticated
41
- }
42
- });
43
- }
44
- // Get time from independent source to confirm.
45
- verifyCognito() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const accessToken = yield this.getAccessToken();
48
- if (!accessToken) {
49
- return;
50
- }
51
- // Request headers from AWS Amplify Auth lib
52
- // accept: */*
53
- // accept-encoding: gzip, deflate, br
54
- // accept-language: en-GB,en-US;q=0.9,en;q=0.8
55
- // cache-control: no-cache
56
- // content-length: 1089
57
- // content-type: application/x-amz-json-1.1
58
- // origin: http://localhost:4200
59
- // pragma: no-cache
60
- // referer: http://localhost:4200/
61
- // sec-fetch-dest: empty
62
- // sec-fetch-mode: cors
63
- // sec-fetch-site: cross-site
64
- // user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
65
- // x-amz-target: AWSCognitoIdentityProviderService.GetUser
66
- // x-amz-user-agent: aws-amplify/0.1.x js
67
- // We are only interested in the Date field.
68
- // AZ: I suppose we could use any end-point that provides a reliable Date field in the header. And we don't
69
- // need to be authenticated. Even a 400 response would have a Date header. But the worry is that AWS might
70
- // think it's some sort of attack, and block the IP or domain. At least in an authenticated call it can't be
71
- // seen as illegitimate.
72
- const response = yield fetch('https://cognito-idp.ap-southeast-2.amazonaws.com/', {
73
- method: 'POST',
74
- mode: 'cors',
75
- cache: 'no-cache',
76
- headers: {
77
- 'x-amz-target': 'AWSCognitoIdentityProviderService.GetUser',
78
- 'x-amz-user-agent': 'aws-amplify/0.1.x js',
79
- 'Content-Type': 'application/x-amz-json-1.1',
80
- },
81
- // redirect: 'follow', // manual, *follow, error
82
- // 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
83
- body: JSON.stringify({
84
- AccessToken: accessToken,
85
- }),
86
- });
87
- const now = Date.now();
88
- const verifyTime = moment(response.headers.get('Date')).valueOf();
89
- const serverTime = now + this.offsetMs;
90
- const diff = Math.abs(serverTime - verifyTime);
91
- if (diff > this.MAX_DIFF_MSEC) {
92
- throw new LrException({
93
- code: LrErrorCode.BadTimeSync,
94
- message: `Server time does not match independent source. ServerTime: ${serverTime}, Cognito time: ${verifyTime}`,
95
- });
96
- }
97
- this.verified = true;
98
- });
99
- }
100
- refresh() {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const start = Date.now();
103
- const res = yield this.apollo
104
- .query({ query: ServerTimeQuery })
105
- .toPromise();
106
- const end = Date.now();
107
- handleApolloError(res.errors);
108
- const serverTime = parseInt(res.data.serverTime.timestamp, 10);
109
- const roundtrip = end - start;
110
- this.offsetMs = serverTime - (start + roundtrip / 2);
111
- if (this.VERIFY_ENABLED) {
112
- yield this.verifyCognito();
113
- }
114
- });
115
- }
116
- serverNow() {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- let needsRefresh = false;
119
- // First call
120
- if (this.offsetMs === null) {
121
- needsRefresh = true;
122
- }
123
- if (this.VERIFY_ENABLED) {
124
- // logged in but not yet verified time matches.
125
- if (!this.verified && (yield this.getAccessToken())) {
126
- needsRefresh = true;
127
- }
128
- }
129
- if (needsRefresh) {
130
- yield this.refresh();
131
- }
132
- return Date.now() + this.offsetMs;
133
- });
134
- }
135
- }
136
- TimeService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TimeService_Factory() { return new TimeService(i0.ɵɵinject(i1.AuthClass), i0.ɵɵinject(i2.Apollo)); }, token: TimeService, providedIn: "root" });
137
- TimeService.decorators = [
138
- { type: Injectable, args: [{
139
- providedIn: 'root',
140
- },] }
141
- ];
142
- TimeService.ctorParameters = () => [
143
- { type: AuthClass },
144
- { type: Apollo }
145
- ];
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBQy9CLHFIQUFxSDtBQUNySCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFFdkIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTWpDLENBQUM7QUFTRixNQUFNLE9BQU8sV0FBVztJQVN0QixZQUFvQixJQUFlLEVBQVUsTUFBYztRQUF2QyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVJwRCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNaLGtCQUFhLEdBQUcsTUFBTTthQUNwQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7YUFDekIsY0FBYyxFQUFFLENBQUM7UUFFcEIsYUFBUSxHQUFXLElBQUksQ0FBQyxDQUFDLHFDQUFxQztRQUM5RCxhQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsd0NBQXdDO0lBRUksQ0FBQztJQUVqRCxjQUFjOztZQUMxQixJQUFJO2dCQUNGLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsd0JB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RXJELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDO0tBQUE7SUFFSyxTQUFTOztZQUNiLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztZQUV6QixhQUFhO1lBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtnQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQzthQUNyQjtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdkIsK0NBQStDO2dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUU7b0JBQ25ELFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQ3JCO2FBQ0Y7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdEI7WUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BDLENBQUM7S0FBQTs7OztZQWhJRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTFCUSxTQUFTO1lBQ1QsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7XG4gIExyRXJyb3JDb2RlLFxuICBMckV4Y2VwdGlvbixcbiAgaGFuZGxlQXBvbGxvRXJyb3IsXG59IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG4vLyBcIndoeT9cIiB5b3UgYXNrOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81OTczNTI4MC9hbmd1bGFyLTgtbW9tZW50LWVycm9yLWNhbm5vdC1jYWxsLWEtbmFtZXNwYWNlLW1vbWVudFxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuZXhwb3J0IGNvbnN0IFNlcnZlclRpbWVRdWVyeSA9IGdxbGBcbiAgcXVlcnkge1xuICAgIHNlcnZlclRpbWUge1xuICAgICAgdGltZXN0YW1wXG4gICAgfVxuICB9XG5gO1xuXG5pbnRlcmZhY2UgU2VydmVyVGltZSB7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGltZVNlcnZpY2Uge1xuICBwdWJsaWMgVkVSSUZZX0VOQUJMRUQgPSB0cnVlO1xuICBwcml2YXRlIHJlYWRvbmx5IE1BWF9ESUZGX01TRUMgPSBtb21lbnRcbiAgICAuZHVyYXRpb24oeyBzZWNvbmRzOiAzMCB9KVxuICAgIC5hc01pbGxpc2Vjb25kcygpO1xuXG4gIG9mZnNldE1zOiBudW1iZXIgPSBudWxsOyAvLyBNaWxsaXNlY29uZCBvZmZzZXQgb2YgbG9jYWwgY2xvY2suXG4gIHZlcmlmaWVkID0gZmFsc2U7IC8vIFZlcmlmaWVkIHdpdGggaW5kZXBlbmRlbnQgdGltZSBzb3VyY2VcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6IEF1dGhDbGFzcywgcHJpdmF0ZSBhcG9sbG86IEFwb2xsbykge31cblxuICBwcml2YXRlIGFzeW5jIGdldEFjY2Vzc1Rva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5hdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpKVxuICAgICAgICAuZ2V0U2lnbkluVXNlclNlc3Npb24oKVxuICAgICAgICAuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgICAuZ2V0Snd0VG9rZW4oKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuICcnOyAvLyBOb3QgYXV0aGVudGljYXRlZFxuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aW1lIGZyb20gaW5kZXBlbmRlbnQgc291cmNlIHRvIGNvbmZpcm0uXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5Q29nbml0bygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICBpZiAoIWFjY2Vzc1Rva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUmVxdWVzdCBoZWFkZXJzIGZyb20gQVdTIEFtcGxpZnkgQXV0aCBsaWJcbiAgICAvLyBhY2NlcHQ6ICovKlxuICAgIC8vIGFjY2VwdC1lbmNvZGluZzogZ3ppcCwgZGVmbGF0ZSwgYnJcbiAgICAvLyBhY2NlcHQtbGFuZ3VhZ2U6IGVuLUdCLGVuLVVTO3E9MC45LGVuO3E9MC44XG4gICAgLy8gY2FjaGUtY29udHJvbDogbm8tY2FjaGVcbiAgICAvLyBjb250ZW50LWxlbmd0aDogMTA4OVxuICAgIC8vIGNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC1hbXotanNvbi0xLjFcbiAgICAvLyBvcmlnaW46IGh0dHA6Ly9sb2NhbGhvc3Q6NDIwMFxuICAgIC8vIHByYWdtYTogbm8tY2FjaGVcbiAgICAvLyByZWZlcmVyOiBodHRwOi8vbG9jYWxob3N0OjQyMDAvXG4gICAgLy8gc2VjLWZldGNoLWRlc3Q6IGVtcHR5XG4gICAgLy8gc2VjLWZldGNoLW1vZGU6IGNvcnNcbiAgICAvLyBzZWMtZmV0Y2gtc2l0ZTogY3Jvc3Mtc2l0ZVxuICAgIC8vIHVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzgwLjAuMzk4Ny4xMzIgU2FmYXJpLzUzNy4zNlxuICAgIC8vIHgtYW16LXRhcmdldDogQVdTQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLkdldFVzZXJcbiAgICAvLyB4LWFtei11c2VyLWFnZW50OiBhd3MtYW1wbGlmeS8wLjEueCBqc1xuXG4gICAgLy8gV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgRGF0ZSBmaWVsZC5cbiAgICAvLyBBWjogSSBzdXBwb3NlIHdlIGNvdWxkIHVzZSBhbnkgZW5kLXBvaW50IHRoYXQgcHJvdmlkZXMgYSByZWxpYWJsZSBEYXRlIGZpZWxkIGluIHRoZSBoZWFkZXIuIEFuZCB3ZSBkb24ndFxuICAgIC8vIG5lZWQgdG8gYmUgYXV0aGVudGljYXRlZC4gRXZlbiBhIDQwMCByZXNwb25zZSB3b3VsZCBoYXZlIGEgRGF0ZSBoZWFkZXIuIEJ1dCB0aGUgd29ycnkgaXMgdGhhdCBBV1MgbWlnaHRcbiAgICAvLyB0aGluayBpdCdzIHNvbWUgc29ydCBvZiBhdHRhY2ssIGFuZCBibG9jayB0aGUgSVAgb3IgZG9tYWluLiBBdCBsZWFzdCBpbiBhbiBhdXRoZW50aWNhdGVkIGNhbGwgaXQgY2FuJ3QgYmVcbiAgICAvLyBzZWVuIGFzIGlsbGVnaXRpbWF0ZS5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgJ2h0dHBzOi8vY29nbml0by1pZHAuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbS8nLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJywgLy8gKkdFVCwgUE9TVCwgUFVULCBERUxFVEUsIGV0Yy5cbiAgICAgICAgbW9kZTogJ2NvcnMnLCAvLyBuby1jb3JzLCAqY29ycywgc2FtZS1vcmlnaW5cbiAgICAgICAgY2FjaGU6ICduby1jYWNoZScsIC8vICpkZWZhdWx0LCBuby1jYWNoZSwgcmVsb2FkLCBmb3JjZS1jYWNoZSwgb25seS1pZi1jYWNoZWRcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICd4LWFtei10YXJnZXQnOiAnQVdTQ29nbml0b0lkZW50aXR5UHJvdmlkZXJTZXJ2aWNlLkdldFVzZXInLFxuICAgICAgICAgICd4LWFtei11c2VyLWFnZW50JzogJ2F3cy1hbXBsaWZ5LzAuMS54IGpzJyxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtYW16LWpzb24tMS4xJyxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gcmVkaXJlY3Q6ICdmb2xsb3cnLCAvLyBtYW51YWwsICpmb2xsb3csIGVycm9yXG4gICAgICAgIC8vIHJlZmVycmVyUG9saWN5OiAnbm8tcmVmZXJyZXInLCAvLyBuby1yZWZlcnJlciwgKm5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLCBvcmlnaW4sIG9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiwgc2FtZS1vcmlnaW4sIHN0cmljdC1vcmlnaW4sIHN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4sIHVuc2FmZS11cmxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIEFjY2Vzc1Rva2VuOiBhY2Nlc3NUb2tlbixcbiAgICAgICAgfSksIC8vIGJvZHkgZGF0YSB0eXBlIG11c3QgbWF0Y2ggXCJDb250ZW50LVR5cGVcIiBoZWFkZXJcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcblxuICAgIGNvbnN0IHZlcmlmeVRpbWUgPSBtb21lbnQocmVzcG9uc2UuaGVhZGVycy5nZXQoJ0RhdGUnKSkudmFsdWVPZigpO1xuICAgIGNvbnN0IHNlcnZlclRpbWUgPSBub3cgKyB0aGlzLm9mZnNldE1zO1xuICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhzZXJ2ZXJUaW1lIC0gdmVyaWZ5VGltZSk7XG5cbiAgICBpZiAoZGlmZiA+IHRoaXMuTUFYX0RJRkZfTVNFQykge1xuICAgICAgdGhyb3cgbmV3IExyRXhjZXB0aW9uKHtcbiAgICAgICAgY29kZTogTHJFcnJvckNvZGUuQmFkVGltZVN5bmMsXG4gICAgICAgIG1lc3NhZ2U6IGBTZXJ2ZXIgdGltZSBkb2VzIG5vdCBtYXRjaCBpbmRlcGVuZGVudCBzb3VyY2UuIFNlcnZlclRpbWU6ICR7c2VydmVyVGltZX0sIENvZ25pdG8gdGltZTogJHt2ZXJpZnlUaW1lfWAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcG9sbG9cbiAgICAgIC5xdWVyeTx7IHNlcnZlclRpbWU6IFNlcnZlclRpbWUgfT4oeyBxdWVyeTogU2VydmVyVGltZVF1ZXJ5IH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gICAgY29uc3QgZW5kID0gRGF0ZS5ub3coKTtcblxuICAgIGhhbmRsZUFwb2xsb0Vycm9yKHJlcy5lcnJvcnMpO1xuXG4gICAgY29uc3Qgc2VydmVyVGltZSA9IHBhcnNlSW50KHJlcy5kYXRhLnNlcnZlclRpbWUudGltZXN0YW1wLCAxMCk7XG5cbiAgICBjb25zdCByb3VuZHRyaXAgPSBlbmQgLSBzdGFydDtcbiAgICB0aGlzLm9mZnNldE1zID0gc2VydmVyVGltZSAtIChzdGFydCArIHJvdW5kdHJpcCAvIDIpO1xuXG4gICAgaWYgKHRoaXMuVkVSSUZZX0VOQUJMRUQpIHtcbiAgICAgIGF3YWl0IHRoaXMudmVyaWZ5Q29nbml0bygpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNlcnZlck5vdygpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGxldCBuZWVkc1JlZnJlc2ggPSBmYWxzZTtcblxuICAgIC8vIEZpcnN0IGNhbGxcbiAgICBpZiAodGhpcy5vZmZzZXRNcyA9PT0gbnVsbCkge1xuICAgICAgbmVlZHNSZWZyZXNoID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5WRVJJRllfRU5BQkxFRCkge1xuICAgICAgLy8gbG9nZ2VkIGluIGJ1dCBub3QgeWV0IHZlcmlmaWVkIHRpbWUgbWF0Y2hlcy5cbiAgICAgIGlmICghdGhpcy52ZXJpZmllZCAmJiAoYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpKSkge1xuICAgICAgICBuZWVkc1JlZnJlc2ggPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZWVkc1JlZnJlc2gpIHtcbiAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIHJldHVybiBEYXRlLm5vdygpICsgdGhpcy5vZmZzZXRNcztcbiAgfVxufVxuIl19
@@ -1,168 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
4
- import { Keepalive } from '@ng-idle/keepalive';
5
- import { KeyService } from '../cryptography/key.service';
6
- import { LrBadArgumentException, LrBadStateException, } from '../_common/exceptions';
7
- import { LR_CONFIG } from '../life-ready.config';
8
- import { HttpClient } from '@angular/common/http';
9
- import { Config } from './idle.types';
10
- import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../life-ready.config";
13
- import * as i2 from "@angular/common/http";
14
- import * as i3 from "@ng-idle/core";
15
- import * as i4 from "@ng-idle/keepalive";
16
- import * as i5 from "../cryptography/key.service";
17
- import * as i6 from "@aws-amplify/auth/lib-esm/Auth";
18
- export class IdleService {
19
- constructor(config, http, idle, keepalive, keyService, auth) {
20
- this.config = config;
21
- this.http = http;
22
- this.idle = idle;
23
- this.keepalive = keepalive;
24
- this.keyService = keyService;
25
- this.auth = auth;
26
- this.IDLE_EXPIRY_KEY = 'ng2Idle.main.expiry';
27
- this.IDLING_KEY = 'ng2Idle.main.idling';
28
- this.initCalled = false;
29
- }
30
- assertInit() {
31
- if (!this.initCalled) {
32
- throw new LrBadStateException('Call IdleService.init() first.');
33
- }
34
- }
35
- init(params) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- if (this.initCalled) {
38
- throw new LrBadStateException('IdleService.init() can only be called once. IdleService.start() calls init() with default values if init() has not been called yet.');
39
- }
40
- this.initCalled = true;
41
- // Defaults
42
- params = Object.assign({ onTimeout: null, onKeepalive: null, idleSec: Config.IDLE, timeoutSec: Config.TIMEOUT, keepAliveIntervalSec: Config.KEEP_ALIVE_INTERVAL }, params);
43
- // If timeoutSec == 0 then the onTimeout() callback is never called.
44
- if (params.timeoutSec < 0.01) {
45
- throw new LrBadArgumentException('Minimum value for IdleService.init({ timeoutSec }) is 0.01');
46
- }
47
- this.onTimeout = params.onTimeout;
48
- this.onKeepalive = params.onKeepalive;
49
- // ------------------------------------------------------------------------
50
- // Setup Idle
51
- // ------------------------------------------------------------------------
52
- // sets an idle timeout of 5 seconds, for testing purposes.
53
- this.idle.setIdle(params.idleSec);
54
- // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.
55
- this.idle.setTimeout(params.timeoutSec);
56
- // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
57
- this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
58
- this.idle.onIdleEnd.subscribe(() => console.log('Idle stopped'));
59
- this.idle.onIdleStart.subscribe(() => console.log('Idle started'));
60
- this.idle.onTimeout.subscribe(() => __awaiter(this, void 0, void 0, function* () {
61
- console.log('Idle timed out');
62
- this.reset();
63
- yield Promise.resolve(this.onTimeout && this.onTimeout());
64
- }));
65
- this.idle.onTimeoutWarning.subscribe((countdown) => console.log(`Will timeout in ${countdown} seconds!`));
66
- // ------------------------------------------------------------------------
67
- // Setup Keepalive
68
- // ------------------------------------------------------------------------
69
- // Ref: https://github.com/moribvndvs/ng2-idle#readme
70
- // ng-idle will instruct @ng-idle/keepalive to ping while the user is active, and stop once
71
- // they go idle or time out. When the user resumes activity or the idle state is reset, it will
72
- // ping immediately and then resume pinging.
73
- this.keepalive.interval(params.keepAliveIntervalSec);
74
- console.log(`Keep alive interval set at: ${Config.KEEP_ALIVE_INTERVAL} seconds`);
75
- this.keepalive.onPing.subscribe(() => this.onPing());
76
- // If the browser tab has been closed for a period longer thant the inactivity
77
- // period, then we should logout right from the start.
78
- const idleExpiry = localStorage.getItem(this.IDLE_EXPIRY_KEY);
79
- if (idleExpiry &&
80
- parseInt(idleExpiry, 10) + this.idle.getTimeout() * 1000 < Date.now()) {
81
- this.reset();
82
- yield Promise.resolve(this.onTimeout && this.onTimeout());
83
- }
84
- });
85
- }
86
- keepalivePost() {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- // currentAuthenticatedUser() refreshes the access token if required.
89
- const cognitoUser = yield this.auth.currentAuthenticatedUser();
90
- const keepaliveResult = yield this.http
91
- .post(`${this.config.authUrl}auth/keepalive/`, null, {
92
- withCredentials: true,
93
- headers: {
94
- Authorization: `Bearer ${cognitoUser
95
- .getSignInUserSession()
96
- .getAccessToken()
97
- .getJwtToken()}`,
98
- },
99
- })
100
- .toPromise();
101
- return {
102
- keepaliveResult,
103
- expiresAfterSeconds: this.idle.getIdle() +
104
- this.idle.getTimeout() +
105
- this.keepalive.interval(),
106
- };
107
- });
108
- }
109
- persistMasterKey(masterKey) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- // The keepalive API call extends the server-side session, the session cookie expiry, refresh key cookie
112
- // expiry, and returns the session expiry.
113
- // NOTE Use time delta rather than absolute time, since client clock and server clock maybe
114
- // out of sync. We can't use the serverTime() functionality because the cookie expiry still
115
- // run on local clock.
116
- const { expiresAfterSeconds } = yield this.keepalivePost();
117
- // Persist the derived passKey
118
- yield this.keyService.persistMasterKey(masterKey, expiresAfterSeconds);
119
- console.log('setMasterKey() done');
120
- });
121
- }
122
- onPing() {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- console.log(`Keep alive triggered at time: ${Date.now()}. Interval set at: ${this.keepalive.interval()} seconds`);
125
- // Keepalive API will extend the session expiry.
126
- const { expiresAfterSeconds } = yield this.keepalivePost();
127
- // Extend the expiry of the persisted key
128
- yield this.keyService.setMasterKeyExpiresAfterSeconds(expiresAfterSeconds);
129
- yield Promise.resolve(this.onKeepalive && this.onKeepalive());
130
- });
131
- }
132
- start() {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- if (!this.initCalled) {
135
- yield this.init();
136
- }
137
- if (this.idle.isRunning()) {
138
- return;
139
- }
140
- // Ping does not seem to happen right at the start. So we call it explicitly
141
- yield this.onPing();
142
- this.idle.watch();
143
- });
144
- }
145
- stop() {
146
- this.idle.stop();
147
- this.reset();
148
- }
149
- reset() {
150
- localStorage.removeItem(this.IDLE_EXPIRY_KEY);
151
- localStorage.removeItem(this.IDLING_KEY);
152
- }
153
- }
154
- IdleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function IdleService_Factory() { return new IdleService(i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.Idle), i0.ɵɵinject(i4.Keepalive), i0.ɵɵinject(i5.KeyService), i0.ɵɵinject(i6.AuthClass)); }, token: IdleService, providedIn: "root" });
155
- IdleService.decorators = [
156
- { type: Injectable, args: [{
157
- providedIn: 'root',
158
- },] }
159
- ];
160
- IdleService.ctorParameters = () => [
161
- { type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
162
- { type: HttpClient },
163
- { type: Idle },
164
- { type: Keepalive },
165
- { type: KeyService },
166
- { type: AuthClass }
167
- ];
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hdXRoL2lkbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFHdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQWMzRCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUM2QixNQUF1QixFQUMxQyxJQUFnQixFQUNoQixJQUFVLEVBQ1YsU0FBb0IsRUFDcEIsVUFBc0IsRUFDdEIsSUFBZTtRQUxJLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFXO1FBYlIsb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxlQUFVLEdBQUcscUJBQXFC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QUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLEtBQUs7UUFDWCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7O1lBdExGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQVVJLE1BQU0sU0FBQyxTQUFTO1lBM0JaLFVBQVU7WUFSVixJQUFJO1lBQ0osU0FBUztZQUNULFVBQVU7WUFVVixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZGxlLCBERUZBVUxUX0lOVEVSUlVQVFNPVVJDRVMgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcbmltcG9ydCB7IEtlZXBhbGl2ZSB9IGZyb20gJ0BuZy1pZGxlL2tlZXBhbGl2ZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExyQmFkQXJndW1lbnRFeGNlcHRpb24sXG4gIExyQmFkU3RhdGVFeGNlcHRpb24sXG59IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBMaWZlUmVhZHlDb25maWcsIExSX0NPTkZJRyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb25maWcsIEtlZXBhbGl2ZVJlc3VsdCB9IGZyb20gJy4vaWRsZS50eXBlcyc7XG5pbXBvcnQgeyBLZXkgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcbmltcG9ydCB7IENvZ25pdG9Vc2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2F1dGgnO1xuaW1wb3J0IHsgQXV0aENsYXNzIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2F1dGgvbGliLWVzbS9BdXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBJZGxlU2VydmljZUluaXQge1xuICAvLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBFdmVudEVtaXR0ZXIgaW5zdGVhZCBvZiBhIGNhbGxiYWNrLlxuICBvblRpbWVvdXQ/OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgb25LZWVwYWxpdmU/OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgaWRsZVNlYz86IG51bWJlcjtcbiAgdGltZW91dFNlYz86IG51bWJlcjtcbiAga2VlcEFsaXZlSW50ZXJ2YWxTZWM/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJZGxlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgSURMRV9FWFBJUllfS0VZID0gJ25nMklkbGUubWFpbi5leHBpcnknO1xuICBwcml2YXRlIHJlYWRvbmx5IElETElOR19LRVkgPSAnbmcySWRsZS5tYWluLmlkbGluZyc7XG5cbiAgcHJpdmF0ZSBpbml0Q2FsbGVkID0gZmFsc2U7XG4gIHByaXZhdGUgb25UaW1lb3V0OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgcHJpdmF0ZSBvbktlZXBhbGl2ZTogKCgpID0+IGFueSkgfCAoKCkgPT4gUHJvbWlzZTxhbnk+KSB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMUl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBMaWZlUmVhZHlDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgaWRsZTogSWRsZSxcbiAgICBwcml2YXRlIGtlZXBhbGl2ZTogS2VlcGFsaXZlLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhDbGFzc1xuICApIHt9XG5cbiAgcHJpdmF0ZSBhc3NlcnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pbml0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignQ2FsbCBJZGxlU2VydmljZS5pbml0KCkgZmlyc3QuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXQocGFyYW1zPzogSWRsZVNlcnZpY2VJbml0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaW5pdENhbGxlZCkge1xuICAgICAgdGhyb3cgbmV3IExyQmFkU3RhdGVFeGNlcHRpb24oXG4gICAgICAgICdJZGxlU2VydmljZS5pbml0KCkgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UuIElkbGVTZXJ2aWNlLnN0YXJ0KCkgY2FsbHMgaW5pdCgpIHdpdGggZGVmYXVsdCB2YWx1ZXMgaWYgaW5pdCgpIGhhcyBub3QgYmVlbiBjYWxsZWQgeWV0LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0Q2FsbGVkID0gdHJ1ZTtcblxuICAgIC8vIERlZmF1bHRzXG4gICAgcGFyYW1zID0ge1xuICAgICAgb25UaW1lb3V0OiBudWxsLFxuICAgICAgb25LZWVwYWxpdmU6IG51bGwsXG4gICAgICBpZGxlU2VjOiBDb25maWcuSURMRSxcbiAgICAgIHRpbWVvdXRTZWM6IENvbmZpZy5USU1FT1VULFxuICAgICAga2VlcEFsaXZlSW50ZXJ2YWxTZWM6IENvbmZpZy5LRUVQX0FMSVZFX0lOVEVSVkFMLFxuICAgICAgLi4ucGFyYW1zLFxuICAgIH07XG5cbiAgICAvLyBJZiB0aW1lb3V0U2VjID09IDAgdGhlbiB0aGUgb25UaW1lb3V0KCkgY2FsbGJhY2sgaXMgbmV2ZXIgY2FsbGVkLlxuICAgIGlmIChwYXJhbXMudGltZW91dFNlYyA8IDAuMDEpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uKFxuICAgICAgICAnTWluaW11bSB2YWx1ZSBmb3IgSWRsZVNlcnZpY2UuaW5pdCh7IHRpbWVvdXRTZWMgfSkgaXMgMC4wMSdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5vblRpbWVvdXQgPSBwYXJhbXMub25UaW1lb3V0O1xuICAgIHRoaXMub25LZWVwYWxpdmUgPSBwYXJhbXMub25LZWVwYWxpdmU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTZXR1cCBJZGxlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gc2V0cyBhbiBpZGxlIHRpbWVvdXQgb2YgNSBzZWNvbmRzLCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICB0aGlzLmlkbGUuc2V0SWRsZShwYXJhbXMuaWRsZVNlYyk7XG4gICAgLy8gc2V0cyBhIHRpbWVvdXQgcGVyaW9kIG9mIDUgc2Vjb25kcy4gYWZ0ZXIgMTAgc2Vjb25kcyBvZiBpbmFjdGl2aXR5LCB0aGUgdXNlciB3aWxsIGJlIGNvbnNpZGVyZWQgdGltZWQgb3V0LlxuICAgIHRoaXMuaWRsZS5zZXRUaW1lb3V0KHBhcmFtcy50aW1lb3V0U2VjKTtcbiAgICAvLyBzZXRzIHRoZSBkZWZhdWx0IGludGVycnVwdHMsIGluIHRoaXMgY2FzZSwgdGhpbmdzIGxpa2UgY2xpY2tzLCBzY3JvbGxzLCB0b3VjaGVzIHRvIHRoZSBkb2N1bWVudFxuICAgIHRoaXMuaWRsZS5zZXRJbnRlcnJ1cHRzKERFRkFVTFRfSU5URVJSVVBUU09VUkNFUyk7XG5cbiAgICB0aGlzLmlkbGUub25JZGxlRW5kLnN1YnNjcmliZSgoKSA9PiBjb25zb2xlLmxvZygnSWRsZSBzdG9wcGVkJykpO1xuICAgIHRoaXMuaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4gY29uc29sZS5sb2coJ0lkbGUgc3RhcnRlZCcpKTtcblxuICAgIHRoaXMuaWRsZS5vblRpbWVvdXQuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdJZGxlIHRpbWVkIG91dCcpO1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMub25UaW1lb3V0ICYmIHRoaXMub25UaW1lb3V0KCkpO1xuICAgIH0pO1xuICAgIHRoaXMuaWRsZS5vblRpbWVvdXRXYXJuaW5nLnN1YnNjcmliZSgoY291bnRkb3duOiBhbnkpID0+XG4gICAgICBjb25zb2xlLmxvZyhgV2lsbCB0aW1lb3V0IGluICR7Y291bnRkb3dufSBzZWNvbmRzIWApXG4gICAgKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNldHVwIEtlZXBhbGl2ZVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL21vcmlidm5kdnMvbmcyLWlkbGUjcmVhZG1lXG4gICAgLy8gbmctaWRsZSB3aWxsIGluc3RydWN0IEBuZy1pZGxlL2tlZXBhbGl2ZSB0byBwaW5nIHdoaWxlIHRoZSB1c2VyIGlzIGFjdGl2ZSwgYW5kIHN0b3Agb25jZVxuICAgIC8vIHRoZXkgZ28gaWRsZSBvciB0aW1lIG91dC4gV2hlbiB0aGUgdXNlciByZXN1bWVzIGFjdGl2aXR5IG9yIHRoZSBpZGxlIHN0YXRlIGlzIHJlc2V0LCBpdCB3aWxsXG4gICAgLy8gcGluZyBpbW1lZGlhdGVseSBhbmQgdGhlbiByZXN1bWUgcGluZ2luZy5cbiAgICB0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbChwYXJhbXMua2VlcEFsaXZlSW50ZXJ2YWxTZWMpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYEtlZXAgYWxpdmUgaW50ZXJ2YWwgc2V0IGF0OiAke0NvbmZpZy5LRUVQX0FMSVZFX0lOVEVSVkFMfSBzZWNvbmRzYFxuICAgICk7XG5cbiAgICB0aGlzLmtlZXBhbGl2ZS5vblBpbmcuc3Vic2NyaWJlKCgpID0+IHRoaXMub25QaW5nKCkpO1xuXG4gICAgLy8gSWYgdGhlIGJyb3dzZXIgdGFiIGhhcyBiZWVuIGNsb3NlZCBmb3IgYSBwZXJpb2QgbG9uZ2VyIHRoYW50IHRoZSBpbmFjdGl2aXR5XG4gICAgLy8gcGVyaW9kLCB0aGVuIHdlIHNob3VsZCBsb2dvdXQgcmlnaHQgZnJvbSB0aGUgc3RhcnQuXG4gICAgY29uc3QgaWRsZUV4cGlyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuSURMRV9FWFBJUllfS0VZKTtcbiAgICBpZiAoXG4gICAgICBpZGxlRXhwaXJ5ICYmXG4gICAgICBwYXJzZUludChpZGxlRXhwaXJ5LCAxMCkgKyB0aGlzLmlkbGUuZ2V0VGltZW91dCgpICogMTAwMCA8IERhdGUubm93KClcbiAgICApIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSh0aGlzLm9uVGltZW91dCAmJiB0aGlzLm9uVGltZW91dCgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMga2VlcGFsaXZlUG9zdCgpOiBQcm9taXNlPHtcbiAgICBleHBpcmVzQWZ0ZXJTZWNvbmRzOiBudW1iZXI7XG4gICAga2VlcGFsaXZlUmVzdWx0OiBLZWVwYWxpdmVSZXN1bHQ7XG4gIH0+IHtcbiAgICAvLyBjdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKSByZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBpZiByZXF1aXJlZC5cbiAgICBjb25zdCBjb2duaXRvVXNlcjogQ29nbml0b1VzZXIgPSBhd2FpdCB0aGlzLmF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XG5cbiAgICBjb25zdCBrZWVwYWxpdmVSZXN1bHQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PEtlZXBhbGl2ZVJlc3VsdD4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1hdXRoL2tlZXBhbGl2ZS9gLCBudWxsLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSwgLy8gL2F1dGgva2VlcGFsaXZlLyB3aWxsIGJlIGV4dGVuZGluZyB0aGUgc2Vzc2lvbnMgY29va2llLlxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvZ25pdG9Vc2VyXG4gICAgICAgICAgICAuZ2V0U2lnbkluVXNlclNlc3Npb24oKVxuICAgICAgICAgICAgLmdldEFjY2Vzc1Rva2VuKClcbiAgICAgICAgICAgIC5nZXRKd3RUb2tlbigpfWAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtlZXBhbGl2ZVJlc3VsdCxcbiAgICAgIGV4cGlyZXNBZnRlclNlY29uZHM6XG4gICAgICAgIHRoaXMuaWRsZS5nZXRJZGxlKCkgK1xuICAgICAgICB0aGlzLmlkbGUuZ2V0VGltZW91dCgpICtcbiAgICAgICAgdGhpcy5rZWVwYWxpdmUuaW50ZXJ2YWwoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBlcnNpc3RNYXN0ZXJLZXkobWFzdGVyS2V5OiBLZXkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUaGUga2VlcGFsaXZlIEFQSSBjYWxsIGV4dGVuZHMgdGhlIHNlcnZlci1zaWRlIHNlc3Npb24sIHRoZSBzZXNzaW9uIGNvb2tpZSBleHBpcnksIHJlZnJlc2gga2V5IGNvb2tpZVxuICAgIC8vIGV4cGlyeSwgYW5kIHJldHVybnMgdGhlIHNlc3Npb24gZXhwaXJ5LlxuICAgIC8vIE5PVEUgVXNlIHRpbWUgZGVsdGEgcmF0aGVyIHRoYW4gYWJzb2x1dGUgdGltZSwgc2luY2UgY2xpZW50IGNsb2NrIGFuZCBzZXJ2ZXIgY2xvY2sgbWF5YmVcbiAgICAvLyBvdXQgb2Ygc3luYy4gV2UgY2FuJ3QgdXNlIHRoZSBzZXJ2ZXJUaW1lKCkgZnVuY3Rpb25hbGl0eSBiZWNhdXNlIHRoZSBjb29raWUgZXhwaXJ5IHN0aWxsXG4gICAgLy8gcnVuIG9uIGxvY2FsIGNsb2NrLlxuICAgIGNvbnN0IHsgZXhwaXJlc0FmdGVyU2Vjb25kcyB9ID0gYXdhaXQgdGhpcy5rZWVwYWxpdmVQb3N0KCk7XG5cbiAgICAvLyBQZXJzaXN0IHRoZSBkZXJpdmVkIHBhc3NLZXlcbiAgICBhd2FpdCB0aGlzLmtleVNlcnZpY2UucGVyc2lzdE1hc3RlcktleShtYXN0ZXJLZXksIGV4cGlyZXNBZnRlclNlY29uZHMpO1xuXG4gICAgY29uc29sZS5sb2coJ3NldE1hc3RlcktleSgpIGRvbmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25QaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYEtlZXAgYWxpdmUgdHJpZ2dlcmVkIGF0IHRpbWU6ICR7RGF0ZS5ub3coKX0uIEludGVydmFsIHNldCBhdDogJHt0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbCgpfSBzZWNvbmRzYFxuICAgICk7XG5cbiAgICAvLyBLZWVwYWxpdmUgQVBJIHdpbGwgZXh0ZW5kIHRoZSBzZXNzaW9uIGV4cGlyeS5cbiAgICBjb25zdCB7IGV4cGlyZXNBZnRlclNlY29uZHMgfSA9IGF3YWl0IHRoaXMua2VlcGFsaXZlUG9zdCgpO1xuXG4gICAgLy8gRXh0ZW5kIHRoZSBleHBpcnkgb2YgdGhlIHBlcnNpc3RlZCBrZXlcbiAgICBhd2FpdCB0aGlzLmtleVNlcnZpY2Uuc2V0TWFzdGVyS2V5RXhwaXJlc0FmdGVyU2Vjb25kcyhleHBpcmVzQWZ0ZXJTZWNvbmRzKTtcblxuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSh0aGlzLm9uS2VlcGFsaXZlICYmIHRoaXMub25LZWVwYWxpdmUoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmluaXRDYWxsZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlkbGUuaXNSdW5uaW5nKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQaW5nIGRvZXMgbm90IHNlZW0gdG8gaGFwcGVuIHJpZ2h0IGF0IHRoZSBzdGFydC4gU28gd2UgY2FsbCBpdCBleHBsaWNpdGx5XG4gICAgYXdhaXQgdGhpcy5vblBpbmcoKTtcblxuICAgIHRoaXMuaWRsZS53YXRjaCgpO1xuICB9XG5cbiAgcHVibGljIHN0b3AoKTogdm9pZCB7XG4gICAgdGhpcy5pZGxlLnN0b3AoKTtcbiAgICB0aGlzLnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0KCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuSURMRV9FWFBJUllfS0VZKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLklETElOR19LRVkpO1xuICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export var Config;
2
- (function (Config) {
3
- Config[Config["TIMEOUT"] = 0.01] = "TIMEOUT";
4
- Config[Config["IDLE"] = 1200] = "IDLE";
5
- Config[Config["KEEP_ALIVE_INTERVAL"] = 60] = "KEEP_ALIVE_INTERVAL";
6
- })(Config || (Config = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXV0aC9pZGxlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE1BSVg7QUFKRCxXQUFZLE1BQU07SUFDaEIsNENBQWMsQ0FBQTtJQUNkLHNDQUFjLENBQUE7SUFDZCxrRUFBNEIsQ0FBQTtBQUM5QixDQUFDLEVBSlcsTUFBTSxLQUFOLE1BQU0sUUFJakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb25maWcge1xuICBUSU1FT1VUID0gMC4wMSwgLy8gc2Vjb25kcywgbWluIHZhbHVlIDAuMDEsIGFmdGVyIHN0YXRlIGlzIGlkbGUsIHdhaXQgZm9yIFRJTUVPVVQgc2Vjb25kcyBiZWZvcmUgdGFraW5nIGFjdGlvblxuICBJRExFID0gNjAgKiAyMCwgLy8gc2Vjb25kcywgcGVyaW9kIG9mIGluYWN0aXZpdHkgdG8gY29uc2lkZXIgc3RhdGUgYXMgaWRsZVxuICBLRUVQX0FMSVZFX0lOVEVSVkFMID0gNjAgKiAxLCAvLyBzZWNvbmRzLCB0cmlnZ2VyZWQgb24gYSByZWd1bGFyIGJhc2lzIHdoaWxlIGFjdGl2ZSAoaS5lLiB3aGlsZSBub3QgaWRsaW5nKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtlZXBhbGl2ZVJlc3VsdCB7XG4gIHNlc3Npb246IHtcbiAgICBleHBpcmVzX2FmdGVyX3NlY29uZHM6IG51bWJlcjtcbiAgfTtcbn1cbiJdfQ==