@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
@@ -0,0 +1,41 @@
1
+ import { TrustedPartyDetails } from '../profile/profile.types';
2
+ export class TrustedPartyRole {
3
+ }
4
+ export var TrustedPartyRoleType;
5
+ (function (TrustedPartyRoleType) {
6
+ TrustedPartyRoleType["General"] = "general";
7
+ TrustedPartyRoleType["Scenario"] = "scenario";
8
+ })(TrustedPartyRoleType || (TrustedPartyRoleType = {}));
9
+ export var TrustedPartyType;
10
+ (function (TrustedPartyType) {
11
+ TrustedPartyType["User"] = "user";
12
+ TrustedPartyType["Organisation"] = "organisation";
13
+ })(TrustedPartyType || (TrustedPartyType = {}));
14
+ export var TrustedPartyInviteStatus;
15
+ (function (TrustedPartyInviteStatus) {
16
+ TrustedPartyInviteStatus["Invited"] = "IN_PROGRESS";
17
+ TrustedPartyInviteStatus["Cancelled"] = "CANCELLED";
18
+ TrustedPartyInviteStatus["Declined"] = "DECLINED";
19
+ TrustedPartyInviteStatus["Completed"] = "COMPLETED";
20
+ })(TrustedPartyInviteStatus || (TrustedPartyInviteStatus = {}));
21
+ export class TrustedParties {
22
+ }
23
+ export class SharedTrustedPartyDetails extends TrustedPartyDetails {
24
+ }
25
+ export class TrustedPartyInvite {
26
+ }
27
+ export class TPFeatures {
28
+ }
29
+ export class SharedVaultFeature {
30
+ }
31
+ export class TrustedParty {
32
+ }
33
+ export class FoundTrustedParty {
34
+ }
35
+ export class InviteTrustedParty {
36
+ }
37
+ export class AcceptTrustedPartyInvite {
38
+ }
39
+ export class ConfirmTrustedPartyInvite {
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi90cnVzdGVkLXBhcnR5L3RydXN0ZWQtcGFydHkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHL0QsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsMkNBQW1CLENBQUE7SUFDbkIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGlDQUFhLENBQUE7SUFDYixpREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUVELE1BQU0sQ0FBTixJQUFZLHdCQUtYO0FBTEQsV0FBWSx3QkFBd0I7SUFDbEMsbURBQXVCLENBQUE7SUFDdkIsbURBQXVCLENBQUE7SUFDdkIsaURBQXFCLENBQUE7SUFDckIsbURBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUxXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFLbkM7QUFFRCxNQUFNLE9BQU8sY0FBYztDQUkxQjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxtQkFBbUI7Q0FJakU7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0NBb0I5QjtBQUVELE1BQU0sT0FBTyxVQUFVO0NBRXRCO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtDQUU5QjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBWXhCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU03QjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FJOUI7QUFFRCxNQUFNLE9BQU8sd0JBQXdCO0NBS3BDO0FBRUQsTUFBTSxPQUFPLHlCQUF5QjtDQUlyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlY3J5cHRlZE90ayxcbiAgS2V5RXhjaGFuZ2VNZXNzYWdlLFxuICBQcmVwYXJlZFBlcm1pc3Npb25zLFxuICBVc2VyU2hhcmVkS2V5LFxufSBmcm9tICcuLi9rZXktZXhjaGFuZ2Uva2V5LWV4Y2hhbmdlLnR5cGVzJztcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eURldGFpbHMgfSBmcm9tICcuLi9wcm9maWxlL3Byb2ZpbGUudHlwZXMnO1xuaW1wb3J0IHsgQWNjZXNzTGV2ZWwgfSBmcm9tICcuLy4uL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eVJvbGUge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHJvbGVUeXBlOiBUcnVzdGVkUGFydHlSb2xlVHlwZTtcbiAgY2F0ZWdvcmllczoge1xuICAgIGNhdGVnb3J5OiBzdHJpbmdbXTtcbiAgICBhY2Nlc3NMZXZlbDogQWNjZXNzTGV2ZWw7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGVudW0gVHJ1c3RlZFBhcnR5Um9sZVR5cGUge1xuICBHZW5lcmFsID0gJ2dlbmVyYWwnLFxuICBTY2VuYXJpbyA9ICdzY2VuYXJpbycsXG59XG5cbmV4cG9ydCBlbnVtIFRydXN0ZWRQYXJ0eVR5cGUge1xuICBVc2VyID0gJ3VzZXInLFxuICBPcmdhbmlzYXRpb24gPSAnb3JnYW5pc2F0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gVHJ1c3RlZFBhcnR5SW52aXRlU3RhdHVzIHtcbiAgSW52aXRlZCA9ICdJTl9QUk9HUkVTUycsXG4gIENhbmNlbGxlZCA9ICdDQU5DRUxMRUQnLFxuICBEZWNsaW5lZCA9ICdERUNMSU5FRCcsXG4gIENvbXBsZXRlZCA9ICdDT01QTEVURUQnLFxufVxuXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFBhcnRpZXMge1xuICBwYXJ0aWVzOiBUcnVzdGVkUGFydHlbXTtcbiAgaW52aXRlczogVHJ1c3RlZFBhcnR5SW52aXRlW107XG4gIHNlbnRJbnZpdGVzOiBUcnVzdGVkUGFydHlJbnZpdGVbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFNoYXJlZFRydXN0ZWRQYXJ0eURldGFpbHMgZXh0ZW5kcyBUcnVzdGVkUGFydHlEZXRhaWxzIHtcbiAgaWQ6IHN0cmluZztcbiAgb3duZWRLZXlJZDogc3RyaW5nO1xuICBzaGFyZWRLZXlJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFBhcnR5SW52aXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJ1c3RlZFBhcnR5VHlwZTtcbiAgc3RhdHVzOiBUcnVzdGVkUGFydHlJbnZpdGVTdGF0dXM7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRva2VuRXhwaXJ5OiBzdHJpbmcgfCBEYXRlO1xuICBpc0V4cGlyZWQ6IGJvb2xlYW47XG4gIGlzU2VuZGVyOiBib29sZWFuO1xuICBhY3Rpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuXG4gIGRldGFpbHM/OiBUcnVzdGVkUGFydHlEZXRhaWxzO1xuICBtZXNzYWdlPzogS2V5RXhjaGFuZ2VNZXNzYWdlO1xuICBteVNoYXJlZERldGFpbHM/OiBUcnVzdGVkUGFydHlEZXRhaWxzO1xuICBteVNoYXJlZE1lc3NhZ2U/OiBLZXlFeGNoYW5nZU1lc3NhZ2U7XG5cbiAgcm9vdEtleUNpcGhlcjogc3RyaW5nO1xuICBwYmtDaXBoZXI6IHN0cmluZztcbiAgZGVjcnlwdGVkT3RrOiBEZWNyeXB0ZWRPdGs7XG59XG5cbmV4cG9ydCBjbGFzcyBUUEZlYXR1cmVzIHtcbiAgc2hhcmVkVmF1bHQ6IFNoYXJlZFZhdWx0RmVhdHVyZTtcbn1cblxuZXhwb3J0IGNsYXNzIFNoYXJlZFZhdWx0RmVhdHVyZSB7XG4gIGhhc0FjY2VzczogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRydXN0ZWRQYXJ0eVR5cGU7XG4gIG5hbWU6IHN0cmluZztcblxuICBoYXNTY2VuYXJpb3M6IGJvb2xlYW47XG4gIGhhc1NoYXJlZFZhdWx0OiBib29sZWFuO1xuICBkZXRhaWxzOiBUcnVzdGVkUGFydHlEZXRhaWxzO1xuICBteVNoYXJlZERldGFpbHM6IFNoYXJlZFRydXN0ZWRQYXJ0eURldGFpbHM7XG4gIHVzZXJTaGFyZWRLZXk6IFVzZXJTaGFyZWRLZXk7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIGZlYXR1cmVzOiBUUEZlYXR1cmVzO1xufVxuXG5leHBvcnQgY2xhc3MgRm91bmRUcnVzdGVkUGFydHkge1xuICBpZDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBpc1RydXN0ZWRQYXJ0eTogYm9vbGVhbjtcbiAgaXNNZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEludml0ZVRydXN0ZWRQYXJ0eSB7XG4gIHBhcnR5OiB7IHVzZXJuYW1lPzogc3RyaW5nOyBlbWFpbD86IHN0cmluZzsgbmFtZT86IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZyB9O1xuICBwZXJtaXNzaW9ucz86IFByZXBhcmVkUGVybWlzc2lvbnM7XG4gIG15U2hhcmVkRGV0YWlsczogVHJ1c3RlZFBhcnR5RGV0YWlscztcbn1cblxuZXhwb3J0IGNsYXNzIEFjY2VwdFRydXN0ZWRQYXJ0eUludml0ZSB7XG4gIGludml0ZUlkOiBzdHJpbmc7XG4gIGludml0ZVRva2VuOiBzdHJpbmc7XG4gIGRlY3J5cHRlZE90azogRGVjcnlwdGVkT3RrO1xuICBteVNoYXJlZERldGFpbHM6IFRydXN0ZWRQYXJ0eURldGFpbHM7XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maXJtVHJ1c3RlZFBhcnR5SW52aXRlIHtcbiAgaW52aXRlSWQ6IHN0cmluZztcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlcjogc3RyaW5nO1xuICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,64 @@
1
+ import { gqlTyped } from '../_common/ast';
2
+ export const DeleteTpMutation = gqlTyped `
3
+ mutation DeleteTpMutation($input: DeleteTpInput!) {
4
+ deleteTp(input: $input) {
5
+ id
6
+ }
7
+ }
8
+ `;
9
+ export const ShareDirectoryMutation = gqlTyped `
10
+ mutation ShareDirectoryMutation($input: ShareDirectoryInput!) {
11
+ shareDirectory(input: $input) {
12
+ tpDirectory {
13
+ id
14
+ }
15
+ }
16
+ }
17
+ `;
18
+ export const UnshareDirectoryMutation = gqlTyped `
19
+ mutation UnshareDirectoryMutation($input: UnshareDirectoryInput!) {
20
+ unshareDirectory(input: $input) {
21
+ tpDirectory {
22
+ id
23
+ }
24
+ }
25
+ }
26
+ `;
27
+ export const ShareFileMutation = gqlTyped `
28
+ mutation ShareFileMutation($input: ShareFileInput!) {
29
+ shareFile(input: $input) {
30
+ tpFile {
31
+ id
32
+ }
33
+ }
34
+ }
35
+ `;
36
+ export const UnshareFileMutation = gqlTyped `
37
+ mutation UnshareFileMutation($input: UnshareFileInput!) {
38
+ unshareFile(input: $input) {
39
+ tpFile {
40
+ id
41
+ }
42
+ }
43
+ }
44
+ `;
45
+ export const RequestTpMkReshareMutation = gqlTyped `
46
+ mutation RequestTpMkReshareMutation($input: RequestTpMkReshareInput!) {
47
+ requestTpMkReshare(input: $input) {
48
+ id
49
+ }
50
+ }`;
51
+ export const RespondTpMkReshareMutation = gqlTyped `
52
+ mutation RespondTpMkReshareMutation($input: RespondTpMkReshareInput!) {
53
+ respondTpMkReshare(input: $input) {
54
+ id
55
+ }
56
+ }
57
+ `;
58
+ export const CompleteTpMkReshareMutation = gqlTyped `
59
+ mutation CompleteTpMkReshareMutation($input: CompleteTpMkReshareInput!) {
60
+ completeTpMkReshare(input: $input) {
61
+ id
62
+ }
63
+ }`;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuZ3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3RydXN0ZWQtcGFydHkvdHJ1c3RlZC1wYXJ0eTIuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU8xQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQWtCOzs7Ozs7Q0FNekQsQ0FBQztBQVNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBd0I7Ozs7Ozs7O0NBUXJFLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQTBCOzs7Ozs7OztDQVF6RSxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFtQjs7Ozs7Ozs7Q0FRM0QsQ0FBQztBQVNGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBcUI7Ozs7Ozs7O0NBUS9ELENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQTRCOzs7OztFQUs1RSxDQUFDO0FBT0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUE0Qjs7Ozs7O0NBTTdFLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQTZCOzs7OztFQUs5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUQgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgZ3FsVHlwZWQgfSBmcm9tICcuLi9fY29tbW9uL2FzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlVHBNdXRhdGlvbiB7XG4gIGRlbGV0ZVRwOiB7XG4gICAgaWQ6IElEO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IERlbGV0ZVRwTXV0YXRpb24gPSBncWxUeXBlZDxEZWxldGVUcE11dGF0aW9uPmBcbm11dGF0aW9uIERlbGV0ZVRwTXV0YXRpb24oJGlucHV0OiBEZWxldGVUcElucHV0ISkge1xuICBkZWxldGVUcChpbnB1dDogJGlucHV0KSB7XG4gICAgaWRcbiAgfVxufVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZURpcmVjdG9yeU11dGF0aW9uIHtcbiAgc2hhcmVEaXJlY3Rvcnk6IHtcbiAgICB0cERpcmVjdG9yeToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgU2hhcmVEaXJlY3RvcnlNdXRhdGlvbiA9IGdxbFR5cGVkPFNoYXJlRGlyZWN0b3J5TXV0YXRpb24+YFxuICBtdXRhdGlvbiBTaGFyZURpcmVjdG9yeU11dGF0aW9uKCRpbnB1dDogU2hhcmVEaXJlY3RvcnlJbnB1dCEpIHtcbiAgICBzaGFyZURpcmVjdG9yeShpbnB1dDogJGlucHV0KSB7XG4gICAgICB0cERpcmVjdG9yeSB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbiB7XG4gIHVuc2hhcmVEaXJlY3Rvcnk6IHtcbiAgICB0cERpcmVjdG9yeToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVW5zaGFyZURpcmVjdG9yeU11dGF0aW9uID0gZ3FsVHlwZWQ8VW5zaGFyZURpcmVjdG9yeU11dGF0aW9uPmBcbiAgbXV0YXRpb24gVW5zaGFyZURpcmVjdG9yeU11dGF0aW9uKCRpbnB1dDogVW5zaGFyZURpcmVjdG9yeUlucHV0ISkge1xuICAgIHVuc2hhcmVEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgdHBEaXJlY3Rvcnkge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFyZUZpbGVNdXRhdGlvbiB7XG4gIHNoYXJlRmlsZToge1xuICAgIHRwRmlsZToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgU2hhcmVGaWxlTXV0YXRpb24gPSBncWxUeXBlZDxTaGFyZUZpbGVNdXRhdGlvbj5gXG4gIG11dGF0aW9uIFNoYXJlRmlsZU11dGF0aW9uKCRpbnB1dDogU2hhcmVGaWxlSW5wdXQhKSB7XG4gICAgc2hhcmVGaWxlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIHRwRmlsZSB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVuc2hhcmVGaWxlTXV0YXRpb24ge1xuICB1bnNoYXJlRmlsZToge1xuICAgIHRwRmlsZToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVW5zaGFyZUZpbGVNdXRhdGlvbiA9IGdxbFR5cGVkPFVuc2hhcmVGaWxlTXV0YXRpb24+YFxuICBtdXRhdGlvbiBVbnNoYXJlRmlsZU11dGF0aW9uKCRpbnB1dDogVW5zaGFyZUZpbGVJbnB1dCEpIHtcbiAgICB1bnNoYXJlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICB0cEZpbGUge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0VHBNa1Jlc2hhcmVNdXRhdGlvbiB7XG4gIHJlcXVlc3RUcE1rUmVzaGFyZToge1xuICAgIGlkOiBJRDtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBSZXF1ZXN0VHBNa1Jlc2hhcmVNdXRhdGlvbiA9IGdxbFR5cGVkPFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uPmBcbm11dGF0aW9uIFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uKCRpbnB1dDogUmVxdWVzdFRwTWtSZXNoYXJlSW5wdXQhKSB7XG4gIHJlcXVlc3RUcE1rUmVzaGFyZShpbnB1dDogJGlucHV0KSB7XG4gICAgaWRcbiAgfVxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uZFRwTWtSZXNoYXJlTXV0YXRpb24ge1xuICByZXNwb25kVHBNa1Jlc2hhcmU6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgUmVzcG9uZFRwTWtSZXNoYXJlTXV0YXRpb24gPSBncWxUeXBlZDxSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbj5gXG4gIG11dGF0aW9uIFJlc3BvbmRUcE1rUmVzaGFyZU11dGF0aW9uKCRpbnB1dDogUmVzcG9uZFRwTWtSZXNoYXJlSW5wdXQhKSB7XG4gICAgcmVzcG9uZFRwTWtSZXNoYXJlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbiB7XG4gIGNvbXBsZXRlVHBNa1Jlc2hhcmU6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgQ29tcGxldGVUcE1rUmVzaGFyZU11dGF0aW9uID0gZ3FsVHlwZWQ8Q29tcGxldGVUcE1rUmVzaGFyZU11dGF0aW9uPmBcbm11dGF0aW9uIENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbigkaW5wdXQ6IENvbXBsZXRlVHBNa1Jlc2hhcmVJbnB1dCEpIHtcbiAgY29tcGxldGVUcE1rUmVzaGFyZShpbnB1dDogJGlucHV0KSB7XG4gICAgaWRcbiAgfVxufWA7XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { gqlTyped } from '../_common/ast';
2
+ export const TpCurrentUserSharedKeyQuery = gqlTyped `
3
+ query TpCurrentUserSharedKeyQuery($id: LrRelayIdInput!) {
4
+ tp(id: $id){
5
+ currentUserSharedKey {
6
+ userSharedKey {
7
+ sharedKey {
8
+ id
9
+ }
10
+ mkSharedKey {
11
+ id
12
+ }
13
+ mkPxk {
14
+ id
15
+ }
16
+ mkReshareRequestCipher
17
+ mkReshareRequestSent
18
+ mkReshareResponseCipher
19
+ mkReshareResponseSent
20
+ }
21
+ }
22
+ }
23
+ }
24
+ `;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuZ3FsLnByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdHJ1c3RlZC1wYXJ0eS90cnVzdGVkLXBhcnR5Mi5ncWwucHJpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF1QjFDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLFFBQVEsQ0FBNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQi9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRCB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBncWxUeXBlZCB9IGZyb20gJy4uL19jb21tb24vYXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBUcEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkge1xuICB0cDoge1xuICAgIGN1cnJlbnRVc2VyU2hhcmVkS2V5OiB7XG4gICAgICB1c2VyU2hhcmVkS2V5OiB7XG4gICAgICAgIHNoYXJlZEtleToge1xuICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgfTtcbiAgICAgICAgbWtTaGFyZWRLZXk6IHtcbiAgICAgICAgICBpZDogSUQ7XG4gICAgICAgIH07XG4gICAgICAgIG1rUHhrOiB7XG4gICAgICAgICAgaWQ6IElEO1xuICAgICAgICB9O1xuICAgICAgICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyOiBzdHJpbmc7XG4gICAgICAgIG1rUmVzaGFyZVJlcXVlc3RTZW50OiBib29sZWFuO1xuICAgICAgICBta1Jlc2hhcmVSZXNwb25zZUNpcGhlcjogc3RyaW5nO1xuICAgICAgICBta1Jlc2hhcmVSZXNwb25zZVNlbnQ6IGJvb2xlYW47XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5ID0gZ3FsVHlwZWQ8VHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5PmBcbnF1ZXJ5IFRwQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeSgkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICB0cChpZDogJGlkKXtcbiAgICBjdXJyZW50VXNlclNoYXJlZEtleSB7XG4gICAgICB1c2VyU2hhcmVkS2V5IHtcbiAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICAgIG1rU2hhcmVkS2V5IHtcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICAgIG1rUHhrIHtcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICAgIG1rUmVzaGFyZVJlcXVlc3RDaXBoZXJcbiAgICAgICAgbWtSZXNoYXJlUmVxdWVzdFNlbnRcbiAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VTZW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5gO1xuIl19
@@ -0,0 +1,224 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable, Injector, NgZone } from '@angular/core';
3
+ import { JWK } from 'node-jose';
4
+ import { LrMutation, LrService } from '../api/lr-graphql';
5
+ import { EncryptionService } from '../encryption/encryption.service';
6
+ import { Item2Service } from '../item2/item2.service';
7
+ import { KeyFactoryService } from '../key/key-factory.service';
8
+ import { KeyGraphService } from '../key/key-graph.service';
9
+ import { KeyService } from '../key/key.service';
10
+ import { LrBadStateException } from '../_common/exceptions';
11
+ import { RunOutsideAngular } from '../_common/run-outside-angular';
12
+ import { CompleteTpMkReshareMutation, DeleteTpMutation, RequestTpMkReshareMutation, RespondTpMkReshareMutation, ShareDirectoryMutation, ShareFileMutation, UnshareDirectoryMutation, UnshareFileMutation, } from './trusted-party2.gql';
13
+ import { TpCurrentUserSharedKeyQuery } from './trusted-party2.gql.private';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../key/key-graph.service";
16
+ import * as i2 from "../item2/item2.service";
17
+ import * as i3 from "../key/key.service";
18
+ import * as i4 from "../key/key-factory.service";
19
+ import * as i5 from "../encryption/encryption.service";
20
+ let TrustedParty2Service = class TrustedParty2Service extends LrService {
21
+ constructor(ngZone, injector, keyGraph, item2Service, keyService, keyFactory, encryptionService) {
22
+ super(injector);
23
+ this.ngZone = ngZone;
24
+ this.injector = injector;
25
+ this.keyGraph = keyGraph;
26
+ this.item2Service = item2Service;
27
+ this.keyService = keyService;
28
+ this.keyFactory = keyFactory;
29
+ this.encryptionService = encryptionService;
30
+ }
31
+ deleteTpExec(tpId) {
32
+ return this.mutate(this.deleteTpMutation(tpId));
33
+ }
34
+ // TODO: deprecate this
35
+ deleteTp(tpId) {
36
+ return this.deleteTpMutation(tpId);
37
+ }
38
+ deleteTpMutation(tpId) {
39
+ return new LrMutation({
40
+ mutation: DeleteTpMutation,
41
+ variables: {
42
+ input: {
43
+ id: tpId,
44
+ },
45
+ },
46
+ });
47
+ }
48
+ shareDirectory(options) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
51
+ });
52
+ }
53
+ shareFile(options) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
56
+ });
57
+ }
58
+ shareItem({ itemId, itemKeyId, tpId, tpSharedKeyId, accessRole, isDirectory, }) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const itemKey = yield this.keyGraph.getKey(itemKeyId, () => isDirectory
61
+ ? this.item2Service.getDirectoryKeyId(itemId)
62
+ : this.item2Service.getFileKeyId(itemId));
63
+ const wrappingKey = yield this.keyGraph.getKey(tpSharedKeyId, () => this.getTpCurrentUserSharedKey(tpId).then((res) => res.sharedKey.id));
64
+ const wrappedKey = yield this.keyGraph.wrapKey(wrappingKey, itemKey.jwk);
65
+ return new LrMutation({
66
+ mutation: isDirectory ? ShareDirectoryMutation : ShareFileMutation,
67
+ variables: {
68
+ input: {
69
+ id: itemId,
70
+ tpId,
71
+ accessRole,
72
+ keyId: itemKey.id,
73
+ wrappingKeyId: wrappingKey.id,
74
+ wrappedKey,
75
+ },
76
+ },
77
+ });
78
+ });
79
+ }
80
+ unshareDirectory(options) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
83
+ });
84
+ }
85
+ unshareFile(options) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
88
+ });
89
+ }
90
+ requestMkReshare(tpId) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const userSharedKey = yield this.getTpCurrentUserSharedKey(tpId);
93
+ if (userSharedKey.mkSharedKey) {
94
+ throw new LrBadStateException('TP already has mkSharedKey');
95
+ }
96
+ const masterKey = yield this.keyService.getCurrentMasterKey();
97
+ const prk = yield this.keyFactory.createPkcKey();
98
+ const mkWrappedMkPrk = yield this.encryptionService.encryptToString(masterKey.jwk, prk.toJSON(true));
99
+ const sharedKey = yield this.keyGraph.getKey(userSharedKey.sharedKey.id);
100
+ const mkReshareRequestCipher = yield this.encryptionService.encryptToString(sharedKey.jwk, {
101
+ pbk: prk.toJSON(),
102
+ });
103
+ return yield new LrMutation({
104
+ mutation: RequestTpMkReshareMutation,
105
+ variables: {
106
+ input: {
107
+ tpId,
108
+ masterKeyId: masterKey.id,
109
+ mkPbk: JSON.stringify(prk.toJSON()),
110
+ mkWrappedMkPrk,
111
+ sharedKeyId: sharedKey.id,
112
+ mkReshareRequestCipher,
113
+ },
114
+ },
115
+ });
116
+ });
117
+ }
118
+ respondMkReshare(tpId) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const userSharedKey = yield this.getTpCurrentUserSharedKey(tpId);
121
+ if (!userSharedKey.mkSharedKey) {
122
+ throw new LrBadStateException('No access to the mkSharedKey so cannot reshare it with TP');
123
+ }
124
+ const sharedKey = yield this.keyGraph.getKey(userSharedKey.sharedKey.id);
125
+ const plainMkReshareRequestCipher = yield this.encryptionService.decrypt(sharedKey, userSharedKey.mkReshareRequestCipher);
126
+ const pbk = yield JWK.asKey(plainMkReshareRequestCipher.pbk);
127
+ const mkSharedKey = yield this.keyGraph.getKey(userSharedKey.mkSharedKey.id);
128
+ const plainMkReshareResponseCipher = {
129
+ mkSharedKey: {
130
+ id: mkSharedKey.id,
131
+ jwk: mkSharedKey.jwk.toJSON(true),
132
+ },
133
+ };
134
+ // Wrap with sharedKey then again with Pbk
135
+ const mkReshareResponseCipher = yield this.encryptionService.encryptToString(pbk, yield this.encryptionService.encryptToString(sharedKey.jwk, plainMkReshareResponseCipher));
136
+ return new LrMutation({
137
+ mutation: RespondTpMkReshareMutation,
138
+ variables: {
139
+ input: {
140
+ tpId,
141
+ mkSharedKeyId: mkSharedKey.id,
142
+ mkReshareResponseCipher,
143
+ },
144
+ },
145
+ });
146
+ });
147
+ }
148
+ completeMkReshare(tpId) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const userSharedKey = yield this.getTpCurrentUserSharedKey(tpId);
151
+ const sharedKey = yield this.keyGraph.getKey(userSharedKey.sharedKey.id);
152
+ const prk = yield this.keyGraph.getKey(userSharedKey.mkPxk.id);
153
+ const plainMkReshareResponseCipher = yield this.encryptionService.decrypt(sharedKey, yield this.encryptionService.decrypt(prk, userSharedKey.mkReshareResponseCipher));
154
+ // Double check it's a valid key.
155
+ const mkSharedKey = {
156
+ id: plainMkReshareResponseCipher.mkSharedKey.id,
157
+ jwk: yield JWK.asKey(plainMkReshareResponseCipher.mkSharedKey.jwk),
158
+ };
159
+ const masterKey = yield this.keyService.getCurrentMasterKey();
160
+ const mkWrappedMkSharedKey = yield this.encryptionService.encryptToString(masterKey.jwk, mkSharedKey.jwk.toJSON(true));
161
+ return new LrMutation({
162
+ mutation: CompleteTpMkReshareMutation,
163
+ variables: {
164
+ input: {
165
+ tpId,
166
+ masterKeyId: masterKey.id,
167
+ mkSharedKeyId: mkSharedKey.id,
168
+ mkWrappedMkSharedKey,
169
+ },
170
+ },
171
+ });
172
+ });
173
+ }
174
+ // ------------------------------------------------------------------------------------
175
+ // ------------------------------------------------------------------------------------
176
+ // Helpers
177
+ // ------------------------------------------------------------------------------------
178
+ // ------------------------------------------------------------------------------------
179
+ getTpCurrentUserSharedKey(tpId) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ return (yield this.lrGraphQL.query({
182
+ query: TpCurrentUserSharedKeyQuery,
183
+ variables: {
184
+ id: tpId,
185
+ },
186
+ })).tp.currentUserSharedKey.userSharedKey;
187
+ });
188
+ }
189
+ unshareItem({ itemId, tpId, isDirectory, }) {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ return new LrMutation({
192
+ mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
193
+ variables: {
194
+ input: {
195
+ id: itemId,
196
+ tpId,
197
+ },
198
+ },
199
+ });
200
+ });
201
+ }
202
+ };
203
+ TrustedParty2Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function TrustedParty2Service_Factory() { return new TrustedParty2Service(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.KeyGraphService), i0.ɵɵinject(i2.Item2Service), i0.ɵɵinject(i3.KeyService), i0.ɵɵinject(i4.KeyFactoryService), i0.ɵɵinject(i5.EncryptionService)); }, token: TrustedParty2Service, providedIn: "root" });
204
+ TrustedParty2Service.decorators = [
205
+ { type: Injectable, args: [{
206
+ providedIn: 'root',
207
+ },] }
208
+ ];
209
+ TrustedParty2Service.ctorParameters = () => [
210
+ { type: NgZone },
211
+ { type: Injector },
212
+ { type: KeyGraphService },
213
+ { type: Item2Service },
214
+ { type: KeyService },
215
+ { type: KeyFactoryService },
216
+ { type: EncryptionService }
217
+ ];
218
+ TrustedParty2Service = __decorate([
219
+ RunOutsideAngular({
220
+ ngZoneName: 'ngZone',
221
+ })
222
+ ], TrustedParty2Service);
223
+ export { TrustedParty2Service };
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi90cnVzdGVkLXBhcnR5L3RydXN0ZWQtcGFydHkyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixtQkFBbUIsR0FDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQVM5RCxvQkFBb0IsU0FBcEIsb0JBQXFCLFNBQVEsU0FBUztJQUNqRCxZQUNVLE1BQWMsRUFDZCxRQUFrQixFQUNs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QUFBOzs7WUFqUEEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUE5QjhCLE1BQU07WUFBaEIsUUFBUTtZQU9wQixlQUFlO1lBRmYsWUFBWTtZQUdaLFVBQVU7WUFGVixpQkFBaUI7WUFGakIsaUJBQWlCOztBQTJCYixvQkFBb0I7SUFOaEMsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLG9CQUFvQixDQThPaEM7U0E5T1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IExyTXV0YXRpb24sIExyU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7IExyUmVsYXlJZElucHV0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZW5jcnlwdGlvbi9lbmNyeXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSXRlbTJTZXJ2aWNlIH0gZnJvbSAnLi4vaXRlbTIvaXRlbTIuc2VydmljZSc7XG5pbXBvcnQgeyBLZXlGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgTHJCYWRTdGF0ZUV4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb21wbGV0ZVRwTWtSZXNoYXJlTXV0YXRpb24sXG4gIERlbGV0ZVRwTXV0YXRpb24sXG4gIFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uLFxuICBSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgU2hhcmVEaXJlY3RvcnlNdXRhdGlvbixcbiAgU2hhcmVGaWxlTXV0YXRpb24sXG4gIFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbixcbiAgVW5zaGFyZUZpbGVNdXRhdGlvbixcbn0gZnJvbSAnLi90cnVzdGVkLXBhcnR5Mi5ncWwnO1xuaW1wb3J0IHsgVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5IH0gZnJvbSAnLi90cnVzdGVkLXBhcnR5Mi5ncWwucHJpdmF0ZSc7XG5pbXBvcnQgeyBTaGFyZUl0ZW1PcHRpb25zLCBVbnNoYXJlSXRlbU9wdGlvbnMgfSBmcm9tICcuL3RydXN0ZWQtcGFydHkyLnR5cGVzJztcblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eTJTZXJ2aWNlIGV4dGVuZHMgTHJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpdGVtMlNlcnZpY2U6IEl0ZW0yU2VydmljZSxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBkZWxldGVUcEV4ZWModHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5kZWxldGVUcE11dGF0aW9uKHRwSWQpKTtcbiAgfVxuXG4gIC8vIFRPRE86IGRlcHJlY2F0ZSB0aGlzXG4gIGRlbGV0ZVRwKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlVHBNdXRhdGlvbih0cElkKTtcbiAgfVxuXG4gIGRlbGV0ZVRwTXV0YXRpb24odHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZVRwTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZDogdHBJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzaGFyZURpcmVjdG9yeShvcHRpb25zOiBTaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVJdGVtKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyBzaGFyZUZpbGUob3B0aW9uczogU2hhcmVJdGVtT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnNoYXJlSXRlbSh7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiBmYWxzZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hhcmVJdGVtKHtcbiAgICBpdGVtSWQsXG4gICAgaXRlbUtleUlkLFxuICAgIHRwSWQsXG4gICAgdHBTaGFyZWRLZXlJZCxcbiAgICBhY2Nlc3NSb2xlLFxuICAgIGlzRGlyZWN0b3J5LFxuICB9OiBTaGFyZUl0ZW1PcHRpb25zICYge1xuICAgIGlzRGlyZWN0b3J5OiBib29sZWFuO1xuICB9KSB7XG4gICAgY29uc3QgaXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGl0ZW1LZXlJZCwgKCkgPT5cbiAgICAgIGlzRGlyZWN0b3J5XG4gICAgICAgID8gdGhpcy5pdGVtMlNlcnZpY2UuZ2V0RGlyZWN0b3J5S2V5SWQoaXRlbUlkKVxuICAgICAgICA6IHRoaXMuaXRlbTJTZXJ2aWNlLmdldEZpbGVLZXlJZChpdGVtSWQpXG4gICAgKTtcbiAgICBjb25zdCB3cmFwcGluZ0tleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHRwU2hhcmVkS2V5SWQsICgpID0+XG4gICAgICB0aGlzLmdldFRwQ3VycmVudFVzZXJTaGFyZWRLZXkodHBJZCkudGhlbigocmVzKSA9PiByZXMuc2hhcmVkS2V5LmlkKVxuICAgICk7XG4gICAgY29uc3Qgd3JhcHBlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGgud3JhcEtleSh3cmFwcGluZ0tleSwgaXRlbUtleS5qd2spO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBpc0RpcmVjdG9yeSA/IFNoYXJlRGlyZWN0b3J5TXV0YXRpb24gOiBTaGFyZUZpbGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkOiBpdGVtSWQsXG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBhY2Nlc3NSb2xlLFxuICAgICAgICAgIGtleUlkOiBpdGVtS2V5LmlkLFxuICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHdyYXBwaW5nS2V5LmlkLFxuICAgICAgICAgIHdyYXBwZWRLZXksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdW5zaGFyZURpcmVjdG9yeShvcHRpb25zOiBVbnNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy51bnNoYXJlSXRlbSh7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiB0cnVlIH0pO1xuICB9XG5cbiAgYXN5bmMgdW5zaGFyZUZpbGUob3B0aW9uczogVW5zaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMudW5zaGFyZUl0ZW0oeyAuLi5vcHRpb25zLCBpc0RpcmVjdG9yeTogZmFsc2UgfSk7XG4gIH1cblxuICBhc3luYyByZXF1ZXN0TWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGlmICh1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignVFAgYWxyZWFkeSBoYXMgbWtTaGFyZWRLZXknKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmtleVNlcnZpY2UuZ2V0Q3VycmVudE1hc3RlcktleSgpO1xuICAgIGNvbnN0IHByayA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVQa2NLZXkoKTtcbiAgICBjb25zdCBta1dyYXBwZWRNa1ByayA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgbWFzdGVyS2V5Lmp3ayxcbiAgICAgIHByay50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IG1rUmVzaGFyZVJlcXVlc3RDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHNoYXJlZEtleS5qd2ssXG4gICAgICB7XG4gICAgICAgIHBiazogcHJrLnRvSlNPTigpLFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBtYXN0ZXJLZXlJZDogbWFzdGVyS2V5LmlkLFxuICAgICAgICAgIG1rUGJrOiBKU09OLnN0cmluZ2lmeShwcmsudG9KU09OKCkpLFxuICAgICAgICAgIG1rV3JhcHBlZE1rUHJrLFxuICAgICAgICAgIHNoYXJlZEtleUlkOiBzaGFyZWRLZXkuaWQsXG4gICAgICAgICAgbWtSZXNoYXJlUmVxdWVzdENpcGhlcixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZXNwb25kTWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGlmICghdXNlclNoYXJlZEtleS5ta1NoYXJlZEtleSkge1xuICAgICAgdGhyb3cgbmV3IExyQmFkU3RhdGVFeGNlcHRpb24oXG4gICAgICAgICdObyBhY2Nlc3MgdG8gdGhlIG1rU2hhcmVkS2V5IHNvIGNhbm5vdCByZXNoYXJlIGl0IHdpdGggVFAnXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkKTtcbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlcXVlc3RDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICB1c2VyU2hhcmVkS2V5Lm1rUmVzaGFyZVJlcXVlc3RDaXBoZXJcbiAgICApO1xuICAgIGNvbnN0IHBiayA9IGF3YWl0IEpXSy5hc0tleShwbGFpbk1rUmVzaGFyZVJlcXVlc3RDaXBoZXIucGJrKTtcbiAgICBjb25zdCBta1NoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KFxuICAgICAgdXNlclNoYXJlZEtleS5ta1NoYXJlZEtleS5pZFxuICAgICk7XG5cbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID0ge1xuICAgICAgbWtTaGFyZWRLZXk6IHtcbiAgICAgICAgaWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICBqd2s6IG1rU2hhcmVkS2V5Lmp3ay50b0pTT04odHJ1ZSksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBXcmFwIHdpdGggc2hhcmVkS2V5IHRoZW4gYWdhaW4gd2l0aCBQYmtcbiAgICBjb25zdCBta1Jlc2hhcmVSZXNwb25zZUNpcGhlciA9XG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgcGJrLFxuICAgICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgICBzaGFyZWRLZXkuandrLFxuICAgICAgICAgIHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogUmVzcG9uZFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICB0cElkLFxuICAgICAgICAgIG1rU2hhcmVkS2V5SWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICAgIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBsZXRlTWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkKTtcbiAgICBjb25zdCBwcmsgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleSh1c2VyU2hhcmVkS2V5Lm1rUHhrLmlkKTtcbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgc2hhcmVkS2V5LFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgICBwcmssXG4gICAgICAgIHVzZXJTaGFyZWRLZXkubWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgICAgIClcbiAgICApO1xuXG4gICAgLy8gRG91YmxlIGNoZWNrIGl0J3MgYSB2YWxpZCBrZXkuXG4gICAgY29uc3QgbWtTaGFyZWRLZXk6IEtleSA9IHtcbiAgICAgIGlkOiBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLm1rU2hhcmVkS2V5LmlkLFxuICAgICAgandrOiBhd2FpdCBKV0suYXNLZXkocGxhaW5Na1Jlc2hhcmVSZXNwb25zZUNpcGhlci5ta1NoYXJlZEtleS5qd2spLFxuICAgIH07XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmtleVNlcnZpY2UuZ2V0Q3VycmVudE1hc3RlcktleSgpO1xuICAgIGNvbnN0IG1rV3JhcHBlZE1rU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgbWtTaGFyZWRLZXkuandrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHRwSWQsXG4gICAgICAgICAgbWFzdGVyS2V5SWQ6IG1hc3RlcktleS5pZCxcbiAgICAgICAgICBta1NoYXJlZEtleUlkOiBta1NoYXJlZEtleS5pZCxcbiAgICAgICAgICBta1dyYXBwZWRNa1NoYXJlZEtleSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBwcml2YXRlIGFzeW5jIGdldFRwQ3VycmVudFVzZXJTaGFyZWRLZXkodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgICBxdWVyeTogVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBpZDogdHBJZCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKS50cC5jdXJyZW50VXNlclNoYXJlZEtleS51c2VyU2hhcmVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1bnNoYXJlSXRlbSh7XG4gICAgaXRlbUlkLFxuICAgIHRwSWQsXG4gICAgaXNEaXJlY3RvcnksXG4gIH06IFVuc2hhcmVJdGVtT3B0aW9ucyAmIHsgaXNEaXJlY3Rvcnk6IGJvb2xlYW4gfSkge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogaXNEaXJlY3RvcnkgPyBVbnNoYXJlRGlyZWN0b3J5TXV0YXRpb24gOiBVbnNoYXJlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQ6IGl0ZW1JZCxcbiAgICAgICAgICB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdHJ1c3RlZC1wYXJ0eS90cnVzdGVkLXBhcnR5Mi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzUm9sZUNob2ljZSwgTHJSZWxheUlkSW5wdXQgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuXG4vLyBJZiB4eHhLZXlJZCBub3QgZ2l2ZW4sIHRoZW4gZmV0Y2ggdGhlbSB3aXRoIEFQSSBjYWxsc1xuZXhwb3J0IGludGVyZmFjZSBTaGFyZUl0ZW1PcHRpb25zIHtcbiAgaXRlbUlkOiBMclJlbGF5SWRJbnB1dDtcbiAgaXRlbUtleUlkPzogTHJSZWxheUlkSW5wdXQ7XG4gIHRwSWQ6IExyUmVsYXlJZElucHV0O1xuICB0cFNoYXJlZEtleUlkPzogTHJSZWxheUlkSW5wdXQ7XG4gIGFjY2Vzc1JvbGU6IEFjY2Vzc1JvbGVDaG9pY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zaGFyZUl0ZW1PcHRpb25zIHtcbiAgaXRlbUlkOiBzdHJpbmc7XG4gIHRwSWQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
4
+ import { LrBadArgumentException } from '../_common/exceptions';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@aws-amplify/auth/lib-esm/Auth";
7
+ export class TwoFactorService {
8
+ constructor(auth) {
9
+ this.auth = auth;
10
+ }
11
+ getPreferredMFA() {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const cognitoUser = yield this.auth.currentAuthenticatedUser();
14
+ return yield this.auth.getPreferredMFA(cognitoUser);
15
+ });
16
+ }
17
+ setPreferredMFA(method) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const cognitoUser = yield this.auth.currentAuthenticatedUser();
20
+ yield this.auth.setPreferredMFA(cognitoUser, method);
21
+ });
22
+ }
23
+ setPhoneNumber(phone) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const cognitoUser = yield this.auth.currentAuthenticatedUser();
26
+ yield this.auth.updateUserAttributes(cognitoUser, {
27
+ phone_number: phone,
28
+ });
29
+ });
30
+ }
31
+ getSMSCode() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ yield this.auth.verifyCurrentUserAttribute('phone_number');
34
+ });
35
+ }
36
+ verifySMSCode(verificationCode) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ yield this.auth.verifyCurrentUserAttributeSubmit('phone_number', verificationCode);
39
+ });
40
+ }
41
+ getSoftwareToken() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const [cognitoUser, userInfo] = yield Promise.all([
44
+ this.auth.currentAuthenticatedUser(),
45
+ this.auth.currentUserInfo(),
46
+ ]);
47
+ const code = yield this.auth.setupTOTP(cognitoUser);
48
+ const email = userInfo.attributes.email;
49
+ if (!email) {
50
+ throw new LrBadArgumentException('No email associated with user.');
51
+ }
52
+ return {
53
+ code,
54
+ codeUri: `otpauth://totp/${email}?secret=${code}&issuer=LifeReady`,
55
+ };
56
+ });
57
+ }
58
+ verifySoftwareToken(totpCode) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const cognitoUser = yield this.auth.currentAuthenticatedUser();
61
+ yield this.auth.verifyTotpToken(cognitoUser, totpCode);
62
+ });
63
+ }
64
+ }
65
+ TwoFactorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TwoFactorService_Factory() { return new TwoFactorService(i0.ɵɵinject(i1.AuthClass)); }, token: TwoFactorService, providedIn: "root" });
66
+ TwoFactorService.decorators = [
67
+ { type: Injectable, args: [{
68
+ providedIn: 'root',
69
+ },] }
70
+ ];
71
+ TwoFactorService.ctorParameters = () => [
72
+ { type: AuthClass }
73
+ ];
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWZhY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3R3by1mYWN0b3IvdHdvLWZhY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsSUFBZTtRQUFmLFNBQUksR0FBSixJQUFJLENBQVc7SUFBRyxDQUFDO0lBRTFCLGVBQWU7O1lBQzFCLE1BQU0sV0FBVyxHQUFnQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUU1RSxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUFBO0lBRVksZUFBZSxDQUMxQixNQUFnQzs7WUFFaEMsTUFBTSxXQUFXLEdBQWdCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBRTVFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7S0FBQTtJQUVZLGNBQWMsQ0FBQyxLQUFLOztZQUMvQixNQUFNLFdBQVcsR0FBZ0IsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFFNUUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRTtnQkFDaEQsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksVUFBVTs7WUFDckIsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxnQkFBd0I7O1lBQ2pELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDOUMsY0FBYyxFQUNkLGdCQUFnQixDQUNqQixDQUFDO1FBQ0osQ0FBQztLQUFBO0lBRVksZ0JBQWdCOztZQUMzQixNQUFNLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDNUIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVwRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLE1BQU0sSUFBSSxzQkFBc0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsT0FBTztnQkFDTCxJQUFJO2dCQUNKLE9BQU8sRUFBRSxrQkFBa0IsS0FBSyxXQUFXLElBQUksbUJBQW1CO2FBQ25FLENBQUM7UUFDSixDQUFDO0tBQUE7SUFFWSxtQkFBbUIsQ0FBQyxRQUFnQjs7WUFDL0MsTUFBTSxXQUFXLEdBQWdCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBRTVFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTs7OztZQTlERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUxRLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2duaXRvVXNlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoJztcbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XG5pbXBvcnQgeyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uIH0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFR3b0ZhY3RvclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGg6IEF1dGhDbGFzcykge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0UHJlZmVycmVkTUZBKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY29nbml0b1VzZXI6IENvZ25pdG9Vc2VyID0gYXdhaXQgdGhpcy5hdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYXV0aC5nZXRQcmVmZXJyZWRNRkEoY29nbml0b1VzZXIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldFByZWZlcnJlZE1GQShcbiAgICBtZXRob2Q6ICdUT1RQJyB8ICdTTVMnIHwgJ05PTUZBJ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb2duaXRvVXNlcjogQ29nbml0b1VzZXIgPSBhd2FpdCB0aGlzLmF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XG5cbiAgICBhd2FpdCB0aGlzLmF1dGguc2V0UHJlZmVycmVkTUZBKGNvZ25pdG9Vc2VyLCBtZXRob2QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldFBob25lTnVtYmVyKHBob25lKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29nbml0b1VzZXI6IENvZ25pdG9Vc2VyID0gYXdhaXQgdGhpcy5hdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuXG4gICAgYXdhaXQgdGhpcy5hdXRoLnVwZGF0ZVVzZXJBdHRyaWJ1dGVzKGNvZ25pdG9Vc2VyLCB7XG4gICAgICBwaG9uZV9udW1iZXI6IHBob25lLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNNU0NvZGUoKSB7XG4gICAgYXdhaXQgdGhpcy5hdXRoLnZlcmlmeUN1cnJlbnRVc2VyQXR0cmlidXRlKCdwaG9uZV9udW1iZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2ZXJpZnlTTVNDb2RlKHZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuYXV0aC52ZXJpZnlDdXJyZW50VXNlckF0dHJpYnV0ZVN1Ym1pdChcbiAgICAgICdwaG9uZV9udW1iZXInLFxuICAgICAgdmVyaWZpY2F0aW9uQ29kZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U29mdHdhcmVUb2tlbigpOiBQcm9taXNlPHsgY29kZTogc3RyaW5nOyBjb2RlVXJpOiBzdHJpbmcgfT4ge1xuICAgIGNvbnN0IFtjb2duaXRvVXNlciwgdXNlckluZm9dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgdGhpcy5hdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpLFxuICAgICAgdGhpcy5hdXRoLmN1cnJlbnRVc2VySW5mbygpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgY29kZSA9IGF3YWl0IHRoaXMuYXV0aC5zZXR1cFRPVFAoY29nbml0b1VzZXIpO1xuXG4gICAgY29uc3QgZW1haWwgPSB1c2VySW5mby5hdHRyaWJ1dGVzLmVtYWlsO1xuICAgIGlmICghZW1haWwpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uKCdObyBlbWFpbCBhc3NvY2lhdGVkIHdpdGggdXNlci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29kZSxcbiAgICAgIGNvZGVVcmk6IGBvdHBhdXRoOi8vdG90cC8ke2VtYWlsfT9zZWNyZXQ9JHtjb2RlfSZpc3N1ZXI9TGlmZVJlYWR5YCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZlcmlmeVNvZnR3YXJlVG9rZW4odG90cENvZGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvZ25pdG9Vc2VyOiBDb2duaXRvVXNlciA9IGF3YWl0IHRoaXMuYXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcblxuICAgIGF3YWl0IHRoaXMuYXV0aC52ZXJpZnlUb3RwVG9rZW4oY29nbml0b1VzZXIsIHRvdHBDb2RlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,60 @@
1
+ import gql from 'graphql-tag';
2
+ export const UserQuery = gql `
3
+ query UserQuery($email: LrEmail, $username: String) {
4
+ user(email: $email, username: $username) {
5
+ id
6
+ username
7
+ haveTp
8
+ isCurrentUser
9
+ contactCards {
10
+ edges {
11
+ node {
12
+ publicData
13
+ publicSearchable
14
+ }
15
+ }
16
+ }
17
+ currentUserKey {
18
+ sigPxk {
19
+ id
20
+ pbk
21
+ }
22
+ pxk {
23
+ id
24
+ pbk
25
+ }
26
+ }
27
+ }
28
+ }
29
+ `;
30
+ export const RequestUserDeleteMutation = gql `
31
+ mutation RequestUserDelete($input: RequestUserDeleteInput!) {
32
+ requestUserDelete(input: $input) {
33
+ userDelete {
34
+ state
35
+ created
36
+ }
37
+ }
38
+ }
39
+ `;
40
+ export const CancelUserDeleteMutation = gql `
41
+ mutation CancelUserDelete($input: CancelUserDeleteInput!) {
42
+ cancelUserDelete(input: $input) {
43
+ id
44
+ }
45
+ }
46
+ `;
47
+ export const LoginHistoryQuery = gql `
48
+ query LoginHistory($first: Int, $after: String) {
49
+ loginHistory(first: $first, after: $after) {
50
+ pageInfo {
51
+ hasNextPage
52
+ hasPreviousPage
53
+ startCursor
54
+ endCursor
55
+ }
56
+ events
57
+ }
58
+ }
59
+ `;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5ncWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvdXNlci91c2VyLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFROUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkIzQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Q0FTM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTTFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztDQVluQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLnR5cGVzJztcbmltcG9ydCB7IEhhc0tleUdyYXBoIH0gZnJvbSAnLi4va2V5L2tleS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5VHlwZSBleHRlbmRzIEhhc0tleUdyYXBoIHtcbiAgdXNlcjogVXNlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFVzZXJRdWVyeSA9IGdxbGBcbiAgcXVlcnkgVXNlclF1ZXJ5KCRlbWFpbDogTHJFbWFpbCwgJHVzZXJuYW1lOiBTdHJpbmcpIHtcbiAgICB1c2VyKGVtYWlsOiAkZW1haWwsIHVzZXJuYW1lOiAkdXNlcm5hbWUpIHtcbiAgICAgIGlkXG4gICAgICB1c2VybmFtZVxuICAgICAgaGF2ZVRwXG4gICAgICBpc0N1cnJlbnRVc2VyXG4gICAgICBjb250YWN0Q2FyZHMge1xuICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgbm9kZSB7XG4gICAgICAgICAgICBwdWJsaWNEYXRhXG4gICAgICAgICAgICBwdWJsaWNTZWFyY2hhYmxlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjdXJyZW50VXNlcktleSB7XG4gICAgICAgIHNpZ1B4ayB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBwYmtcbiAgICAgICAgfVxuICAgICAgICBweGsge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgcGJrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSZXF1ZXN0VXNlckRlbGV0ZU11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBSZXF1ZXN0VXNlckRlbGV0ZSgkaW5wdXQ6IFJlcXVlc3RVc2VyRGVsZXRlSW5wdXQhKSB7XG4gICAgcmVxdWVzdFVzZXJEZWxldGUoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgdXNlckRlbGV0ZSB7XG4gICAgICAgIHN0YXRlXG4gICAgICAgIGNyZWF0ZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24gPSBncWxgXG4gIG11dGF0aW9uIENhbmNlbFVzZXJEZWxldGUoJGlucHV0OiBDYW5jZWxVc2VyRGVsZXRlSW5wdXQhKSB7XG4gICAgY2FuY2VsVXNlckRlbGV0ZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IExvZ2luSGlzdG9yeVF1ZXJ5ID0gZ3FsYFxuICBxdWVyeSBMb2dpbkhpc3RvcnkoJGZpcnN0OiBJbnQsICRhZnRlcjogU3RyaW5nKSB7XG4gICAgbG9naW5IaXN0b3J5KGZpcnN0OiAkZmlyc3QsIGFmdGVyOiAkYWZ0ZXIpIHtcbiAgICAgIHBhZ2VJbmZvIHtcbiAgICAgICAgaGFzTmV4dFBhZ2VcbiAgICAgICAgaGFzUHJldmlvdXNQYWdlXG4gICAgICAgIHN0YXJ0Q3Vyc29yXG4gICAgICAgIGVuZEN1cnNvclxuICAgICAgfVxuICAgICAgZXZlbnRzXG4gICAgfVxuICB9XG5gO1xuIl19
@@ -0,0 +1,80 @@
1
+ import { __awaiter } from "tslib";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import { Injectable } from '@angular/core';
4
+ import { LrApolloService } from '../api/lr-apollo.service';
5
+ import { CancelUserDeleteMutation, LoginHistoryQuery, RequestUserDeleteMutation, UserQuery, } from './user.gql';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../api/lr-apollo.service";
8
+ export class UserService {
9
+ constructor(lrApollo) {
10
+ this.lrApollo = lrApollo;
11
+ }
12
+ getUserByEmail(email) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ return this.getUser({ email });
15
+ });
16
+ }
17
+ getUserByUsername(username) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return this.getUser({ username });
20
+ });
21
+ }
22
+ getUser({ email, username }) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const { user } = yield this.lrApollo.query({
25
+ query: UserQuery,
26
+ variables: {
27
+ email,
28
+ username,
29
+ },
30
+ });
31
+ return user;
32
+ });
33
+ }
34
+ requestUserDelete() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const res = yield this.lrApollo.mutate({
37
+ mutation: RequestUserDeleteMutation,
38
+ variables: {
39
+ input: {},
40
+ },
41
+ });
42
+ return res.requestUserDelete.userDelete;
43
+ });
44
+ }
45
+ cancelUserDelete() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const res = yield this.lrApollo.mutate({
48
+ mutation: CancelUserDeleteMutation,
49
+ variables: {
50
+ input: {},
51
+ },
52
+ });
53
+ return res.cancelUserDelete.id;
54
+ });
55
+ }
56
+ loginHistory(first = null, after = null) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ // first: return first n entries
59
+ // after: pass in the pageInfo.endCursor to paginate
60
+ const res = yield this.lrApollo.query({
61
+ query: LoginHistoryQuery,
62
+ variables: {
63
+ first,
64
+ after,
65
+ },
66
+ });
67
+ return res.loginHistory;
68
+ });
69
+ }
70
+ }
71
+ UserService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserService_Factory() { return new UserService(i0.ɵɵinject(i1.LrApolloService)); }, token: UserService, providedIn: "root" });
72
+ UserService.decorators = [
73
+ { type: Injectable, args: [{
74
+ providedIn: 'root',
75
+ },] }
76
+ ];
77
+ UserService.ctorParameters = () => [
78
+ { type: LrApolloService }
79
+ ];
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3VzZXIvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLFNBQVMsR0FFVixNQUFNLFlBQVksQ0FBQzs7O0FBTXBCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFFBQXlCO1FBQXpCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQUcsQ0FBQztJQUUzQyxjQUFjLENBQUMsS0FBYTs7WUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxpQkFBaUIsQ0FBQyxRQUFnQjs7WUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFSyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFnQjs7WUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQWdCO2dCQUN4RCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFO29CQUNULEtBQUs7b0JBQ0wsUUFBUTtpQkFDVDthQUNGLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUFBO0lBRUssaUJBQWlCOztZQUNyQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUE2QjtnQkFDakUsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNWO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxHQUFHLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQzFDLENBQUM7S0FBQTtJQUVLLGdCQUFnQjs7WUFDcEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBNEI7Z0JBQ2hFLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsUUFBZ0IsSUFBSSxFQUFFLFFBQWdCLElBQUk7O1lBQzNELGdDQUFnQztZQUNoQyxvREFBb0Q7WUFDcEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBd0I7Z0JBQzNELEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLFNBQVMsRUFBRTtvQkFDVCxLQUFLO29CQUNMLEtBQUs7aUJBQ047YUFDRixDQUFDLENBQUM7WUFFSCxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUIsQ0FBQztLQUFBOzs7O1lBM0RGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBYlEsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyRGVsZXRlTm9kZSB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQge1xuICBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gIExvZ2luSGlzdG9yeVF1ZXJ5LFxuICBSZXF1ZXN0VXNlckRlbGV0ZU11dGF0aW9uLFxuICBVc2VyUXVlcnksXG4gIFVzZXJRdWVyeVR5cGUsXG59IGZyb20gJy4vdXNlci5ncWwnO1xuaW1wb3J0IHsgR2V0VXNlcklucHV0LCBVc2VyIH0gZnJvbSAnLi91c2VyLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGdldFVzZXJCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKHsgZW1haWwgfSk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyQnlVc2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcih7IHVzZXJuYW1lIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlcih7IGVtYWlsLCB1c2VybmFtZSB9OiBHZXRVc2VySW5wdXQpOiBQcm9taXNlPFVzZXI+IHtcbiAgICBjb25zdCB7IHVzZXIgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8VXNlclF1ZXJ5VHlwZT4oe1xuICAgICAgcXVlcnk6IFVzZXJRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBlbWFpbCxcbiAgICAgICAgdXNlcm5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiB1c2VyO1xuICB9XG5cbiAgYXN5bmMgcmVxdWVzdFVzZXJEZWxldGUoKTogUHJvbWlzZTxVc2VyRGVsZXRlTm9kZT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgcmVxdWVzdFVzZXJEZWxldGU6IGFueSB9Pih7XG4gICAgICBtdXRhdGlvbjogUmVxdWVzdFVzZXJEZWxldGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge30sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcy5yZXF1ZXN0VXNlckRlbGV0ZS51c2VyRGVsZXRlO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsVXNlckRlbGV0ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgY2FuY2VsVXNlckRlbGV0ZTogYW55IH0+KHtcbiAgICAgIG11dGF0aW9uOiBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHt9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMuY2FuY2VsVXNlckRlbGV0ZS5pZDtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luSGlzdG9yeShmaXJzdDogbnVtYmVyID0gbnVsbCwgYWZ0ZXI6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIGZpcnN0OiByZXR1cm4gZmlyc3QgbiBlbnRyaWVzXG4gICAgLy8gYWZ0ZXI6IHBhc3MgaW4gdGhlIHBhZ2VJbmZvLmVuZEN1cnNvciB0byBwYWdpbmF0ZVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8eyBsb2dpbkhpc3Rvcnk6IGFueSB9Pih7XG4gICAgICBxdWVyeTogTG9naW5IaXN0b3J5UXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgZmlyc3QsXG4gICAgICAgIGFmdGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMubG9naW5IaXN0b3J5O1xuICB9XG59XG4iXX0=