@lifeready/core 0.6.0-beta.1

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 (225) hide show
  1. package/README.md +62 -0
  2. package/bundles/lifeready-core.umd.js +15939 -0
  3. package/bundles/lifeready-core.umd.js.map +1 -0
  4. package/bundles/lifeready-core.umd.min.js +2 -0
  5. package/bundles/lifeready-core.umd.min.js.map +1 -0
  6. package/esm2015/lib/_common/ast.js +40 -0
  7. package/esm2015/lib/_common/deferred-promise.js +24 -0
  8. package/esm2015/lib/_common/exceptions.js +157 -0
  9. package/esm2015/lib/_common/queries.gql.js +190 -0
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -0
  11. package/esm2015/lib/_common/types.js +1 -0
  12. package/esm2015/lib/_common/utils.js +44 -0
  13. package/esm2015/lib/api/contact-card.gql.js +79 -0
  14. package/esm2015/lib/api/contact-card.service.js +154 -0
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -0
  16. package/esm2015/lib/api/contact-card2.service.js +103 -0
  17. package/esm2015/lib/api/file.service.js +74 -0
  18. package/esm2015/lib/api/item2.gql.js +110 -0
  19. package/esm2015/lib/api/item2.service.js +311 -0
  20. package/esm2015/lib/api/key-exchange.gql.js +188 -0
  21. package/esm2015/lib/api/key-exchange.service.js +442 -0
  22. package/esm2015/lib/api/key-exchange.types.js +18 -0
  23. package/esm2015/lib/api/key-exchange2.gql.js +171 -0
  24. package/esm2015/lib/api/key-exchange2.service.js +479 -0
  25. package/esm2015/lib/api/lock.gql.js +40 -0
  26. package/esm2015/lib/api/lock.service.js +64 -0
  27. package/esm2015/lib/api/lr-apollo.service.js +46 -0
  28. package/esm2015/lib/api/lr-graphql/index.js +6 -0
  29. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -0
  30. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -0
  31. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -0
  32. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -0
  33. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -0
  34. package/esm2015/lib/api/message.service.js +138 -0
  35. package/esm2015/lib/api/persist.service.js +181 -0
  36. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -0
  37. package/esm2015/lib/api/query-processor/index.js +3 -0
  38. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -0
  39. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -0
  40. package/esm2015/lib/api/shared-contact-card.service.js +119 -0
  41. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -0
  42. package/esm2015/lib/api/shared-contact-card2.service.js +117 -0
  43. package/esm2015/lib/api/time.service.js +146 -0
  44. package/esm2015/lib/api/types/graphql.types.js +7 -0
  45. package/esm2015/lib/api/types/index.js +3 -0
  46. package/esm2015/lib/api/types/lr-graphql.types.js +71 -0
  47. package/esm2015/lib/auth/auth.config.js +57 -0
  48. package/esm2015/lib/auth/auth.gql.js +48 -0
  49. package/esm2015/lib/auth/auth.types.js +27 -0
  50. package/esm2015/lib/auth/idle.service.js +168 -0
  51. package/esm2015/lib/auth/idle.types.js +7 -0
  52. package/esm2015/lib/auth/lbop.service.js +355 -0
  53. package/esm2015/lib/auth/life-ready-auth.service.js +333 -0
  54. package/esm2015/lib/auth/password.service.js +320 -0
  55. package/esm2015/lib/auth/register.service.js +172 -0
  56. package/esm2015/lib/auth/two-factor.service.js +74 -0
  57. package/esm2015/lib/category/category-meta.service.js +99 -0
  58. package/esm2015/lib/category/category.gql.js +406 -0
  59. package/esm2015/lib/category/category.service.js +390 -0
  60. package/esm2015/lib/category/category.types.js +29 -0
  61. package/esm2015/lib/cryptography/cryptography.types.js +11 -0
  62. package/esm2015/lib/cryptography/encryption.service.js +189 -0
  63. package/esm2015/lib/cryptography/key-factory.service.js +237 -0
  64. package/esm2015/lib/cryptography/key-graph.service.js +280 -0
  65. package/esm2015/lib/cryptography/key-meta.service.js +200 -0
  66. package/esm2015/lib/cryptography/key.service.js +124 -0
  67. package/esm2015/lib/cryptography/slip39.service.js +169 -0
  68. package/esm2015/lib/cryptography/web-crypto.service.js +29 -0
  69. package/esm2015/lib/life-ready.config.js +84 -0
  70. package/esm2015/lib/life-ready.module.js +74 -0
  71. package/esm2015/lib/plan/plan.gql.js +123 -0
  72. package/esm2015/lib/plan/plan.service.js +149 -0
  73. package/esm2015/lib/plan/plan.types.js +11 -0
  74. package/esm2015/lib/record/record-attachment.service.js +101 -0
  75. package/esm2015/lib/record/record.gql.js +179 -0
  76. package/esm2015/lib/record/record.service.js +206 -0
  77. package/esm2015/lib/record/record.types.js +15 -0
  78. package/esm2015/lib/record-type/record-type.service.js +75 -0
  79. package/esm2015/lib/record-type/record-type.types.js +28 -0
  80. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -0
  81. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -0
  82. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -0
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -0
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -0
  85. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -0
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -0
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -0
  88. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -0
  89. package/esm2015/lib/scenario/scenario-setup.service.js +269 -0
  90. package/esm2015/lib/scenario/scenario.gql.js +368 -0
  91. package/esm2015/lib/scenario/scenario.service.js +611 -0
  92. package/esm2015/lib/scenario/scenario.types.js +64 -0
  93. package/esm2015/lib/search/search.gql.js +62 -0
  94. package/esm2015/lib/search/search.service.js +156 -0
  95. package/esm2015/lib/search/search.types.js +6 -0
  96. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -0
  97. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +266 -0
  98. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -0
  99. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +300 -0
  100. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -0
  101. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -0
  102. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -0
  103. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -0
  104. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -0
  105. package/esm2015/lib/users/profile-details.service.js +214 -0
  106. package/esm2015/lib/users/profile.gql.js +97 -0
  107. package/esm2015/lib/users/profile.service.js +169 -0
  108. package/esm2015/lib/users/profile.types.js +34 -0
  109. package/esm2015/lib/users/user.gql.js +60 -0
  110. package/esm2015/lib/users/user.service.js +79 -0
  111. package/esm2015/lib/users/user.types.js +5 -0
  112. package/esm2015/lifeready-core.js +10 -0
  113. package/esm2015/public-api.js +81 -0
  114. package/fesm2015/lifeready-core.js +13290 -0
  115. package/fesm2015/lifeready-core.js.map +1 -0
  116. package/lib/_common/ast.d.ts +11 -0
  117. package/lib/_common/deferred-promise.d.ts +12 -0
  118. package/lib/_common/exceptions.d.ts +109 -0
  119. package/lib/_common/queries.gql.d.ts +10 -0
  120. package/lib/_common/run-outside-angular.d.ts +14 -0
  121. package/lib/_common/types.d.ts +10 -0
  122. package/lib/_common/utils.d.ts +3 -0
  123. package/lib/api/contact-card.gql.d.ts +7 -0
  124. package/lib/api/contact-card.service.d.ts +52 -0
  125. package/lib/api/contact-card2.gql.d.ts +34 -0
  126. package/lib/api/contact-card2.service.d.ts +49 -0
  127. package/lib/api/file.service.d.ts +18 -0
  128. package/lib/api/item2.gql.d.ts +96 -0
  129. package/lib/api/item2.service.d.ts +177 -0
  130. package/lib/api/key-exchange.gql.d.ts +9 -0
  131. package/lib/api/key-exchange.service.d.ts +39 -0
  132. package/lib/api/key-exchange.types.d.ts +196 -0
  133. package/lib/api/key-exchange2.gql.d.ts +125 -0
  134. package/lib/api/key-exchange2.service.d.ts +187 -0
  135. package/lib/api/lock.gql.d.ts +27 -0
  136. package/lib/api/lock.service.d.ts +25 -0
  137. package/lib/api/lr-apollo.service.d.ts +15 -0
  138. package/lib/api/lr-graphql/index.d.ts +5 -0
  139. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -0
  140. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -0
  141. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -0
  142. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -0
  143. package/lib/api/lr-graphql/lr.service.d.ts +9 -0
  144. package/lib/api/message.service.d.ts +58 -0
  145. package/lib/api/persist.service.d.ts +31 -0
  146. package/lib/api/query-processor/common-processors.service.d.ts +36 -0
  147. package/lib/api/query-processor/index.d.ts +2 -0
  148. package/lib/api/query-processor/query-processor.service.d.ts +18 -0
  149. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -0
  150. package/lib/api/shared-contact-card.service.d.ts +33 -0
  151. package/lib/api/shared-contact-card2.gql.d.ts +36 -0
  152. package/lib/api/shared-contact-card2.service.d.ts +45 -0
  153. package/lib/api/time.service.d.ts +16 -0
  154. package/lib/api/types/graphql.types.d.ts +29 -0
  155. package/lib/api/types/index.d.ts +2 -0
  156. package/lib/api/types/lr-graphql.types.d.ts +385 -0
  157. package/lib/auth/auth.config.d.ts +5 -0
  158. package/lib/auth/auth.gql.d.ts +15 -0
  159. package/lib/auth/auth.types.d.ts +66 -0
  160. package/lib/auth/idle.service.d.ts +40 -0
  161. package/lib/auth/idle.types.d.ts +10 -0
  162. package/lib/auth/lbop.service.d.ts +91 -0
  163. package/lib/auth/life-ready-auth.service.d.ts +46 -0
  164. package/lib/auth/password.service.d.ts +78 -0
  165. package/lib/auth/register.service.d.ts +25 -0
  166. package/lib/auth/two-factor.service.d.ts +15 -0
  167. package/lib/category/category-meta.service.d.ts +23 -0
  168. package/lib/category/category.gql.d.ts +45 -0
  169. package/lib/category/category.service.d.ts +67 -0
  170. package/lib/category/category.types.d.ts +79 -0
  171. package/lib/cryptography/cryptography.types.d.ts +83 -0
  172. package/lib/cryptography/encryption.service.d.ts +41 -0
  173. package/lib/cryptography/key-factory.service.d.ts +38 -0
  174. package/lib/cryptography/key-graph.service.d.ts +33 -0
  175. package/lib/cryptography/key-meta.service.d.ts +44 -0
  176. package/lib/cryptography/key.service.d.ts +36 -0
  177. package/lib/cryptography/slip39.service.d.ts +43 -0
  178. package/lib/cryptography/web-crypto.service.d.ts +5 -0
  179. package/lib/life-ready.config.d.ts +14 -0
  180. package/lib/life-ready.module.d.ts +5 -0
  181. package/lib/plan/plan.gql.d.ts +11 -0
  182. package/lib/plan/plan.service.d.ts +33 -0
  183. package/lib/plan/plan.types.d.ts +31 -0
  184. package/lib/record/record-attachment.service.d.ts +16 -0
  185. package/lib/record/record.gql.d.ts +14 -0
  186. package/lib/record/record.service.d.ts +25 -0
  187. package/lib/record/record.types.d.ts +57 -0
  188. package/lib/record-type/record-type.service.d.ts +11 -0
  189. package/lib/record-type/record-type.types.d.ts +50 -0
  190. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -0
  191. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -0
  192. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -0
  193. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -0
  194. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -0
  195. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -0
  196. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -0
  197. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -0
  198. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -0
  199. package/lib/scenario/scenario-setup.service.d.ts +22 -0
  200. package/lib/scenario/scenario.gql.d.ts +34 -0
  201. package/lib/scenario/scenario.service.d.ts +58 -0
  202. package/lib/scenario/scenario.types.d.ts +217 -0
  203. package/lib/search/search.gql.d.ts +1 -0
  204. package/lib/search/search.service.d.ts +25 -0
  205. package/lib/search/search.types.d.ts +20 -0
  206. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -0
  207. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +41 -0
  208. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -0
  209. package/lib/trusted-parties/tp-password-reset.service.d.ts +131 -0
  210. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -0
  211. package/lib/trusted-parties/trusted-party.service.d.ts +44 -0
  212. package/lib/trusted-parties/trusted-party.types.d.ts +102 -0
  213. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -0
  214. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -0
  215. package/lib/users/profile-details.service.d.ts +21 -0
  216. package/lib/users/profile.gql.d.ts +11 -0
  217. package/lib/users/profile.service.d.ts +35 -0
  218. package/lib/users/profile.types.d.ts +96 -0
  219. package/lib/users/user.gql.d.ts +9 -0
  220. package/lib/users/user.service.d.ts +12 -0
  221. package/lib/users/user.types.d.ts +23 -0
  222. package/lifeready-core.d.ts +9 -0
  223. package/lifeready-core.metadata.json +1 -0
  224. package/package.json +29 -0
  225. package/public-api.d.ts +77 -0
