@lifeready/core 1.0.21 → 1.0.22

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 (228) hide show
  1. package/bundles/lifeready-core.umd.js +9745 -9700
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +2 -2
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/run-outside-angular.js +2 -2
  6. package/esm2015/lib/_common/types.js +1 -1
  7. package/esm2015/lib/api/lr-apollo.service.js +3 -3
  8. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
  9. package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
  10. package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
  11. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
  12. package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
  13. package/esm2015/lib/auth/auth.gql.js +1 -28
  14. package/esm2015/lib/auth/auth.types.js +1 -1
  15. package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
  16. package/esm2015/lib/category/category.gql.js +1 -1
  17. package/esm2015/lib/category/category.service.js +6 -6
  18. package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
  19. package/esm2015/lib/contact-card/contact-card.service.js +154 -0
  20. package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
  21. package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
  22. package/esm2015/lib/encryption/encryption.service.js +189 -0
  23. package/esm2015/lib/file-upload/file-upload.service.js +74 -0
  24. package/esm2015/lib/file-upload/file-upload.types.js +1 -0
  25. package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
  26. package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
  27. package/esm2015/lib/items2/item2.service.js +20 -20
  28. package/esm2015/lib/key/key-factory.service.js +237 -0
  29. package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
  30. package/esm2015/lib/key/key-meta.service.js +200 -0
  31. package/esm2015/lib/key/key.service.js +124 -0
  32. package/esm2015/lib/key/key.types.js +11 -0
  33. package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
  34. package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
  35. package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
  36. package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
  37. package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
  38. package/esm2015/lib/lbop/lbop.service.js +355 -0
  39. package/esm2015/lib/life-ready.module.js +2 -27
  40. package/esm2015/lib/lock/lock.gql.js +40 -0
  41. package/esm2015/lib/lock/lock.service.js +64 -0
  42. package/esm2015/lib/message/message.gql.js +32 -0
  43. package/esm2015/lib/message/message.service.js +116 -0
  44. package/esm2015/lib/message/message.types.js +1 -0
  45. package/esm2015/lib/password/password.gql.js +28 -0
  46. package/esm2015/lib/password/password.service.js +315 -0
  47. package/esm2015/lib/persist/persist.service.js +180 -0
  48. package/esm2015/lib/profile/profile-details.service.js +214 -0
  49. package/esm2015/lib/profile/profile.gql.js +97 -0
  50. package/esm2015/lib/profile/profile.service.js +169 -0
  51. package/esm2015/lib/profile/profile.types.js +34 -0
  52. package/esm2015/lib/record/record-attachment.service.js +15 -15
  53. package/esm2015/lib/record/record.service.js +3 -3
  54. package/esm2015/lib/register/register.service.js +172 -0
  55. package/esm2015/lib/scenario/scenario.controller.js +2 -2
  56. package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
  57. package/esm2015/lib/scenario/scenario.service.js +9 -9
  58. package/esm2015/lib/scenario/scenario.types.js +1 -1
  59. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
  60. package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
  61. package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
  62. package/esm2015/lib/slip39/slip39.service.js +169 -0
  63. package/esm2015/lib/time/time.service.js +146 -0
  64. package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
  65. package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
  66. package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
  67. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
  68. package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
  69. package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
  70. package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
  71. package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
  72. package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
  73. package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
  74. package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
  75. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
  76. package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
  77. package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
  78. package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
  79. package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
  80. package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
  81. package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
  82. package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
  83. package/esm2015/lib/two-factor/two-factor.service.js +74 -0
  84. package/esm2015/lib/user/user.gql.js +60 -0
  85. package/esm2015/lib/user/user.service.js +79 -0
  86. package/esm2015/lib/user/user.types.js +1 -0
  87. package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
  88. package/esm2015/lifeready-core.js +15 -13
  89. package/esm2015/public-api.js +49 -51
  90. package/fesm2015/lifeready-core.js +9232 -9214
  91. package/fesm2015/lifeready-core.js.map +1 -1
  92. package/lib/_common/types.d.ts +3 -1
  93. package/lib/api/lr-apollo.service.d.ts +1 -1
  94. package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
  95. package/lib/api/query-processor/common-processors.service.d.ts +1 -1
  96. package/lib/api/query-processor/query-processor.service.d.ts +1 -1
  97. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
  98. package/lib/api/types/lr-graphql.types.d.ts +11 -0
  99. package/lib/auth/auth.gql.d.ts +0 -3
  100. package/lib/auth/auth.types.d.ts +2 -2
  101. package/lib/auth/life-ready-auth.service.d.ts +12 -12
  102. package/lib/category/category.gql.d.ts +1 -1
  103. package/lib/category/category.service.d.ts +2 -2
  104. package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
  105. package/lib/contact-card/contact-card2.gql.d.ts +25 -0
  106. package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
  107. package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
  108. package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
  109. package/lib/file-upload/file-upload.types.d.ts +5 -0
  110. package/lib/{auth → idle}/idle.service.d.ts +4 -4
  111. package/lib/items2/item2.service.d.ts +11 -11
  112. package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
  113. package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
  114. package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
  115. package/lib/{cryptography → key}/key.service.d.ts +2 -2
  116. package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
  117. package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
  118. package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
  119. package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
  120. package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
  121. package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
  122. package/lib/{api → lock}/lock.gql.d.ts +1 -1
  123. package/lib/{api → lock}/lock.service.d.ts +1 -1
  124. package/lib/message/message.gql.d.ts +13 -0
  125. package/lib/message/message.service.d.ts +29 -0
  126. package/lib/message/message.types.d.ts +12 -0
  127. package/lib/password/password.gql.d.ts +3 -0
  128. package/lib/{auth → password}/password.service.d.ts +8 -8
  129. package/lib/{api → persist}/persist.service.d.ts +3 -3
  130. package/lib/{users → profile}/profile-details.service.d.ts +3 -3
  131. package/lib/{users → profile}/profile.gql.d.ts +2 -2
  132. package/lib/{users → profile}/profile.service.d.ts +6 -6
  133. package/lib/{users → profile}/profile.types.d.ts +1 -1
  134. package/lib/record/record-attachment.service.d.ts +6 -6
  135. package/lib/record/record.service.d.ts +1 -1
  136. package/lib/{auth → register}/register.service.d.ts +4 -4
  137. package/lib/scenario/scenario.controller.d.ts +1 -1
  138. package/lib/scenario/scenario.service.d.ts +2 -2
  139. package/lib/scenario/scenario.types.d.ts +1 -1
  140. package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
  141. package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
  142. package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
  143. package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
  144. package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
  145. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
  146. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
  147. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
  148. package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
  149. package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
  150. package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
  151. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
  152. package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
  153. package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
  154. package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
  155. package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
  156. package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
  157. package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
  158. package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
  159. package/lib/{users → user}/user.gql.d.ts +1 -1
  160. package/lib/{users → user}/user.types.d.ts +1 -1
  161. package/lifeready-core.d.ts +14 -12
  162. package/lifeready-core.metadata.json +1 -1
  163. package/package.json +1 -1
  164. package/public-api.d.ts +48 -50
  165. package/esm2015/lib/api/contact-card.gql.js +0 -79
  166. package/esm2015/lib/api/contact-card.service.js +0 -154
  167. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  168. package/esm2015/lib/api/contact-card2.service.js +0 -103
  169. package/esm2015/lib/api/file.service.js +0 -74
  170. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  171. package/esm2015/lib/api/key-exchange.service.js +0 -442
  172. package/esm2015/lib/api/key-exchange.types.js +0 -7
  173. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  174. package/esm2015/lib/api/key-exchange2.service.js +0 -480
  175. package/esm2015/lib/api/lock.gql.js +0 -40
  176. package/esm2015/lib/api/lock.service.js +0 -64
  177. package/esm2015/lib/api/message.service.js +0 -138
  178. package/esm2015/lib/api/persist.service.js +0 -181
  179. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  180. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  181. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  182. package/esm2015/lib/api/time.service.js +0 -146
  183. package/esm2015/lib/auth/lbop.service.js +0 -355
  184. package/esm2015/lib/auth/password.service.js +0 -315
  185. package/esm2015/lib/auth/register.service.js +0 -172
  186. package/esm2015/lib/auth/two-factor.service.js +0 -74
  187. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  188. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  189. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  190. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  191. package/esm2015/lib/cryptography/key.service.js +0 -124
  192. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  193. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  194. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
  195. package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
  196. package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
  197. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
  198. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
  199. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
  200. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
  201. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
  202. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
  203. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  204. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  205. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  206. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  207. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
  208. package/esm2015/lib/users/profile-details.service.js +0 -214
  209. package/esm2015/lib/users/profile.gql.js +0 -97
  210. package/esm2015/lib/users/profile.service.js +0 -169
  211. package/esm2015/lib/users/profile.types.js +0 -34
  212. package/esm2015/lib/users/user.gql.js +0 -60
  213. package/esm2015/lib/users/user.service.js +0 -79
  214. package/esm2015/lib/users/user.types.js +0 -1
  215. package/lib/api/contact-card2.gql.d.ts +0 -34
  216. package/lib/api/message.service.d.ts +0 -59
  217. /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
  218. /package/lib/{auth → idle}/idle.types.d.ts +0 -0
  219. /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
  220. /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
  221. /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
  222. /package/lib/{api → time}/time.service.d.ts +0 -0
  223. /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
  224. /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
  225. /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
  226. /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
  227. /package/lib/{users → user}/user.service.d.ts +0 -0
  228. /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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdHJ1c3RlZC1wYXJ0eS90cnVzdGVkLXBhcnR5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE1BQU0sT0FBTyxnQkFBZ0I7Q0FRNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLDJDQUFtQixDQUFBO0lBQ25CLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQixpQ0FBYSxDQUFBO0lBQ2IsaURBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2xDLG1EQUF1QixDQUFBO0lBQ3ZCLG1EQUF1QixDQUFBO0lBQ3ZCLGlEQUFxQixDQUFBO0lBQ3JCLG1EQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFMVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBS25DO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FJMUI7QUFFRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0NBSWpFO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtDQW9COUI7QUFFRCxNQUFNLE9BQU8sVUFBVTtDQUV0QjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FFOUI7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQVl4QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FNN0I7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0NBSTlCO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtDQUtwQztBQUVELE1BQU0sT0FBTyx5QkFBeUI7Q0FJckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWNyeXB0ZWRPdGssXG4gIEtleUV4Y2hhbmdlTWVzc2FnZSxcbiAgUHJlcGFyZWRQZXJtaXNzaW9ucyxcbiAgVXNlclNoYXJlZEtleSxcbn0gZnJvbSAnLi4va2V5LWV4Y2hhbmdlL2tleS1leGNoYW5nZS50eXBlcyc7XG5pbXBvcnQgeyBUcnVzdGVkUGFydHlEZXRhaWxzIH0gZnJvbSAnLi4vcHJvZmlsZS9wcm9maWxlLnR5cGVzJztcbmltcG9ydCB7IEFjY2Vzc0xldmVsIH0gZnJvbSAnLi8uLi9jYXRlZ29yeS9jYXRlZ29yeS50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUcnVzdGVkUGFydHlSb2xlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICByb2xlVHlwZTogVHJ1c3RlZFBhcnR5Um9sZVR5cGU7XG4gIGNhdGVnb3JpZXM6IHtcbiAgICBjYXRlZ29yeTogc3RyaW5nW107XG4gICAgYWNjZXNzTGV2ZWw6IEFjY2Vzc0xldmVsO1xuICB9W107XG59XG5cbmV4cG9ydCBlbnVtIFRydXN0ZWRQYXJ0eVJvbGVUeXBlIHtcbiAgR2VuZXJhbCA9ICdnZW5lcmFsJyxcbiAgU2NlbmFyaW8gPSAnc2NlbmFyaW8nLFxufVxuXG5leHBvcnQgZW51bSBUcnVzdGVkUGFydHlUeXBlIHtcbiAgVXNlciA9ICd1c2VyJyxcbiAgT3JnYW5pc2F0aW9uID0gJ29yZ2FuaXNhdGlvbicsXG59XG5cbmV4cG9ydCBlbnVtIFRydXN0ZWRQYXJ0eUludml0ZVN0YXR1cyB7XG4gIEludml0ZWQgPSAnSU5fUFJPR1JFU1MnLFxuICBDYW5jZWxsZWQgPSAnQ0FOQ0VMTEVEJyxcbiAgRGVjbGluZWQgPSAnREVDTElORUQnLFxuICBDb21wbGV0ZWQgPSAnQ09NUExFVEVEJyxcbn1cblxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0aWVzIHtcbiAgcGFydGllczogVHJ1c3RlZFBhcnR5W107XG4gIGludml0ZXM6IFRydXN0ZWRQYXJ0eUludml0ZVtdO1xuICBzZW50SW52aXRlczogVHJ1c3RlZFBhcnR5SW52aXRlW107XG59XG5cbmV4cG9ydCBjbGFzcyBTaGFyZWRUcnVzdGVkUGFydHlEZXRhaWxzIGV4dGVuZHMgVHJ1c3RlZFBhcnR5RGV0YWlscyB7XG4gIGlkOiBzdHJpbmc7XG4gIG93bmVkS2V5SWQ6IHN0cmluZztcbiAgc2hhcmVkS2V5SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eUludml0ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFRydXN0ZWRQYXJ0eVR5cGU7XG4gIHN0YXR1czogVHJ1c3RlZFBhcnR5SW52aXRlU3RhdHVzO1xuICB0b2tlbjogc3RyaW5nO1xuICB0b2tlbkV4cGlyeTogc3RyaW5nIHwgRGF0ZTtcbiAgaXNFeHBpcmVkOiBib29sZWFuO1xuICBpc1NlbmRlcjogYm9vbGVhbjtcbiAgYWN0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIG5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcblxuICBkZXRhaWxzPzogVHJ1c3RlZFBhcnR5RGV0YWlscztcbiAgbWVzc2FnZT86IEtleUV4Y2hhbmdlTWVzc2FnZTtcbiAgbXlTaGFyZWREZXRhaWxzPzogVHJ1c3RlZFBhcnR5RGV0YWlscztcbiAgbXlTaGFyZWRNZXNzYWdlPzogS2V5RXhjaGFuZ2VNZXNzYWdlO1xuXG4gIHJvb3RLZXlDaXBoZXI6IHN0cmluZztcbiAgcGJrQ2lwaGVyOiBzdHJpbmc7XG4gIGRlY3J5cHRlZE90azogRGVjcnlwdGVkT3RrO1xufVxuXG5leHBvcnQgY2xhc3MgVFBGZWF0dXJlcyB7XG4gIHNoYXJlZFZhdWx0OiBTaGFyZWRWYXVsdEZlYXR1cmU7XG59XG5cbmV4cG9ydCBjbGFzcyBTaGFyZWRWYXVsdEZlYXR1cmUge1xuICBoYXNBY2Nlc3M6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUcnVzdGVkUGFydHkge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBUcnVzdGVkUGFydHlUeXBlO1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgaGFzU2NlbmFyaW9zOiBib29sZWFuO1xuICBoYXNTaGFyZWRWYXVsdDogYm9vbGVhbjtcbiAgZGV0YWlsczogVHJ1c3RlZFBhcnR5RGV0YWlscztcbiAgbXlTaGFyZWREZXRhaWxzOiBTaGFyZWRUcnVzdGVkUGFydHlEZXRhaWxzO1xuICB1c2VyU2hhcmVkS2V5OiBVc2VyU2hhcmVkS2V5O1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBmZWF0dXJlczogVFBGZWF0dXJlcztcbn1cblxuZXhwb3J0IGNsYXNzIEZvdW5kVHJ1c3RlZFBhcnR5IHtcbiAgaWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgaXNUcnVzdGVkUGFydHk6IGJvb2xlYW47XG4gIGlzTWU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZpdGVUcnVzdGVkUGFydHkge1xuICBwYXJ0eTogeyB1c2VybmFtZT86IHN0cmluZzsgZW1haWw/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IG1lc3NhZ2U/OiBzdHJpbmcgfTtcbiAgcGVybWlzc2lvbnM/OiBQcmVwYXJlZFBlcm1pc3Npb25zO1xuICBteVNoYXJlZERldGFpbHM6IFRydXN0ZWRQYXJ0eURldGFpbHM7XG59XG5cbmV4cG9ydCBjbGFzcyBBY2NlcHRUcnVzdGVkUGFydHlJbnZpdGUge1xuICBpbnZpdGVJZDogc3RyaW5nO1xuICBpbnZpdGVUb2tlbjogc3RyaW5nO1xuICBkZWNyeXB0ZWRPdGs6IERlY3J5cHRlZE90aztcbiAgbXlTaGFyZWREZXRhaWxzOiBUcnVzdGVkUGFydHlEZXRhaWxzO1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlybVRydXN0ZWRQYXJ0eUludml0ZSB7XG4gIGludml0ZUlkOiBzdHJpbmc7XG4gIGluaXRpYXRvclJvb3RLZXlDaXBoZXI6IHN0cmluZztcbiAgaW5pdGlhdG9yT25lVGltZVBia0NpcGhlcjogc3RyaW5nO1xufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuZ3FsLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90cnVzdGVkLXBhcnR5L3RydXN0ZWQtcGFydHkyLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPMUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFrQjs7Ozs7O0NBTXpELENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQXdCOzs7Ozs7OztDQVFyRSxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUEwQjs7Ozs7Ozs7Q0FRekUsQ0FBQztBQVNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBbUI7Ozs7Ozs7O0NBUTNELENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQXFCOzs7Ozs7OztDQVEvRCxDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUE0Qjs7Ozs7RUFLNUUsQ0FBQztBQU9ILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBNEI7Ozs7OztDQU03RSxDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsUUFBUSxDQUE2Qjs7Ozs7RUFLOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IGdxbFR5cGVkIH0gZnJvbSAnLi4vX2NvbW1vbi9hc3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZVRwTXV0YXRpb24ge1xuICBkZWxldGVUcDoge1xuICAgIGlkOiBJRDtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBEZWxldGVUcE11dGF0aW9uID0gZ3FsVHlwZWQ8RGVsZXRlVHBNdXRhdGlvbj5gXG5tdXRhdGlvbiBEZWxldGVUcE11dGF0aW9uKCRpbnB1dDogRGVsZXRlVHBJbnB1dCEpIHtcbiAgZGVsZXRlVHAoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGlkXG4gIH1cbn1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVEaXJlY3RvcnlNdXRhdGlvbiB7XG4gIHNoYXJlRGlyZWN0b3J5OiB7XG4gICAgdHBEaXJlY3Rvcnk6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFNoYXJlRGlyZWN0b3J5TXV0YXRpb24gPSBncWxUeXBlZDxTaGFyZURpcmVjdG9yeU11dGF0aW9uPmBcbiAgbXV0YXRpb24gU2hhcmVEaXJlY3RvcnlNdXRhdGlvbigkaW5wdXQ6IFNoYXJlRGlyZWN0b3J5SW5wdXQhKSB7XG4gICAgc2hhcmVEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgdHBEaXJlY3Rvcnkge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBVbnNoYXJlRGlyZWN0b3J5TXV0YXRpb24ge1xuICB1bnNoYXJlRGlyZWN0b3J5OiB7XG4gICAgdHBEaXJlY3Rvcnk6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbiA9IGdxbFR5cGVkPFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbj5gXG4gIG11dGF0aW9uIFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbigkaW5wdXQ6IFVuc2hhcmVEaXJlY3RvcnlJbnB1dCEpIHtcbiAgICB1bnNoYXJlRGlyZWN0b3J5KGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIHRwRGlyZWN0b3J5IHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVGaWxlTXV0YXRpb24ge1xuICBzaGFyZUZpbGU6IHtcbiAgICB0cEZpbGU6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFNoYXJlRmlsZU11dGF0aW9uID0gZ3FsVHlwZWQ8U2hhcmVGaWxlTXV0YXRpb24+YFxuICBtdXRhdGlvbiBTaGFyZUZpbGVNdXRhdGlvbigkaW5wdXQ6IFNoYXJlRmlsZUlucHV0ISkge1xuICAgIHNoYXJlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICB0cEZpbGUge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBVbnNoYXJlRmlsZU11dGF0aW9uIHtcbiAgdW5zaGFyZUZpbGU6IHtcbiAgICB0cEZpbGU6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFVuc2hhcmVGaWxlTXV0YXRpb24gPSBncWxUeXBlZDxVbnNoYXJlRmlsZU11dGF0aW9uPmBcbiAgbXV0YXRpb24gVW5zaGFyZUZpbGVNdXRhdGlvbigkaW5wdXQ6IFVuc2hhcmVGaWxlSW5wdXQhKSB7XG4gICAgdW5zaGFyZUZpbGUoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgdHBGaWxlIHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24ge1xuICByZXF1ZXN0VHBNa1Jlc2hhcmU6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24gPSBncWxUeXBlZDxSZXF1ZXN0VHBNa1Jlc2hhcmVNdXRhdGlvbj5gXG5tdXRhdGlvbiBSZXF1ZXN0VHBNa1Jlc2hhcmVNdXRhdGlvbigkaW5wdXQ6IFJlcXVlc3RUcE1rUmVzaGFyZUlucHV0ISkge1xuICByZXF1ZXN0VHBNa1Jlc2hhcmUoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGlkXG4gIH1cbn1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbmRUcE1rUmVzaGFyZU11dGF0aW9uIHtcbiAgcmVzcG9uZFRwTWtSZXNoYXJlOiB7XG4gICAgaWQ6IElEO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFJlc3BvbmRUcE1rUmVzaGFyZU11dGF0aW9uID0gZ3FsVHlwZWQ8UmVzcG9uZFRwTWtSZXNoYXJlTXV0YXRpb24+YFxuICBtdXRhdGlvbiBSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbigkaW5wdXQ6IFJlc3BvbmRUcE1rUmVzaGFyZUlucHV0ISkge1xuICAgIHJlc3BvbmRUcE1rUmVzaGFyZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZVRwTWtSZXNoYXJlTXV0YXRpb24ge1xuICBjb21wbGV0ZVRwTWtSZXNoYXJlOiB7XG4gICAgaWQ6IElEO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbiA9IGdxbFR5cGVkPENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbj5gXG5tdXRhdGlvbiBDb21wbGV0ZVRwTWtSZXNoYXJlTXV0YXRpb24oJGlucHV0OiBDb21wbGV0ZVRwTWtSZXNoYXJlSW5wdXQhKSB7XG4gIGNvbXBsZXRlVHBNa1Jlc2hhcmUoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGlkXG4gIH1cbn1gO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuZ3FsLnByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3RydXN0ZWQtcGFydHkvdHJ1c3RlZC1wYXJ0eTIuZ3FsLnByaXZhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBdUIxQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQTZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0IvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUQgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgZ3FsVHlwZWQgfSBmcm9tICcuLi9fY29tbW9uL2FzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5IHtcbiAgdHA6IHtcbiAgICBjdXJyZW50VXNlclNoYXJlZEtleToge1xuICAgICAgdXNlclNoYXJlZEtleToge1xuICAgICAgICBzaGFyZWRLZXk6IHtcbiAgICAgICAgICBpZDogSUQ7XG4gICAgICAgIH07XG4gICAgICAgIG1rU2hhcmVkS2V5OiB7XG4gICAgICAgICAgaWQ6IElEO1xuICAgICAgICB9O1xuICAgICAgICBta1B4azoge1xuICAgICAgICAgIGlkOiBJRDtcbiAgICAgICAgfTtcbiAgICAgICAgbWtSZXNoYXJlUmVxdWVzdENpcGhlcjogc3RyaW5nO1xuICAgICAgICBta1Jlc2hhcmVSZXF1ZXN0U2VudDogYm9vbGVhbjtcbiAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXI6IHN0cmluZztcbiAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VTZW50OiBib29sZWFuO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IFRwQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeSA9IGdxbFR5cGVkPFRwQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeT5gXG5xdWVyeSBUcEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkoJGlkOiBMclJlbGF5SWRJbnB1dCEpIHtcbiAgdHAoaWQ6ICRpZCl7XG4gICAgY3VycmVudFVzZXJTaGFyZWRLZXkge1xuICAgICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAgIHNoYXJlZEtleSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgICAgICBta1NoYXJlZEtleSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgICAgICBta1B4ayB7XG4gICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgICAgICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyXG4gICAgICAgIG1rUmVzaGFyZVJlcXVlc3RTZW50XG4gICAgICAgIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyXG4gICAgICAgIG1rUmVzaGFyZVJlc3BvbnNlU2VudFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuYDtcbiJdfQ==
@@ -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 '../items2/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 "../items2/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvdHJ1c3RlZC1wYXJ0eS90cnVzdGVkLXBhcnR5Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsbUJBQW1CLEdBQ3BCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7SUFTOUQsb0JBQW9CLFNBQXBCLG9CQUFxQixTQUFRLFNBQVM7SUFDakQsWUFDVSxN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Q0wsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7O1lBalBBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBOUI4QixNQUFNO1lBQWhCLFFBQVE7WUFPcEIsZUFBZTtZQUZmLFlBQVk7WUFHWixVQUFVO1lBRlYsaUJBQWlCO1lBRmpCLGlCQUFpQjs7QUEyQmIsb0JBQW9CO0lBTmhDLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVyxvQkFBb0IsQ0E4T2hDO1NBOU9ZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQgeyBMck11dGF0aW9uLCBMclNlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItZ3JhcGhxbCc7XG5pbXBvcnQgeyBMclJlbGF5SWRJbnB1dCB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEl0ZW0yU2VydmljZSB9IGZyb20gJy4uL2l0ZW1zMi9pdGVtMi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4va2V5L2tleS50eXBlcyc7XG5pbXBvcnQgeyBMckJhZFN0YXRlRXhjZXB0aW9uIH0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgRGVsZXRlVHBNdXRhdGlvbixcbiAgUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gIFJlc3BvbmRUcE1rUmVzaGFyZU11dGF0aW9uLFxuICBTaGFyZURpcmVjdG9yeU11dGF0aW9uLFxuICBTaGFyZUZpbGVNdXRhdGlvbixcbiAgVW5zaGFyZURpcmVjdG9yeU11dGF0aW9uLFxuICBVbnNoYXJlRmlsZU11dGF0aW9uLFxufSBmcm9tICcuL3RydXN0ZWQtcGFydHkyLmdxbCc7XG5pbXBvcnQgeyBUcEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkgfSBmcm9tICcuL3RydXN0ZWQtcGFydHkyLmdxbC5wcml2YXRlJztcbmltcG9ydCB7IFNoYXJlSXRlbU9wdGlvbnMsIFVuc2hhcmVJdGVtT3B0aW9ucyB9IGZyb20gJy4vdHJ1c3RlZC1wYXJ0eTIudHlwZXMnO1xuXG5AUnVuT3V0c2lkZUFuZ3VsYXIoe1xuICBuZ1pvbmVOYW1lOiAnbmdab25lJyxcbn0pXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFBhcnR5MlNlcnZpY2UgZXh0ZW5kcyBMclNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGl0ZW0yU2VydmljZTogSXRlbTJTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGtleUZhY3Rvcnk6IEtleUZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIGRlbGV0ZVRwRXhlYyh0cElkOiBMclJlbGF5SWRJbnB1dCkge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLmRlbGV0ZVRwTXV0YXRpb24odHBJZCkpO1xuICB9XG5cbiAgLy8gVE9ETzogZGVwcmVjYXRlIHRoaXNcbiAgZGVsZXRlVHAodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVUcE11dGF0aW9uKHRwSWQpO1xuICB9XG5cbiAgZGVsZXRlVHBNdXRhdGlvbih0cElkOiBMclJlbGF5SWRJbnB1dCkge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlVHBNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkOiB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNoYXJlRGlyZWN0b3J5KG9wdGlvbnM6IFNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUl0ZW0oeyAuLi5vcHRpb25zLCBpc0RpcmVjdG9yeTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHNoYXJlRmlsZShvcHRpb25zOiBTaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVJdGVtKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IGZhbHNlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaGFyZUl0ZW0oe1xuICAgIGl0ZW1JZCxcbiAgICBpdGVtS2V5SWQsXG4gICAgdHBJZCxcbiAgICB0cFNoYXJlZEtleUlkLFxuICAgIGFjY2Vzc1JvbGUsXG4gICAgaXNEaXJlY3RvcnksXG4gIH06IFNoYXJlSXRlbU9wdGlvbnMgJiB7XG4gICAgaXNEaXJlY3Rvcnk6IGJvb2xlYW47XG4gIH0pIHtcbiAgICBjb25zdCBpdGVtS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoaXRlbUtleUlkLCAoKSA9PlxuICAgICAgaXNEaXJlY3RvcnlcbiAgICAgICAgPyB0aGlzLml0ZW0yU2VydmljZS5nZXREaXJlY3RvcnlLZXlJZChpdGVtSWQpXG4gICAgICAgIDogdGhpcy5pdGVtMlNlcnZpY2UuZ2V0RmlsZUtleUlkKGl0ZW1JZClcbiAgICApO1xuICAgIGNvbnN0IHdyYXBwaW5nS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodHBTaGFyZWRLZXlJZCwgKCkgPT5cbiAgICAgIHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKS50aGVuKChyZXMpID0+IHJlcy5zaGFyZWRLZXkuaWQpXG4gICAgKTtcbiAgICBjb25zdCB3cmFwcGVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC53cmFwS2V5KHdyYXBwaW5nS2V5LCBpdGVtS2V5Lmp3ayk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IGlzRGlyZWN0b3J5ID8gU2hhcmVEaXJlY3RvcnlNdXRhdGlvbiA6IFNoYXJlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQ6IGl0ZW1JZCxcbiAgICAgICAgICB0cElkLFxuICAgICAgICAgIGFjY2Vzc1JvbGUsXG4gICAgICAgICAga2V5SWQ6IGl0ZW1LZXkuaWQsXG4gICAgICAgICAgd3JhcHBpbmdLZXlJZDogd3JhcHBpbmdLZXkuaWQsXG4gICAgICAgICAgd3JhcHBlZEtleSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1bnNoYXJlRGlyZWN0b3J5KG9wdGlvbnM6IFVuc2hhcmVJdGVtT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnVuc2hhcmVJdGVtKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyB1bnNoYXJlRmlsZShvcHRpb25zOiBVbnNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy51bnNoYXJlSXRlbSh7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiBmYWxzZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3RNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgaWYgKHVzZXJTaGFyZWRLZXkubWtTaGFyZWRLZXkpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZFN0YXRlRXhjZXB0aW9uKCdUUCBhbHJlYWR5IGhhcyBta1NoYXJlZEtleScpO1xuICAgIH1cblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG4gICAgY29uc3QgcHJrID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVBrY0tleSgpO1xuICAgIGNvbnN0IG1rV3JhcHBlZE1rUHJrID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgcHJrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleSh1c2VyU2hhcmVkS2V5LnNoYXJlZEtleS5pZCk7XG4gICAgY29uc3QgbWtSZXNoYXJlUmVxdWVzdENpcGhlciA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgc2hhcmVkS2V5Lmp3ayxcbiAgICAgIHtcbiAgICAgICAgcGJrOiBwcmsudG9KU09OKCksXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICB0cElkLFxuICAgICAgICAgIG1hc3RlcktleUlkOiBtYXN0ZXJLZXkuaWQsXG4gICAgICAgICAgbWtQYms6IEpTT04uc3RyaW5naWZ5KHByay50b0pTT04oKSksXG4gICAgICAgICAgbWtXcmFwcGVkTWtQcmssXG4gICAgICAgICAgc2hhcmVkS2V5SWQ6IHNoYXJlZEtleS5pZCxcbiAgICAgICAgICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlc3BvbmRNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgaWYgKCF1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbihcbiAgICAgICAgJ05vIGFjY2VzcyB0byB0aGUgbWtTaGFyZWRLZXkgc28gY2Fubm90IHJlc2hhcmUgaXQgd2l0aCBUUCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVxdWVzdENpcGhlciA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZGVjcnlwdChcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIHVzZXJTaGFyZWRLZXkubWtSZXNoYXJlUmVxdWVzdENpcGhlclxuICAgICk7XG4gICAgY29uc3QgcGJrID0gYXdhaXQgSldLLmFzS2V5KHBsYWluTWtSZXNoYXJlUmVxdWVzdENpcGhlci5wYmspO1xuICAgIGNvbnN0IG1rU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoXG4gICAgICB1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5LmlkXG4gICAgKTtcblxuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIgPSB7XG4gICAgICBta1NoYXJlZEtleToge1xuICAgICAgICBpZDogbWtTaGFyZWRLZXkuaWQsXG4gICAgICAgIGp3azogbWtTaGFyZWRLZXkuandrLnRvSlNPTih0cnVlKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIFdyYXAgd2l0aCBzaGFyZWRLZXkgdGhlbiBhZ2FpbiB3aXRoIFBia1xuICAgIGNvbnN0IG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID1cbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICBwYmssXG4gICAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICAgIHNoYXJlZEtleS5qd2ssXG4gICAgICAgICAgcGxhaW5Na1Jlc2hhcmVSZXNwb25zZUNpcGhlclxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHRwSWQsXG4gICAgICAgICAgbWtTaGFyZWRLZXlJZDogbWtTaGFyZWRLZXkuaWQsXG4gICAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY29tcGxldGVNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IHByayA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkubWtQeGsuaWQpO1xuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgIHByayxcbiAgICAgICAgdXNlclNoYXJlZEtleS5ta1Jlc2hhcmVSZXNwb25zZUNpcGhlclxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBEb3VibGUgY2hlY2sgaXQncyBhIHZhbGlkIGtleS5cbiAgICBjb25zdCBta1NoYXJlZEtleTogS2V5ID0ge1xuICAgICAgaWQ6IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIubWtTaGFyZWRLZXkuaWQsXG4gICAgICBqd2s6IGF3YWl0IEpXSy5hc0tleShwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLm1rU2hhcmVkS2V5Lmp3ayksXG4gICAgfTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG4gICAgY29uc3QgbWtXcmFwcGVkTWtTaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICBta1NoYXJlZEtleS5qd2sudG9KU09OKHRydWUpXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogQ29tcGxldGVUcE1rUmVzaGFyZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBtYXN0ZXJLZXlJZDogbWFzdGVyS2V5LmlkLFxuICAgICAgICAgIG1rU2hhcmVkS2V5SWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICAgIG1rV3JhcHBlZE1rU2hhcmVkS2V5LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVscGVyc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHByaXZhdGUgYXN5bmMgZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkOiBMclJlbGF5SWRJbnB1dCkge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCB0aGlzLmxyR3JhcGhRTC5xdWVyeSh7XG4gICAgICAgIHF1ZXJ5OiBUcEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnksXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGlkOiB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApLnRwLmN1cnJlbnRVc2VyU2hhcmVkS2V5LnVzZXJTaGFyZWRLZXk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVuc2hhcmVJdGVtKHtcbiAgICBpdGVtSWQsXG4gICAgdHBJZCxcbiAgICBpc0RpcmVjdG9yeSxcbiAgfTogVW5zaGFyZUl0ZW1PcHRpb25zICYgeyBpc0RpcmVjdG9yeTogYm9vbGVhbiB9KSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBpc0RpcmVjdG9yeSA/IFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbiA6IFVuc2hhcmVGaWxlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZDogaXRlbUlkLFxuICAgICAgICAgIHRwSWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3RydXN0ZWQtcGFydHkvdHJ1c3RlZC1wYXJ0eTIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc1JvbGVDaG9pY2UsIExyUmVsYXlJZElucHV0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcblxuLy8gSWYgeHh4S2V5SWQgbm90IGdpdmVuLCB0aGVuIGZldGNoIHRoZW0gd2l0aCBBUEkgY2FsbHNcbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVJdGVtT3B0aW9ucyB7XG4gIGl0ZW1JZDogTHJSZWxheUlkSW5wdXQ7XG4gIGl0ZW1LZXlJZD86IExyUmVsYXlJZElucHV0O1xuICB0cElkOiBMclJlbGF5SWRJbnB1dDtcbiAgdHBTaGFyZWRLZXlJZD86IExyUmVsYXlJZElucHV0O1xuICBhY2Nlc3NSb2xlOiBBY2Nlc3NSb2xlQ2hvaWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc2hhcmVJdGVtT3B0aW9ucyB7XG4gIGl0ZW1JZDogc3RyaW5nO1xuICB0cElkOiBzdHJpbmc7XG59XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWZhY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90d28tZmFjdG9yL3R3by1mYWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLElBQWU7UUFBZixTQUFJLEdBQUosSUFBSSxDQUFXO0lBQUcsQ0FBQztJQUUxQixlQUFlOztZQUMxQixNQUFNLFdBQVcsR0FBZ0IsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFFNUUsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FBQTtJQUVZLGVBQWUsQ0FDMUIsTUFBZ0M7O1lBRWhDLE1BQU0sV0FBVyxHQUFnQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUU1RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxDQUFDO0tBQUE7SUFFWSxjQUFjLENBQUMsS0FBSzs7WUFDL0IsTUFBTSxXQUFXLEdBQWdCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBRTVFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hELFlBQVksRUFBRSxLQUFLO2FBQ3BCLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVZLFVBQVU7O1lBQ3JCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFWSxhQUFhLENBQUMsZ0JBQXdCOztZQUNqRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQzlDLGNBQWMsRUFDZCxnQkFBZ0IsQ0FDakIsQ0FBQztRQUNKLENBQUM7S0FBQTtJQUVZLGdCQUFnQjs7WUFDM0IsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO2FBQzVCLENBQUMsQ0FBQztZQUVILE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFcEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixNQUFNLElBQUksc0JBQXNCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQzthQUNwRTtZQUVELE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixPQUFPLEVBQUUsa0JBQWtCLEtBQUssV0FBVyxJQUFJLG1CQUFtQjthQUNuRSxDQUFDO1FBQ0osQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsUUFBZ0I7O1lBQy9DLE1BQU0sV0FBVyxHQUFnQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUU1RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RCxDQUFDO0tBQUE7Ozs7WUE5REYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMUSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29nbml0b1VzZXIgfSBmcm9tICdAYXdzLWFtcGxpZnkvYXV0aCc7XG5pbXBvcnQgeyBBdXRoQ2xhc3MgfSBmcm9tICdAYXdzLWFtcGxpZnkvYXV0aC9saWItZXNtL0F1dGgnO1xuaW1wb3J0IHsgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUd29GYWN0b3JTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOiBBdXRoQ2xhc3MpIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFByZWZlcnJlZE1GQSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNvZ25pdG9Vc2VyOiBDb2duaXRvVXNlciA9IGF3YWl0IHRoaXMuYXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmF1dGguZ2V0UHJlZmVycmVkTUZBKGNvZ25pdG9Vc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRQcmVmZXJyZWRNRkEoXG4gICAgbWV0aG9kOiAnVE9UUCcgfCAnU01TJyB8ICdOT01GQSdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29nbml0b1VzZXI6IENvZ25pdG9Vc2VyID0gYXdhaXQgdGhpcy5hdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuXG4gICAgYXdhaXQgdGhpcy5hdXRoLnNldFByZWZlcnJlZE1GQShjb2duaXRvVXNlciwgbWV0aG9kKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRQaG9uZU51bWJlcihwaG9uZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvZ25pdG9Vc2VyOiBDb2duaXRvVXNlciA9IGF3YWl0IHRoaXMuYXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcblxuICAgIGF3YWl0IHRoaXMuYXV0aC51cGRhdGVVc2VyQXR0cmlidXRlcyhjb2duaXRvVXNlciwge1xuICAgICAgcGhvbmVfbnVtYmVyOiBwaG9uZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTTVNDb2RlKCkge1xuICAgIGF3YWl0IHRoaXMuYXV0aC52ZXJpZnlDdXJyZW50VXNlckF0dHJpYnV0ZSgncGhvbmVfbnVtYmVyJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5U01TQ29kZSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpIHtcbiAgICBhd2FpdCB0aGlzLmF1dGgudmVyaWZ5Q3VycmVudFVzZXJBdHRyaWJ1dGVTdWJtaXQoXG4gICAgICAncGhvbmVfbnVtYmVyJyxcbiAgICAgIHZlcmlmaWNhdGlvbkNvZGVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNvZnR3YXJlVG9rZW4oKTogUHJvbWlzZTx7IGNvZGU6IHN0cmluZzsgY29kZVVyaTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBbY29nbml0b1VzZXIsIHVzZXJJbmZvXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMuYXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKSxcbiAgICAgIHRoaXMuYXV0aC5jdXJyZW50VXNlckluZm8oKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IGNvZGUgPSBhd2FpdCB0aGlzLmF1dGguc2V0dXBUT1RQKGNvZ25pdG9Vc2VyKTtcblxuICAgIGNvbnN0IGVtYWlsID0gdXNlckluZm8uYXR0cmlidXRlcy5lbWFpbDtcbiAgICBpZiAoIWVtYWlsKSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbignTm8gZW1haWwgYXNzb2NpYXRlZCB3aXRoIHVzZXIuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGUsXG4gICAgICBjb2RlVXJpOiBgb3RwYXV0aDovL3RvdHAvJHtlbWFpbH0/c2VjcmV0PSR7Y29kZX0maXNzdWVyPUxpZmVSZWFkeWAsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2ZXJpZnlTb2Z0d2FyZVRva2VuKHRvdHBDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb2duaXRvVXNlcjogQ29nbml0b1VzZXIgPSBhd2FpdCB0aGlzLmF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XG5cbiAgICBhd2FpdCB0aGlzLmF1dGgudmVyaWZ5VG90cFRva2VuKGNvZ25pdG9Vc2VyLCB0b3RwQ29kZSk7XG4gIH1cbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5ncWwuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3VzZXIvdXNlci5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBUTlCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTJCM0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBUzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUE7Ozs7OztDQU0xQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Q0FZbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci50eXBlcyc7XG5pbXBvcnQgeyBIYXNLZXlHcmFwaCB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeVR5cGUgZXh0ZW5kcyBIYXNLZXlHcmFwaCB7XG4gIHVzZXI6IFVzZXI7XG59XG5cbmV4cG9ydCBjb25zdCBVc2VyUXVlcnkgPSBncWxgXG4gIHF1ZXJ5IFVzZXJRdWVyeSgkZW1haWw6IExyRW1haWwsICR1c2VybmFtZTogU3RyaW5nKSB7XG4gICAgdXNlcihlbWFpbDogJGVtYWlsLCB1c2VybmFtZTogJHVzZXJuYW1lKSB7XG4gICAgICBpZFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGhhdmVUcFxuICAgICAgaXNDdXJyZW50VXNlclxuICAgICAgY29udGFjdENhcmRzIHtcbiAgICAgICAgZWRnZXMge1xuICAgICAgICAgIG5vZGUge1xuICAgICAgICAgICAgcHVibGljRGF0YVxuICAgICAgICAgICAgcHVibGljU2VhcmNoYWJsZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY3VycmVudFVzZXJLZXkge1xuICAgICAgICBzaWdQeGsge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgcGJrXG4gICAgICAgIH1cbiAgICAgICAgcHhrIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHBia1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUmVxdWVzdFVzZXJEZWxldGVNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gUmVxdWVzdFVzZXJEZWxldGUoJGlucHV0OiBSZXF1ZXN0VXNlckRlbGV0ZUlucHV0ISkge1xuICAgIHJlcXVlc3RVc2VyRGVsZXRlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIHVzZXJEZWxldGUge1xuICAgICAgICBzdGF0ZVxuICAgICAgICBjcmVhdGVkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2FuY2VsVXNlckRlbGV0ZU11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBDYW5jZWxVc2VyRGVsZXRlKCRpbnB1dDogQ2FuY2VsVXNlckRlbGV0ZUlucHV0ISkge1xuICAgIGNhbmNlbFVzZXJEZWxldGUoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBMb2dpbkhpc3RvcnlRdWVyeSA9IGdxbGBcbiAgcXVlcnkgTG9naW5IaXN0b3J5KCRmaXJzdDogSW50LCAkYWZ0ZXI6IFN0cmluZykge1xuICAgIGxvZ2luSGlzdG9yeShmaXJzdDogJGZpcnN0LCBhZnRlcjogJGFmdGVyKSB7XG4gICAgICBwYWdlSW5mbyB7XG4gICAgICAgIGhhc05leHRQYWdlXG4gICAgICAgIGhhc1ByZXZpb3VzUGFnZVxuICAgICAgICBzdGFydEN1cnNvclxuICAgICAgICBlbmRDdXJzb3JcbiAgICAgIH1cbiAgICAgIGV2ZW50c1xuICAgIH1cbiAgfVxuYDtcbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { UserQuery, RequestUserDeleteMutation, CancelUserDeleteMutation, LoginHistoryQuery, } from './user.gql';
4
+ import { LrApolloService } from '../api/lr-apollo.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../api/lr-apollo.service";
7
+ export class UserService {
8
+ constructor(lrApollo) {
9
+ this.lrApollo = lrApollo;
10
+ }
11
+ getUserByEmail(email) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ return this.getUser({ email });
14
+ });
15
+ }
16
+ getUserByUsername(username) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ return this.getUser({ username });
19
+ });
20
+ }
21
+ getUser({ email, username }) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const { user } = yield this.lrApollo.query({
24
+ query: UserQuery,
25
+ variables: {
26
+ email,
27
+ username,
28
+ },
29
+ });
30
+ return user;
31
+ });
32
+ }
33
+ requestUserDelete() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const res = yield this.lrApollo.mutate({
36
+ mutation: RequestUserDeleteMutation,
37
+ variables: {
38
+ input: {},
39
+ },
40
+ });
41
+ return res.requestUserDelete.userDelete;
42
+ });
43
+ }
44
+ cancelUserDelete() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const res = yield this.lrApollo.mutate({
47
+ mutation: CancelUserDeleteMutation,
48
+ variables: {
49
+ input: {},
50
+ },
51
+ });
52
+ return res.cancelUserDelete.id;
53
+ });
54
+ }
55
+ loginHistory(first = null, after = null) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ // first: return first n entries
58
+ // after: pass in the pageInfo.endCursor to paginate
59
+ const res = yield this.lrApollo.query({
60
+ query: LoginHistoryQuery,
61
+ variables: {
62
+ first,
63
+ after,
64
+ },
65
+ });
66
+ return res.loginHistory;
67
+ });
68
+ }
69
+ }
70
+ UserService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserService_Factory() { return new UserService(i0.ɵɵinject(i1.LrApolloService)); }, token: UserService, providedIn: "root" });
71
+ UserService.decorators = [
72
+ { type: Injectable, args: [{
73
+ providedIn: 'root',
74
+ },] }
75
+ ];
76
+ UserService.ctorParameters = () => [
77
+ { type: LrApolloService }
78
+ ];
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi91c2VyL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsU0FBUyxFQUVULHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsaUJBQWlCLEdBQ2xCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTTNELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFFBQXlCO1FBQXpCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQUcsQ0FBQztJQUUzQyxjQUFjLENBQUMsS0FBYTs7WUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxpQkFBaUIsQ0FBQyxRQUFnQjs7WUFDdEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFSyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFnQjs7WUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQWdCO2dCQUN4RCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFO29CQUNULEtBQUs7b0JBQ0wsUUFBUTtpQkFDVDthQUNGLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUFBO0lBRUssaUJBQWlCOztZQUNyQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUE2QjtnQkFDakUsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNWO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxHQUFHLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQzFDLENBQUM7S0FBQTtJQUVLLGdCQUFnQjs7WUFDcEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBNEI7Z0JBQ2hFLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUUsRUFBRTtpQkFDVjthQUNGLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsUUFBZ0IsSUFBSSxFQUFFLFFBQWdCLElBQUk7O1lBQzNELGdDQUFnQztZQUNoQyxvREFBb0Q7WUFDcEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBd0I7Z0JBQzNELEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLFNBQVMsRUFBRTtvQkFDVCxLQUFLO29CQUNMLEtBQUs7aUJBQ047YUFDRixDQUFDLENBQUM7WUFFSCxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUIsQ0FBQztLQUFBOzs7O1lBM0RGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXIsIEdldFVzZXJJbnB1dCB9IGZyb20gJy4vdXNlci50eXBlcyc7XG5pbXBvcnQge1xuICBVc2VyUXVlcnksXG4gIFVzZXJRdWVyeVR5cGUsXG4gIFJlcXVlc3RVc2VyRGVsZXRlTXV0YXRpb24sXG4gIENhbmNlbFVzZXJEZWxldGVNdXRhdGlvbixcbiAgTG9naW5IaXN0b3J5UXVlcnksXG59IGZyb20gJy4vdXNlci5ncWwnO1xuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2xyLWFwb2xsby5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJEZWxldGVOb2RlIH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsckFwb2xsbzogTHJBcG9sbG9TZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGdldFVzZXJCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKHsgZW1haWwgfSk7XG4gIH1cblxuICBhc3luYyBnZXRVc2VyQnlVc2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcih7IHVzZXJuYW1lIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlcih7IGVtYWlsLCB1c2VybmFtZSB9OiBHZXRVc2VySW5wdXQpOiBQcm9taXNlPFVzZXI+IHtcbiAgICBjb25zdCB7IHVzZXIgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8VXNlclF1ZXJ5VHlwZT4oe1xuICAgICAgcXVlcnk6IFVzZXJRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBlbWFpbCxcbiAgICAgICAgdXNlcm5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiB1c2VyO1xuICB9XG5cbiAgYXN5bmMgcmVxdWVzdFVzZXJEZWxldGUoKTogUHJvbWlzZTxVc2VyRGVsZXRlTm9kZT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgcmVxdWVzdFVzZXJEZWxldGU6IGFueSB9Pih7XG4gICAgICBtdXRhdGlvbjogUmVxdWVzdFVzZXJEZWxldGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge30sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcy5yZXF1ZXN0VXNlckRlbGV0ZS51c2VyRGVsZXRlO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsVXNlckRlbGV0ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHsgY2FuY2VsVXNlckRlbGV0ZTogYW55IH0+KHtcbiAgICAgIG11dGF0aW9uOiBDYW5jZWxVc2VyRGVsZXRlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHt9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMuY2FuY2VsVXNlckRlbGV0ZS5pZDtcbiAgfVxuXG4gIGFzeW5jIGxvZ2luSGlzdG9yeShmaXJzdDogbnVtYmVyID0gbnVsbCwgYWZ0ZXI6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIGZpcnN0OiByZXR1cm4gZmlyc3QgbiBlbnRyaWVzXG4gICAgLy8gYWZ0ZXI6IHBhc3MgaW4gdGhlIHBhZ2VJbmZvLmVuZEN1cnNvciB0byBwYWdpbmF0ZVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8eyBsb2dpbkhpc3Rvcnk6IGFueSB9Pih7XG4gICAgICBxdWVyeTogTG9naW5IaXN0b3J5UXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgZmlyc3QsXG4gICAgICAgIGFmdGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMubG9naW5IaXN0b3J5O1xuICB9XG59XG4iXX0=