@@ -0,0 +1,123 @@
1
+ import gql from 'graphql-tag';
2
+ export const CreateStripeCheckoutSessionMutation = gql `
3
+ mutation CreateStripeCheckoutSession(
4
+ $priceId: String!
5
+ $successUrl: String!
6
+ $cancelUrl: String!
7
+ ) {
8
+ createStripeCheckoutSession(
9
+ input: {
10
+ priceId: $priceId
11
+ successUrl: $successUrl
12
+ cancelUrl: $cancelUrl
13
+ }
14
+ ) {
15
+ sessionId
16
+ }
17
+ }
18
+ `;
19
+ export const CreateStripeBillingPortalSessionMutation = gql `
20
+ mutation CreateStripeBillingPortalSession($returnUrl: String!) {
21
+ createStripeBillingPortalSession(input: { returnUrl: $returnUrl }) {
22
+ sessionUrl
23
+ }
24
+ }
25
+ `;
26
+ export const planFields = `
27
+ name
28
+ data
29
+ state
30
+ `;
31
+ export const CreateUserIssuedPlanMutation = gql `
32
+ mutation CreateUserIssuedPlan($input: CreateUserIssuedPlanInput!){
33
+ createUserIssuedPlan(input: $input) {
34
+ userIssuedPlan {
35
+ id
36
+ plan {
37
+ ${planFields}
38
+ }
39
+ token
40
+ tokenExpiryTime
41
+ planPeriodEnd
42
+ planPeriodEndAfterSeconds
43
+ }
44
+ }
45
+ }`;
46
+ export const DeleteUserIssuedPlanMutation = gql `
47
+ mutation DeleteUserIssuedPlan($input: DeleteUserIssuedPlanInput!) {
48
+ deleteUserIssuedPlan(input: $input) {
49
+ id
50
+ }
51
+ }
52
+ `;
53
+ export const UserIssuablePlansQuery = gql `
54
+ query UserIssuablePlans {
55
+ userIssuablePlans {
56
+ plan {
57
+ ${planFields}
58
+ }
59
+ }
60
+ }
61
+ `;
62
+ // Put other fields in as needed.
63
+ export const UserIssuedPlansQuery = gql `
64
+ query UserIssuedPlans {
65
+ userIssuedPlans {
66
+ edges {
67
+ node {
68
+ id
69
+ }
70
+ }
71
+ }
72
+ }
73
+ `;
74
+ export const UserIssuedPlanQuery = gql `
75
+ query UserIssuedPlan(
76
+ $id: LrRelayIdInput!
77
+ $token: String
78
+ ) {
79
+ userIssuedPlan(
80
+ id: $id
81
+ token: $token
82
+ ) {
83
+ id
84
+ plan {
85
+ ${planFields}
86
+ }
87
+ planPeriodEnd
88
+ planPeriodEndAfterSeconds
89
+ }
90
+ }
91
+ `;
92
+ export const AssociateUserIssuedPlanMutation = gql `
93
+ mutation AssociateUserIssuedPlan($input: AssociateUserIssuedPlanInput!){
94
+ associateUserIssuedPlan(input: $input) {
95
+ userPlan {
96
+ id
97
+ plan {
98
+ ${planFields}
99
+ }
100
+ periodEnd
101
+ }
102
+ }
103
+ }`;
104
+ export const UserPlansQuery = gql `
105
+ query UserPlans {
106
+ userPlans {
107
+ id
108
+ periodEnd
109
+ plan {
110
+ ${planFields}
111
+ }
112
+ }
113
+ }
114
+ `;
115
+ export const StripeQuery = gql `
116
+ query Stripe {
117
+ stripe {
118
+ id
119
+ customer
120
+ }
121
+ }
122
+ `;
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi5ncWwuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvdGVzdC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wbGFuL3BsYW4uZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnQnJELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxHQUFHLENBQUE7Ozs7OztDQU0xRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHOzs7O0NBSXpCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUE7Ozs7OztVQU1yQyxVQUFVOzs7Ozs7OztFQVFsQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7OztRQUlqQyxVQUFVOzs7O0NBSWpCLENBQUM7QUFFRixpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVXRDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7O1FBVzlCLFVBQVU7Ozs7OztDQU1qQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7VUFNeEMsVUFBVTs7Ozs7RUFLbEIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7OztRQU16QixVQUFVOzs7O0NBSWpCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBTzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb25NdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBDcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb24oXHJcbiAgICAkcHJpY2VJZDogU3RyaW5nIVxyXG4gICAgJHN1Y2Nlc3NVcmw6IFN0cmluZyFcclxuICAgICRjYW5jZWxVcmw6IFN0cmluZyFcclxuICApIHtcclxuICAgIGNyZWF0ZVN0cmlwZUNoZWNrb3V0U2Vzc2lvbihcclxuICAgICAgaW5wdXQ6IHtcclxuICAgICAgICBwcmljZUlkOiAkcHJpY2VJZFxyXG4gICAgICAgIHN1Y2Nlc3NVcmw6ICRzdWNjZXNzVXJsXHJcbiAgICAgICAgY2FuY2VsVXJsOiAkY2FuY2VsVXJsXHJcbiAgICAgIH1cclxuICAgICkge1xyXG4gICAgICBzZXNzaW9uSWRcclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb25NdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBDcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbigkcmV0dXJuVXJsOiBTdHJpbmchKSB7XHJcbiAgICBjcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbihpbnB1dDogeyByZXR1cm5Vcmw6ICRyZXR1cm5VcmwgfSkge1xyXG4gICAgICBzZXNzaW9uVXJsXHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IHBsYW5GaWVsZHMgPSBgXHJcbiAgbmFtZVxyXG4gIGRhdGFcclxuICBzdGF0ZVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24gPSBncWxgXHJcbm11dGF0aW9uIENyZWF0ZVVzZXJJc3N1ZWRQbGFuKCRpbnB1dDogQ3JlYXRlVXNlcklzc3VlZFBsYW5JbnB1dCEpe1xyXG4gIGNyZWF0ZVVzZXJJc3N1ZWRQbGFuKGlucHV0OiAkaW5wdXQpIHtcclxuICAgIHVzZXJJc3N1ZWRQbGFuIHtcclxuICAgICAgaWRcclxuICAgICAgcGxhbiB7XHJcbiAgICAgICAgJHtwbGFuRmllbGRzfVxyXG4gICAgICB9XHJcbiAgICAgIHRva2VuXHJcbiAgICAgIHRva2VuRXhwaXJ5VGltZVxyXG4gICAgICBwbGFuUGVyaW9kRW5kXHJcbiAgICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHNcclxuICAgIH1cclxuICB9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gRGVsZXRlVXNlcklzc3VlZFBsYW4oJGlucHV0OiBEZWxldGVVc2VySXNzdWVkUGxhbklucHV0ISkge1xyXG4gICAgZGVsZXRlVXNlcklzc3VlZFBsYW4oaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVc2VySXNzdWFibGVQbGFuc1F1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBVc2VySXNzdWFibGVQbGFucyB7XHJcbiAgdXNlcklzc3VhYmxlUGxhbnMge1xyXG4gICAgcGxhbiB7XHJcbiAgICAgICR7cGxhbkZpZWxkc31cclxuICAgIH1cclxuICB9XHJcbn1cclxuYDtcclxuXHJcbi8vIFB1dCBvdGhlciBmaWVsZHMgaW4gYXMgbmVlZGVkLlxyXG5leHBvcnQgY29uc3QgVXNlcklzc3VlZFBsYW5zUXVlcnkgPSBncWxgXHJcbiAgcXVlcnkgVXNlcklzc3VlZFBsYW5zIHtcclxuICAgIHVzZXJJc3N1ZWRQbGFucyB7XHJcbiAgICAgIGVkZ2VzIHtcclxuICAgICAgICBub2RlIHtcclxuICAgICAgICAgIGlkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVzZXJJc3N1ZWRQbGFuUXVlcnkgPSBncWxgXHJcbnF1ZXJ5IFVzZXJJc3N1ZWRQbGFuKFxyXG4gICRpZDogTHJSZWxheUlkSW5wdXQhXHJcbiAgJHRva2VuOiBTdHJpbmdcclxuKSB7XHJcbiAgdXNlcklzc3VlZFBsYW4oXHJcbiAgICBpZDogJGlkXHJcbiAgICB0b2tlbjogJHRva2VuXHJcbiAgKSB7XHJcbiAgICBpZFxyXG4gICAgcGxhbiB7XHJcbiAgICAgICR7cGxhbkZpZWxkc31cclxuICAgIH1cclxuICAgIHBsYW5QZXJpb2RFbmRcclxuICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHNcclxuICB9XHJcbn1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBc3NvY2lhdGVVc2VySXNzdWVkUGxhbk11dGF0aW9uID0gZ3FsYFxyXG5tdXRhdGlvbiBBc3NvY2lhdGVVc2VySXNzdWVkUGxhbigkaW5wdXQ6IEFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuSW5wdXQhKXtcclxuICBhc3NvY2lhdGVVc2VySXNzdWVkUGxhbihpbnB1dDogJGlucHV0KSB7XHJcbiAgICB1c2VyUGxhbiB7XHJcbiAgICAgIGlkXHJcbiAgICAgIHBsYW4ge1xyXG4gICAgICAgICR7cGxhbkZpZWxkc31cclxuICAgICAgfVxyXG4gICAgICBwZXJpb2RFbmRcclxuICAgIH1cclxuICB9XHJcbn1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVzZXJQbGFuc1F1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBVc2VyUGxhbnMge1xyXG4gIHVzZXJQbGFucyB7XHJcbiAgICBpZFxyXG4gICAgcGVyaW9kRW5kXHJcbiAgICBwbGFuIHtcclxuICAgICAgJHtwbGFuRmllbGRzfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFN0cmlwZVF1ZXJ5ID0gZ3FsYFxyXG4gIHF1ZXJ5IFN0cmlwZSB7XHJcbiAgICBzdHJpcGUge1xyXG4gICAgICBpZFxyXG4gICAgICBjdXN0b21lclxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuIl19
@@ -0,0 +1,149 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { CreateStripeCheckoutSessionMutation, CreateStripeBillingPortalSessionMutation, UserIssuablePlansQuery, CreateUserIssuedPlanMutation, DeleteUserIssuedPlanMutation, UserIssuedPlansQuery, AssociateUserIssuedPlanMutation, UserPlansQuery, StripeQuery, UserIssuedPlanQuery, } from './plan.gql';
4
+ import { LrApolloService } from '../api/lr-apollo.service';
5
+ import { LrBadArgumentException } from '../_common/exceptions';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../api/lr-apollo.service";
8
+ export function mapUserPlans(userPlans) {
9
+ return userPlans.map((t) => {
10
+ var _a;
11
+ return (Object.assign(Object.assign({}, t), { periodEnd: t.periodEnd && new Date(t.periodEnd), subscription: { id: (_a = t.stripe) === null || _a === void 0 ? void 0 : _a.subscriptionId } }));
12
+ });
13
+ }
14
+ export class PlanService {
15
+ constructor(lrApollo) {
16
+ this.lrApollo = lrApollo;
17
+ }
18
+ createStripeCheckoutSession(input) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const res = yield this.lrApollo.mutate({
21
+ mutation: CreateStripeCheckoutSessionMutation,
22
+ variables: Object.assign({}, input),
23
+ });
24
+ return {
25
+ id: res.createStripeCheckoutSession.sessionId,
26
+ };
27
+ });
28
+ }
29
+ createStripeBillingPortalSession(returnUrl) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const res = yield this.lrApollo.mutate({
32
+ mutation: CreateStripeBillingPortalSessionMutation,
33
+ variables: {
34
+ returnUrl,
35
+ },
36
+ });
37
+ return {
38
+ url: res.createStripeBillingPortalSession.sessionUrl,
39
+ };
40
+ });
41
+ }
42
+ getUserIssuablePlans() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const { userIssuablePlans } = yield this.lrApollo.query({
45
+ query: UserIssuablePlansQuery,
46
+ });
47
+ return userIssuablePlans;
48
+ });
49
+ }
50
+ createUserIssuedPlan({ planName, tokenExpiryTime, planPeriodEnd, planPeriodEndAfterSeconds, }) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (planPeriodEnd == null && planPeriodEndAfterSeconds == null) {
53
+ throw new LrBadArgumentException('Must specify either "planPeriodEnd" or "planPeriodEndAfterSeconds"');
54
+ }
55
+ const { createUserIssuedPlan } = yield this.lrApollo.mutate({
56
+ mutation: CreateUserIssuedPlanMutation,
57
+ variables: {
58
+ input: {
59
+ planName,
60
+ tokenExpiryTime: tokenExpiryTime.toISOString(),
61
+ planPeriodEnd: planPeriodEnd && planPeriodEnd.toISOString(),
62
+ planPeriodEndAfterSeconds,
63
+ },
64
+ },
65
+ });
66
+ const { userIssuedPlan } = createUserIssuedPlan;
67
+ return Object.assign(Object.assign({}, userIssuedPlan), { tokenExpiryTime: new Date(userIssuedPlan.tokenExpiryTime), planPeriodEnd: new Date(userIssuedPlan.planPeriodEnd) });
68
+ });
69
+ }
70
+ deleteUserIssuedPlan(id) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ return yield this.lrApollo.mutate({
73
+ mutation: DeleteUserIssuedPlanMutation,
74
+ variables: {
75
+ input: {
76
+ id,
77
+ },
78
+ },
79
+ });
80
+ });
81
+ }
82
+ getUserIssuedPlans() {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const { userIssuedPlans } = yield this.lrApollo.query({
85
+ query: UserIssuedPlansQuery,
86
+ });
87
+ return userIssuedPlans.edges.map((edge) => edge.node);
88
+ });
89
+ }
90
+ getUserIssuedPlan(id, token) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const { userIssuedPlan } = yield this.lrApollo.query({
93
+ query: UserIssuedPlanQuery,
94
+ variables: {
95
+ id,
96
+ token,
97
+ },
98
+ });
99
+ return userIssuedPlan;
100
+ });
101
+ }
102
+ associateUserIssuedPlan({ id, token, }) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ const { associateUserIssuedPlan } = yield this.lrApollo.query({
105
+ query: AssociateUserIssuedPlanMutation,
106
+ variables: {
107
+ input: {
108
+ id,
109
+ token,
110
+ },
111
+ },
112
+ });
113
+ const { userPlan } = associateUserIssuedPlan;
114
+ return Object.assign(Object.assign({}, userPlan), { periodEnd: new Date(userPlan.periodEnd) });
115
+ });
116
+ }
117
+ getUserPlans() {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const { userPlans } = yield this.lrApollo.query({
120
+ query: UserPlansQuery,
121
+ });
122
+ return mapUserPlans(userPlans);
123
+ });
124
+ }
125
+ getPlanType(subscriptionId) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const stripe = yield this.getStripe();
128
+ return stripe.customer.subscriptions.data.filter((sub) => sub.id === subscriptionId)[0].items.data[0].plan.interval;
129
+ });
130
+ }
131
+ getStripe() {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ const { stripe } = yield this.lrApollo.query({
134
+ query: StripeQuery,
135
+ });
136
+ return stripe;
137
+ });
138
+ }
139
+ }
140
+ PlanService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlanService_Factory() { return new PlanService(i0.ɵɵinject(i1.LrApolloService)); }, token: PlanService, providedIn: "root" });
141
+ PlanService.decorators = [
142
+ { type: Injectable, args: [{
143
+ providedIn: 'root',
144
+ },] }
145
+ ];
146
+ PlanService.ctorParameters = () => [
147
+ { type: LrApolloService }
148
+ ];
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL3Rlc3QvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvcGxhbi9wbGFuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyx3Q0FBd0MsRUFDeEMsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFRM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUUvRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFNBQWdCO0lBQzNDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOztRQUFDLE9BQUEsaUNBQ3ZCLENBQUMsS0FDSixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQy9DLFlBQVksRUFBRSxFQUFFLEVBQUUsUUFBRSxDQUFDLENBQUMsTUFBTSwwQ0FBRSxjQUFjLEVBQUUsSUFDOUMsQ0FBQTtLQUFBLENBQUMsQ0FBQztBQUNOLENBQUM7QUFLRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUFHLENBQUM7SUFFM0MsMkJBQTJCLENBQUMsS0FJakM7O1lBQ0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FFbkM7Z0JBQ0QsUUFBUSxFQUFFLG1DQUFtQztnQkFDN0MsU0FB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U0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBcEJRLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uTXV0YXRpb24sXHJcbiAgQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb25NdXRhdGlvbixcclxuICBVc2VySXNzdWFibGVQbGFuc1F1ZXJ5LFxyXG4gIENyZWF0ZVVzZXJJc3N1ZWRQbGFuTXV0YXRpb24sXHJcbiAgRGVsZXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcclxuICBVc2VySXNzdWVkUGxhbnNRdWVyeSxcclxuICBBc3NvY2lhdGVVc2VySXNzdWVkUGxhbk11dGF0aW9uLFxyXG4gIFVzZXJQbGFuc1F1ZXJ5LFxyXG4gIFN0cmlwZVF1ZXJ5LFxyXG4gIFVzZXJJc3N1ZWRQbGFuUXVlcnksXHJcbn0gZnJvbSAnLi9wbGFuLmdxbCc7XHJcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU3RyaXBlQ2hlY2tvdXRTZXNzaW9uLFxyXG4gIFN0cmlwZUJpbGxpbmdQb3J0YWxTZXNzaW9uLFxyXG4gIFVzZXJJc3N1YWJsZVBsYW4sXHJcbiAgVXNlcklzc3VlZFBsYW4sXHJcbiAgVXNlclBsYW4sXHJcbn0gZnJvbSAnLi9wbGFuLnR5cGVzJztcclxuaW1wb3J0IHsgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwVXNlclBsYW5zKHVzZXJQbGFuczogYW55W10pOiBVc2VyUGxhbltdIHtcclxuICByZXR1cm4gdXNlclBsYW5zLm1hcCgodCkgPT4gKHtcclxuICAgIC4uLnQsXHJcbiAgICBwZXJpb2RFbmQ6IHQucGVyaW9kRW5kICYmIG5ldyBEYXRlKHQucGVyaW9kRW5kKSxcclxuICAgIHN1YnNjcmlwdGlvbjogeyBpZDogdC5zdHJpcGU/LnN1YnNjcmlwdGlvbklkIH0sXHJcbiAgfSkpO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSkge31cclxuXHJcbiAgYXN5bmMgY3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uKGlucHV0OiB7XHJcbiAgICBwcmljZUlkOiBzdHJpbmc7XHJcbiAgICBzdWNjZXNzVXJsOiBzdHJpbmc7XHJcbiAgICBjYW5jZWxVcmw6IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTdHJpcGVDaGVja291dFNlc3Npb24+IHtcclxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHtcclxuICAgICAgY3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uOiBhbnk7XHJcbiAgICB9Pih7XHJcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVTdHJpcGVDaGVja291dFNlc3Npb25NdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgLi4uaW5wdXQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiByZXMuY3JlYXRlU3RyaXBlQ2hlY2tvdXRTZXNzaW9uLnNlc3Npb25JZCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbihcclxuICAgIHJldHVyblVybDogc3RyaW5nXHJcbiAgKTogUHJvbWlzZTxTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbj4ge1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8e1xyXG4gICAgICBjcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbjogYW55O1xyXG4gICAgfT4oe1xyXG4gICAgICBtdXRhdGlvbjogQ3JlYXRlU3RyaXBlQmlsbGluZ1BvcnRhbFNlc3Npb25NdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgcmV0dXJuVXJsLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB1cmw6IHJlcy5jcmVhdGVTdHJpcGVCaWxsaW5nUG9ydGFsU2Vzc2lvbi5zZXNzaW9uVXJsLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFVzZXJJc3N1YWJsZVBsYW5zKCk6IFByb21pc2U8VXNlcklzc3VhYmxlUGxhbltdPiB7XHJcbiAgICBjb25zdCB7IHVzZXJJc3N1YWJsZVBsYW5zIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PHtcclxuICAgICAgdXNlcklzc3VhYmxlUGxhbnM6IGFueTtcclxuICAgIH0+KHtcclxuICAgICAgcXVlcnk6IFVzZXJJc3N1YWJsZVBsYW5zUXVlcnksXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdXNlcklzc3VhYmxlUGxhbnM7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVVc2VySXNzdWVkUGxhbih7XHJcbiAgICBwbGFuTmFtZSxcclxuICAgIHRva2VuRXhwaXJ5VGltZSxcclxuICAgIHBsYW5QZXJpb2RFbmQsXHJcbiAgICBwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzLFxyXG4gIH06IHtcclxuICAgIHBsYW5OYW1lOiBzdHJpbmc7XHJcbiAgICB0b2tlbkV4cGlyeVRpbWU6IERhdGU7XHJcbiAgICBwbGFuUGVyaW9kRW5kPzogRGF0ZTtcclxuICAgIHBsYW5QZXJpb2RFbmRBZnRlclNlY29uZHM/OiBudW1iZXI7XHJcbiAgfSk6IFByb21pc2U8VXNlcklzc3VlZFBsYW4+IHtcclxuICAgIGlmIChwbGFuUGVyaW9kRW5kID09IG51bGwgJiYgcGxhblBlcmlvZEVuZEFmdGVyU2Vjb25kcyA9PSBudWxsKSB7XHJcbiAgICAgIHRocm93IG5ldyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uKFxyXG4gICAgICAgICdNdXN0IHNwZWNpZnkgZWl0aGVyIFwicGxhblBlcmlvZEVuZFwiIG9yIFwicGxhblBlcmlvZEVuZEFmdGVyU2Vjb25kc1wiJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgY3JlYXRlVXNlcklzc3VlZFBsYW4gfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xyXG4gICAgICBtdXRhdGlvbjogQ3JlYXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIHBsYW5OYW1lLFxyXG4gICAgICAgICAgdG9rZW5FeHBpcnlUaW1lOiB0b2tlbkV4cGlyeVRpbWUudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgIHBsYW5QZXJpb2RFbmQ6IHBsYW5QZXJpb2RFbmQgJiYgcGxhblBlcmlvZEVuZC50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgcGxhblBlcmlvZEVuZEFmdGVyU2Vjb25kcyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgeyB1c2VySXNzdWVkUGxhbiB9ID0gY3JlYXRlVXNlcklzc3VlZFBsYW47XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4udXNlcklzc3VlZFBsYW4sXHJcbiAgICAgIHRva2VuRXhwaXJ5VGltZTogbmV3IERhdGUodXNlcklzc3VlZFBsYW4udG9rZW5FeHBpcnlUaW1lKSxcclxuICAgICAgcGxhblBlcmlvZEVuZDogbmV3IERhdGUodXNlcklzc3VlZFBsYW4ucGxhblBlcmlvZEVuZCksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlVXNlcklzc3VlZFBsYW4oaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xyXG4gICAgICBtdXRhdGlvbjogRGVsZXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFVzZXJJc3N1ZWRQbGFucygpOiBQcm9taXNlPGFueVtdPiB7XHJcbiAgICBjb25zdCB7IHVzZXJJc3N1ZWRQbGFucyB9ID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcclxuICAgICAgcXVlcnk6IFVzZXJJc3N1ZWRQbGFuc1F1ZXJ5LFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHVzZXJJc3N1ZWRQbGFucy5lZGdlcy5tYXAoKGVkZ2UpID0+IGVkZ2Uubm9kZSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRVc2VySXNzdWVkUGxhbihpZDogc3RyaW5nLCB0b2tlbj86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCB7IHVzZXJJc3N1ZWRQbGFuIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xyXG4gICAgICBxdWVyeTogVXNlcklzc3VlZFBsYW5RdWVyeSxcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaWQsXHJcbiAgICAgICAgdG9rZW4sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdXNlcklzc3VlZFBsYW47XHJcbiAgfVxyXG5cclxuICBhc3luYyBhc3NvY2lhdGVVc2VySXNzdWVkUGxhbih7XHJcbiAgICBpZCxcclxuICAgIHRva2VuLFxyXG4gIH06IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICB0b2tlbjogc3RyaW5nO1xyXG4gIH0pOiBQcm9taXNlPFVzZXJQbGFuPiB7XHJcbiAgICBjb25zdCB7IGFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xyXG4gICAgICBxdWVyeTogQXNzb2NpYXRlVXNlcklzc3VlZFBsYW5NdXRhdGlvbixcclxuICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHsgdXNlclBsYW4gfSA9IGFzc29jaWF0ZVVzZXJJc3N1ZWRQbGFuO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLnVzZXJQbGFuLFxyXG4gICAgICBwZXJpb2RFbmQ6IG5ldyBEYXRlKHVzZXJQbGFuLnBlcmlvZEVuZCksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0VXNlclBsYW5zKCk6IFByb21pc2U8VXNlclBsYW5bXT4ge1xyXG4gICAgY29uc3QgeyB1c2VyUGxhbnMgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XHJcbiAgICAgIHF1ZXJ5OiBVc2VyUGxhbnNRdWVyeSxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBtYXBVc2VyUGxhbnModXNlclBsYW5zKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFBsYW5UeXBlKHN1YnNjcmlwdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3Qgc3RyaXBlOiBhbnkgPSBhd2FpdCB0aGlzLmdldFN0cmlwZSgpO1xyXG4gICAgcmV0dXJuIHN0cmlwZS5jdXN0b21lci5zdWJzY3JpcHRpb25zLmRhdGEuZmlsdGVyKFxyXG4gICAgICAoc3ViKSA9PiBzdWIuaWQgPT09IHN1YnNjcmlwdGlvbklkXHJcbiAgICApWzBdLml0ZW1zLmRhdGFbMF0ucGxhbi5pbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFN0cmlwZSgpOiBQcm9taXNlPHsgaWQ6IHN0cmluZzsgY3VzdG9tZXI6IG9iamVjdCB9PiB7XHJcbiAgICBjb25zdCB7IHN0cmlwZSB9ID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcclxuICAgICAgcXVlcnk6IFN0cmlwZVF1ZXJ5LFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHN0cmlwZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,11 @@
1
+ export class Plan {
2
+ }
3
+ export class Subscription {
4
+ }
5
+ export class UserPlan {
6
+ }
7
+ export class StripeCheckoutSession {
8
+ }
9
+ export class StripeBillingPortalSession {
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy90ZXN0L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3BsYW4vcGxhbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sSUFBSTtDQUloQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBRXhCO0FBRUQsTUFBTSxPQUFPLFFBQVE7Q0FLcEI7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0NBRWpDO0FBRUQsTUFBTSxPQUFPLDBCQUEwQjtDQUV0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQbGFuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGF0YTogb2JqZWN0O1xyXG4gIHN0YXRlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyUGxhbiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwbGFuOiBQbGFuO1xyXG4gIHBlcmlvZEVuZDogRGF0ZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0cmlwZUNoZWNrb3V0U2Vzc2lvbiB7XHJcbiAgaWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0cmlwZUJpbGxpbmdQb3J0YWxTZXNzaW9uIHtcclxuICB1cmw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VySXNzdWFibGVQbGFuIHtcclxuICBwbGFuOiBQbGFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJJc3N1ZWRQbGFuIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHBsYW46IFBsYW47XHJcbiAgdG9rZW46IHN0cmluZztcclxuICB0b2tlbkV4cGlyeVRpbWU6IERhdGU7XHJcbiAgcGxhblBlcmlvZEVuZDogRGF0ZTtcclxuICBwbGFuUGVyaW9kRW5kQWZ0ZXJTZWNvbmRzOiBudW1iZXI7XHJcbn1cclxuIl19
@@ -0,0 +1,101 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FileType, DeleteFileMutation, CreateFileMutation } from './record.gql';
4
+ import { LrApolloService } from '../api/lr-apollo.service';
5
+ import { KeyMetaService } from '../cryptography/key-meta.service';
6
+ import { FileService } from '../api/file.service';
7
+ import { KeyGraphService } from '../cryptography/key-graph.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../api/file.service";
10
+ import * as i2 from "../api/lr-apollo.service";
11
+ import * as i3 from "../cryptography/key-meta.service";
12
+ import * as i4 from "../cryptography/key-graph.service";
13
+ export class RecordAttachmentService {
14
+ constructor(fileService, lrApollo, keyMetaService, keyGraph) {
15
+ this.fileService = fileService;
16
+ this.lrApollo = lrApollo;
17
+ this.keyMetaService = keyMetaService;
18
+ this.keyGraph = keyGraph;
19
+ }
20
+ downloadAttachment(fileStateNodeId, keyId) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const encryptedFile = yield this.fileService.downloadEncryptedFile(fileStateNodeId);
23
+ return yield this.keyGraph.decryptFile(keyId, encryptedFile);
24
+ });
25
+ }
26
+ uploadAttachments(recordId, attachments) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const fileIds = yield Promise.all((attachments || []).map((x) => __awaiter(this, void 0, void 0, function* () {
29
+ if (x.fileId) {
30
+ if (x.isDeleted) {
31
+ yield this.deleteAttachment(x.fileId);
32
+ return null;
33
+ }
34
+ else {
35
+ return x.fileId;
36
+ }
37
+ }
38
+ else {
39
+ return yield this.addAttachment(recordId, x);
40
+ }
41
+ })));
42
+ return fileIds.filter((x) => x);
43
+ });
44
+ }
45
+ addAttachment(recordId, attachment) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const secureContent = {
48
+ name: attachment.name,
49
+ fieldId: attachment.fieldId,
50
+ fileType: attachment.file.type,
51
+ fileSize: attachment.file.size,
52
+ lastModified: attachment.file.lastModified,
53
+ };
54
+ const fileContent = yield this.fileService.loadFile(attachment.file);
55
+ const doubleWrappedContent = yield this.keyMetaService.doubleWrapContent(secureContent, [recordId], fileContent);
56
+ const contentId = yield this.fileService.uploadEncryptedFile({
57
+ encryptedContent: doubleWrappedContent.cipherFileContent,
58
+ fileName: attachment.name,
59
+ });
60
+ // Save file
61
+ const response = yield this.lrApollo.mutate({
62
+ mutation: CreateFileMutation,
63
+ variables: {
64
+ input: {
65
+ plainMeta: JSON.stringify({ fileType: FileType.RecordAttachment }),
66
+ wrappedStateKey: doubleWrappedContent.doubleWrappedKey,
67
+ cipherMeta: doubleWrappedContent.cipherMeta,
68
+ parentDirectories: doubleWrappedContent.wrappedKeys.map((x) => ({
69
+ directoryId: x.directoryId,
70
+ wrappingKeyId: x.wrappingKeyId,
71
+ wrappedFileKey: x.wrappedKey,
72
+ })),
73
+ contentResource: contentId,
74
+ },
75
+ },
76
+ });
77
+ return response.createFile.file.id;
78
+ });
79
+ }
80
+ deleteAttachment(fileId) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ yield this.lrApollo.mutate({
83
+ mutation: DeleteFileMutation,
84
+ variables: { fileId },
85
+ });
86
+ });
87
+ }
88
+ }
89
+ RecordAttachmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RecordAttachmentService_Factory() { return new RecordAttachmentService(i0.ɵɵinject(i1.FileService), i0.ɵɵinject(i2.LrApolloService), i0.ɵɵinject(i3.KeyMetaService), i0.ɵɵinject(i4.KeyGraphService)); }, token: RecordAttachmentService, providedIn: "root" });
90
+ RecordAttachmentService.decorators = [
91
+ { type: Injectable, args: [{
92
+ providedIn: 'root',
93
+ },] }
94
+ ];
95
+ RecordAttachmentService.ctorParameters = () => [
96
+ { type: FileService },
97
+ { type: LrApolloService },
98
+ { type: KeyMetaService },
99
+ { type: KeyGraphService }
100
+ ];
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWF0dGFjaG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy90ZXN0L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC9yZWNvcmQtYXR0YWNobWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFLcEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNVLFdBQXdCLEVBQ3hCLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLFFBQXlCO1FBSHpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNoQyxDQUFDO0lBRUUsa0JBQWtCLENBQ3RCLGVBQXVCLEVBQ3ZCLEtBQWE7O1lBRWIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUNoRSxlQUFlLENBQ2hCLENBQUM7WUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FBQTtJQUVLLGlCQUFpQixDQUNyQixRQUFnQixFQUNoQixXQUFxQzs7WUFFckMsTUFB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QUE7Ozs7WUEzRkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMUSxXQUFXO1lBRlgsZUFBZTtZQUNmLGNBQWM7WUFFZCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVHlwZSwgRGVsZXRlRmlsZU11dGF0aW9uLCBDcmVhdGVGaWxlTXV0YXRpb24gfSBmcm9tICcuL3JlY29yZC5ncWwnO1xyXG5pbXBvcnQgeyBOZXdBdHRhY2htZW50LCBOZXdPclVwZGF0ZWRBdHRhY2htZW50IH0gZnJvbSAnLi9yZWNvcmQudHlwZXMnO1xyXG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLZXlNZXRhU2VydmljZSB9IGZyb20gJy4uL2NyeXB0b2dyYXBoeS9rZXktbWV0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuLi9hcGkvZmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS1ncmFwaC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRBdHRhY2htZW50U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBGaWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcclxuICAgIHByaXZhdGUga2V5TWV0YVNlcnZpY2U6IEtleU1ldGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBkb3dubG9hZEF0dGFjaG1lbnQoXHJcbiAgICBmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyxcclxuICAgIGtleUlkOiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgZW5jcnlwdGVkRmlsZSA9IGF3YWl0IHRoaXMuZmlsZVNlcnZpY2UuZG93bmxvYWRFbmNyeXB0ZWRGaWxlKFxyXG4gICAgICBmaWxlU3RhdGVOb2RlSWRcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZpbGUoa2V5SWQsIGVuY3J5cHRlZEZpbGUpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBsb2FkQXR0YWNobWVudHMoXHJcbiAgICByZWNvcmRJZDogc3RyaW5nLFxyXG4gICAgYXR0YWNobWVudHM6IE5ld09yVXBkYXRlZEF0dGFjaG1lbnRbXVxyXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IGZpbGVJZHMgPSBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgKGF0dGFjaG1lbnRzIHx8IFtdKS5tYXAoYXN5bmMgKHgpID0+IHtcclxuICAgICAgICBpZiAoeC5maWxlSWQpIHtcclxuICAgICAgICAgIGlmICh4LmlzRGVsZXRlZCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUF0dGFjaG1lbnQoeC5maWxlSWQpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB4LmZpbGVJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWRkQXR0YWNobWVudChyZWNvcmRJZCwgeCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHJldHVybiBmaWxlSWRzLmZpbHRlcigoeCkgPT4geCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGFkZEF0dGFjaG1lbnQoXHJcbiAgICByZWNvcmRJZDogc3RyaW5nLFxyXG4gICAgYXR0YWNobWVudDogTmV3QXR0YWNobWVudFxyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBzZWN1cmVDb250ZW50ID0ge1xyXG4gICAgICBuYW1lOiBhdHRhY2htZW50Lm5hbWUsXHJcbiAgICAgIGZpZWxkSWQ6IGF0dGFjaG1lbnQuZmllbGRJZCxcclxuICAgICAgZmlsZVR5cGU6IGF0dGFjaG1lbnQuZmlsZS50eXBlLFxyXG4gICAgICBmaWxlU2l6ZTogYXR0YWNobWVudC5maWxlLnNpemUsXHJcbiAgICAgIGxhc3RNb2RpZmllZDogYXR0YWNobWVudC5maWxlLmxhc3RNb2RpZmllZCxcclxuICAgIH07XHJcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IGF3YWl0IHRoaXMuZmlsZVNlcnZpY2UubG9hZEZpbGUoYXR0YWNobWVudC5maWxlKTtcclxuICAgIGNvbnN0IGRvdWJsZVdyYXBwZWRDb250ZW50ID0gYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS5kb3VibGVXcmFwQ29udGVudChcclxuICAgICAgc2VjdXJlQ29udGVudCxcclxuICAgICAgW3JlY29yZElkXSxcclxuICAgICAgZmlsZUNvbnRlbnRcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgY29udGVudElkID0gYXdhaXQgdGhpcy5maWxlU2VydmljZS51cGxvYWRFbmNyeXB0ZWRGaWxlKHtcclxuICAgICAgZW5jcnlwdGVkQ29udGVudDogZG91YmxlV3JhcHBlZENvbnRlbnQuY2lwaGVyRmlsZUNvbnRlbnQsXHJcbiAgICAgIGZpbGVOYW1lOiBhdHRhY2htZW50Lm5hbWUsXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTYXZlIGZpbGVcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XHJcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVGaWxlTXV0YXRpb24sXHJcbiAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICBwbGFpbk1ldGE6IEpTT04uc3RyaW5naWZ5KHsgZmlsZVR5cGU6IEZpbGVUeXBlLlJlY29yZEF0dGFjaG1lbnQgfSksXHJcbiAgICAgICAgICB3cmFwcGVkU3RhdGVLZXk6IGRvdWJsZVdyYXBwZWRDb250ZW50LmRvdWJsZVdyYXBwZWRLZXksXHJcbiAgICAgICAgICBjaXBoZXJNZXRhOiBkb3VibGVXcmFwcGVkQ29udGVudC5jaXBoZXJNZXRhLFxyXG4gICAgICAgICAgcGFyZW50RGlyZWN0b3JpZXM6IGRvdWJsZVdyYXBwZWRDb250ZW50LndyYXBwZWRLZXlzLm1hcCgoeCkgPT4gKHtcclxuICAgICAgICAgICAgZGlyZWN0b3J5SWQ6IHguZGlyZWN0b3J5SWQsXHJcbiAgICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHgud3JhcHBpbmdLZXlJZCxcclxuICAgICAgICAgICAgd3JhcHBlZEZpbGVLZXk6IHgud3JhcHBlZEtleSxcclxuICAgICAgICAgIH0pKSxcclxuICAgICAgICAgIGNvbnRlbnRSZXNvdXJjZTogY29udGVudElkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5jcmVhdGVGaWxlLmZpbGUuaWQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBkZWxldGVBdHRhY2htZW50KGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZSh7XHJcbiAgICAgIG11dGF0aW9uOiBEZWxldGVGaWxlTXV0YXRpb24sXHJcbiAgICAgIHZhcmlhYmxlczogeyBmaWxlSWQgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,179 @@
1
+ import gql from 'graphql-tag';
2
+ import { KeyGraphFragment } from '../_common/queries.gql';
3
+ import { DEFAULT_BREADCRUMB_DEPTH, parentCategoriesField, AccessFields, } from '../category/category.gql';
4
+ export var FileType;
5
+ (function (FileType) {
6
+ FileType["RecordContent"] = "record-content";
7
+ FileType["RecordAttachment"] = "record-attachment";
8
+ })(FileType || (FileType = {}));
9
+ export const RecordContentFilter = JSON.stringify({
10
+ filter: [
11
+ {
12
+ contains: {
13
+ fileType: FileType.RecordContent,
14
+ },
15
+ },
16
+ ],
17
+ });
18
+ export const RecordAttachmentFilter = JSON.stringify({
19
+ filter: [
20
+ {
21
+ contains: {
22
+ fileType: FileType.RecordAttachment,
23
+ },
24
+ },
25
+ ],
26
+ });
27
+ export const GetRecordQuery = (depth = DEFAULT_BREADCRUMB_DEPTH) => gql `
28
+ query Record(
29
+ $id: LrRelayIdInput!,
30
+ $cachedKeyIds: [LrRelayIdInput!],
31
+ $categoryFilter: LrJSONFilter,
32
+ $contentFilter: LrJSONFilter,
33
+ $attachmentsFilter: LrJSONFilter,
34
+ ) {
35
+ record: directory(id: $id) {
36
+ id
37
+ keyId
38
+ archived
39
+ plainMeta
40
+ cipherMeta
41
+ created
42
+ modified
43
+ ${AccessFields}
44
+ ${parentCategoriesField(depth)}
45
+ content: childFileLinks(plainMeta: $contentFilter) {
46
+ edges {
47
+ node {
48
+ childFile {
49
+ id
50
+ keyId
51
+ archived
52
+ currentVersion {
53
+ state {
54
+ id
55
+ keyId
56
+ plainMeta
57
+ cipherMeta
58
+ created
59
+ modified
60
+ }
61
+ }
62
+ versions {
63
+ edges {
64
+ node {
65
+ operation
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ attachments: childFileLinks(plainMeta: $attachmentsFilter) {
74
+ edges {
75
+ node {
76
+ childFile {
77
+ id
78
+ keyId
79
+ archived
80
+ currentVersion {
81
+ state {
82
+ id
83
+ keyId
84
+ plainMeta
85
+ cipherMeta
86
+ contentResource
87
+ }
88
+ }
89
+ versions {
90
+ edges {
91
+ node {
92
+ operation
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ keyGraph(cachedKeyIds: $cachedKeyIds) {
102
+ ...KeyGraphFragment
103
+ }
104
+ }
105
+ ${KeyGraphFragment}
106
+ `;
107
+ export const CreateRecordContainerMutation = gql `
108
+ mutation CreateRecordContainer(
109
+ $plainMeta: LrJSONString
110
+ $cipherMeta: String
111
+ $parentDirectories: [ParentDirectoryInput!]
112
+ $parentRootDirectory: ParentRootDirectoryInput
113
+ ) {
114
+ new: createDirectory(
115
+ input: {
116
+ plainMeta: $plainMeta
117
+ cipherMeta: $cipherMeta
118
+ parentDirectories: $parentDirectories
119
+ parentRootDirectory: $parentRootDirectory
120
+ }
121
+ ) {
122
+ category: directory {
123
+ id
124
+ keyId
125
+ }
126
+ }
127
+ }
128
+ `;
129
+ export const CreateRecordMutation = gql `
130
+ mutation CreateFile($input: CreateFileInput!) {
131
+ createFile(input: $input) {
132
+ file {
133
+ id
134
+ }
135
+ }
136
+ }
137
+ `;
138
+ export const UpdateRecordContainerMutation = gql `
139
+ mutation UpdateRecord($input: UpdateDirectoryInput!) {
140
+ updateDirectory(input: $input) {
141
+ directory {
142
+ id
143
+ }
144
+ }
145
+ }
146
+ `;
147
+ export const UpdateRecordMutation = gql `
148
+ mutation UpdateFile($input: UpdateFileInput!) {
149
+ updateFile(input: $input) {
150
+ file {
151
+ id
152
+ }
153
+ }
154
+ }
155
+ `;
156
+ export const DeleteRecordMutation = gql `
157
+ mutation DeleteRecord($recordId: LrRelayIdInput!) {
158
+ deleteDirectory(input: { directoryId: $recordId }) {
159
+ id
160
+ }
161
+ }
162
+ `;
163
+ export const CreateFileMutation = gql `
164
+ mutation CreateFile($input: CreateFileInput!) {
165
+ createFile(input: $input) {
166
+ file {
167
+ id
168
+ }
169
+ }
170
+ }
171
+ `;
172
+ export const DeleteFileMutation = gql `
173
+ mutation DeleteFile($fileId: LrRelayIdInput!) {
174
+ deleteFile(input: { fileId: $fileId }) {
175
+ id
176
+ }
177
+ }
178
+ `;
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy90ZXN0L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC9yZWNvcmQuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixZQUFZLEdBQ2IsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLDRDQUFnQyxDQUFBO0lBQ2hDLGtEQUFzQyxDQUFBO0FBQ3hDLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQUVELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDaEQsTUFBTSxFQUFFO1FBQ047WUFDRSxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxhQUFhO2FBQ2pDO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkQsTUFBTSxFQUFFO1FBQ047WUFDRSxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0I7YUFDcEM7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxHQUFHLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7TUFnQmpFLFlBQVk7TUFDWixxQkFBcUIsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE2RGhDLGdCQUFnQjtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxQi9DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUXRDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUS9DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUXRDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7Ozs7OztDQU10QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVFwQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBLZXlHcmFwaEZyYWdtZW50IH0gZnJvbSAnLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9CUkVBRENSVU1CX0RFUFRILFxyXG4gIHBhcmVudENhdGVnb3JpZXNGaWVsZCxcclxuICBBY2Nlc3NGaWVsZHMsXHJcbn0gZnJvbSAnLi4vY2F0ZWdvcnkvY2F0ZWdvcnkuZ3FsJztcclxuXHJcbmV4cG9ydCBlbnVtIEZpbGVUeXBlIHtcclxuICBSZWNvcmRDb250ZW50ID0gJ3JlY29yZC1jb250ZW50JyxcclxuICBSZWNvcmRBdHRhY2htZW50ID0gJ3JlY29yZC1hdHRhY2htZW50JyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFJlY29yZENvbnRlbnRGaWx0ZXIgPSBKU09OLnN0cmluZ2lmeSh7XHJcbiAgZmlsdGVyOiBbXHJcbiAgICB7XHJcbiAgICAgIGNvbnRhaW5zOiB7XHJcbiAgICAgICAgZmlsZVR5cGU6IEZpbGVUeXBlLlJlY29yZENvbnRlbnQsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJlY29yZEF0dGFjaG1lbnRGaWx0ZXIgPSBKU09OLnN0cmluZ2lmeSh7XHJcbiAgZmlsdGVyOiBbXHJcbiAgICB7XHJcbiAgICAgIGNvbnRhaW5zOiB7XHJcbiAgICAgICAgZmlsZVR5cGU6IEZpbGVUeXBlLlJlY29yZEF0dGFjaG1lbnQsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdldFJlY29yZFF1ZXJ5ID0gKGRlcHRoID0gREVGQVVMVF9CUkVBRENSVU1CX0RFUFRIKSA9PiBncWxgXHJcbnF1ZXJ5IFJlY29yZChcclxuICAkaWQ6IExyUmVsYXlJZElucHV0ISxcclxuICAkY2FjaGVkS2V5SWRzOiBbTHJSZWxheUlkSW5wdXQhXSxcclxuICAkY2F0ZWdvcnlGaWx0ZXI6IExySlNPTkZpbHRlcixcclxuICAkY29udGVudEZpbHRlcjogTHJKU09ORmlsdGVyLFxyXG4gICRhdHRhY2htZW50c0ZpbHRlcjogTHJKU09ORmlsdGVyLFxyXG4pIHtcclxuICByZWNvcmQ6IGRpcmVjdG9yeShpZDogJGlkKSB7XHJcbiAgICBpZFxyXG4gICAga2V5SWRcclxuICAgIGFyY2hpdmVkXHJcbiAgICBwbGFpbk1ldGFcclxuICAgIGNpcGhlck1ldGFcclxuICAgIGNyZWF0ZWRcclxuICAgIG1vZGlmaWVkXHJcbiAgICAke0FjY2Vzc0ZpZWxkc31cclxuICAgICR7cGFyZW50Q2F0ZWdvcmllc0ZpZWxkKGRlcHRoKX1cclxuICAgIGNvbnRlbnQ6IGNoaWxkRmlsZUxpbmtzKHBsYWluTWV0YTogJGNvbnRlbnRGaWx0ZXIpIHtcclxuICAgICAgZWRnZXMge1xyXG4gICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgY2hpbGRGaWxlIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAga2V5SWRcclxuICAgICAgICAgICAgYXJjaGl2ZWRcclxuICAgICAgICAgICAgY3VycmVudFZlcnNpb24ge1xyXG4gICAgICAgICAgICAgIHN0YXRlIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBrZXlJZFxyXG4gICAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgICAgICBjaXBoZXJNZXRhXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkXHJcbiAgICAgICAgICAgICAgICBtb2RpZmllZFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2ZXJzaW9ucyB7XHJcbiAgICAgICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICAgICAgbm9kZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXR0YWNobWVudHM6IGNoaWxkRmlsZUxpbmtzKHBsYWluTWV0YTogJGF0dGFjaG1lbnRzRmlsdGVyKSB7XHJcbiAgICAgIGVkZ2VzIHtcclxuICAgICAgICBub2RlIHtcclxuICAgICAgICAgIGNoaWxkRmlsZSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgIGFyY2hpdmVkXHJcbiAgICAgICAgICAgIGN1cnJlbnRWZXJzaW9uIHtcclxuICAgICAgICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAga2V5SWRcclxuICAgICAgICAgICAgICAgIHBsYWluTWV0YVxyXG4gICAgICAgICAgICAgICAgY2lwaGVyTWV0YVxyXG4gICAgICAgICAgICAgICAgY29udGVudFJlc291cmNlXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZlcnNpb25zIHtcclxuICAgICAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xyXG4gICAgLi4uS2V5R3JhcGhGcmFnbWVudFxyXG4gIH1cclxufVxyXG4ke0tleUdyYXBoRnJhZ21lbnR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQ3JlYXRlUmVjb3JkQ29udGFpbmVyTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gQ3JlYXRlUmVjb3JkQ29udGFpbmVyKFxyXG4gICAgJHBsYWluTWV0YTogTHJKU09OU3RyaW5nXHJcbiAgICAkY2lwaGVyTWV0YTogU3RyaW5nXHJcbiAgICAkcGFyZW50RGlyZWN0b3JpZXM6IFtQYXJlbnREaXJlY3RvcnlJbnB1dCFdXHJcbiAgICAkcGFyZW50Um9vdERpcmVjdG9yeTogUGFyZW50Um9vdERpcmVjdG9yeUlucHV0XHJcbiAgKSB7XHJcbiAgICBuZXc6IGNyZWF0ZURpcmVjdG9yeShcclxuICAgICAgaW5wdXQ6IHtcclxuICAgICAgICBwbGFpbk1ldGE6ICRwbGFpbk1ldGFcclxuICAgICAgICBjaXBoZXJNZXRhOiAkY2lwaGVyTWV0YVxyXG4gICAgICAgIHBhcmVudERpcmVjdG9yaWVzOiAkcGFyZW50RGlyZWN0b3JpZXNcclxuICAgICAgICBwYXJlbnRSb290RGlyZWN0b3J5OiAkcGFyZW50Um9vdERpcmVjdG9yeVxyXG4gICAgICB9XHJcbiAgICApIHtcclxuICAgICAgY2F0ZWdvcnk6IGRpcmVjdG9yeSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBrZXlJZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZVJlY29yZE11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIENyZWF0ZUZpbGUoJGlucHV0OiBDcmVhdGVGaWxlSW5wdXQhKSB7XHJcbiAgICBjcmVhdGVGaWxlKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgZmlsZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVcGRhdGVSZWNvcmRDb250YWluZXJNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBVcGRhdGVSZWNvcmQoJGlucHV0OiBVcGRhdGVEaXJlY3RvcnlJbnB1dCEpIHtcclxuICAgIHVwZGF0ZURpcmVjdG9yeShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGRpcmVjdG9yeSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVcGRhdGVSZWNvcmRNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBVcGRhdGVGaWxlKCRpbnB1dDogVXBkYXRlRmlsZUlucHV0ISkge1xyXG4gICAgdXBkYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRGVsZXRlUmVjb3JkTXV0YXRpb24gPSBncWxgXHJcbiAgbXV0YXRpb24gRGVsZXRlUmVjb3JkKCRyZWNvcmRJZDogTHJSZWxheUlkSW5wdXQhKSB7XHJcbiAgICBkZWxldGVEaXJlY3RvcnkoaW5wdXQ6IHsgZGlyZWN0b3J5SWQ6ICRyZWNvcmRJZCB9KSB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZUZpbGVNdXRhdGlvbiA9IGdxbGBcclxuICBtdXRhdGlvbiBDcmVhdGVGaWxlKCRpbnB1dDogQ3JlYXRlRmlsZUlucHV0ISkge1xyXG4gICAgY3JlYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRGVsZXRlRmlsZU11dGF0aW9uID0gZ3FsYFxyXG4gIG11dGF0aW9uIERlbGV0ZUZpbGUoJGZpbGVJZDogTHJSZWxheUlkSW5wdXQhKSB7XHJcbiAgICBkZWxldGVGaWxlKGlucHV0OiB7IGZpbGVJZDogJGZpbGVJZCB9KSB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG4iXX0=