@infrab4a/connect 3.14.2 → 3.14.3-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 (660) hide show
  1. package/README.md +24 -24
  2. package/bundles/infrab4a-connect.umd.js +6106 -6056
  3. package/bundles/infrab4a-connect.umd.js.map +1 -1
  4. package/domain/catalog/helpers/index.d.ts +1 -1
  5. package/domain/catalog/helpers/round-product-price.helper.d.ts +4 -4
  6. package/domain/catalog/index.d.ts +3 -3
  7. package/domain/catalog/models/category-collection-children.d.ts +13 -13
  8. package/domain/catalog/models/category-filter.d.ts +13 -11
  9. package/domain/catalog/models/category.d.ts +31 -29
  10. package/domain/catalog/models/enums/index.d.ts +2 -2
  11. package/domain/catalog/models/enums/product-genders.enum.d.ts +5 -5
  12. package/domain/catalog/models/enums/shops.enum.d.ts +6 -6
  13. package/domain/catalog/models/filter-option.d.ts +9 -9
  14. package/domain/catalog/models/filter.d.ts +12 -12
  15. package/domain/catalog/models/index.d.ts +10 -10
  16. package/domain/catalog/models/kit-product.d.ts +12 -12
  17. package/domain/catalog/models/product.d.ts +44 -44
  18. package/domain/catalog/models/types/category-condition.type.d.ts +4 -4
  19. package/domain/catalog/models/types/category-metadata.type.d.ts +4 -4
  20. package/domain/catalog/models/types/category-product.d.ts +4 -4
  21. package/domain/catalog/models/types/index.d.ts +11 -11
  22. package/domain/catalog/models/types/product-evaluation.type.d.ts +6 -6
  23. package/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  24. package/domain/catalog/models/types/product-metadata.type.d.ts +4 -4
  25. package/domain/catalog/models/types/product-review.type.d.ts +17 -17
  26. package/domain/catalog/models/types/shop-description.type.d.ts +8 -8
  27. package/domain/catalog/models/types/shop-price.type.d.ts +6 -6
  28. package/domain/catalog/models/types/stock.type.d.ts +3 -3
  29. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -4
  30. package/domain/catalog/models/variant.d.ts +17 -17
  31. package/domain/catalog/repositories/category-collection-children.repository.d.ts +4 -4
  32. package/domain/catalog/repositories/category-filter.repository.d.ts +5 -5
  33. package/domain/catalog/repositories/category.repository.d.ts +18 -18
  34. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -4
  35. package/domain/catalog/repositories/filter.repository.d.ts +4 -4
  36. package/domain/catalog/repositories/index.d.ts +8 -8
  37. package/domain/catalog/repositories/product.repository.d.ts +15 -15
  38. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -4
  39. package/domain/catalog/repositories/variant.repository.d.ts +4 -4
  40. package/domain/generic/index.d.ts +2 -2
  41. package/domain/generic/model/base.model.d.ts +14 -14
  42. package/domain/generic/model/identifier-fields.d.ts +4 -4
  43. package/domain/generic/model/index.d.ts +3 -3
  44. package/domain/generic/model/types/base-model-builder.type.d.ts +17 -17
  45. package/domain/generic/model/types/identifier-model.type.d.ts +8 -8
  46. package/domain/generic/model/types/index.d.ts +5 -5
  47. package/domain/generic/model/types/model-base-structure.type.d.ts +12 -12
  48. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -12
  49. package/domain/generic/model/types/non-function-property-name.type.d.ts +13 -13
  50. package/domain/generic/repository/create.repository.d.ts +8 -8
  51. package/domain/generic/repository/crud.repository.d.ts +19 -19
  52. package/domain/generic/repository/delete.repository.d.ts +7 -7
  53. package/domain/generic/repository/enums/index.d.ts +2 -2
  54. package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -7
  55. package/domain/generic/repository/enums/where.enum.d.ts +14 -14
  56. package/domain/generic/repository/find.repository.d.ts +16 -16
  57. package/domain/generic/repository/get.repository.d.ts +5 -5
  58. package/domain/generic/repository/index.d.ts +9 -9
  59. package/domain/generic/repository/read.repository.d.ts +14 -14
  60. package/domain/generic/repository/types/index.d.ts +6 -6
  61. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -13
  62. package/domain/generic/repository/types/repository-find-result.type.d.ts +11 -11
  63. package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -4
  64. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -5
  65. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -11
  66. package/domain/generic/repository/types/where-options.type.d.ts +2 -2
  67. package/domain/generic/repository/update.repository.d.ts +6 -6
  68. package/domain/index.d.ts +6 -6
  69. package/domain/location/index.d.ts +1 -1
  70. package/domain/location/models/address.d.ts +24 -24
  71. package/domain/location/models/index.d.ts +2 -2
  72. package/domain/location/models/types/index.d.ts +3 -3
  73. package/domain/location/models/types/location-bound.type.d.ts +6 -6
  74. package/domain/location/models/types/location-geometry.type.d.ts +7 -7
  75. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -4
  76. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -19
  77. package/domain/shop-settings/enums/index.d.ts +2 -2
  78. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -19
  79. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -9
  80. package/domain/shop-settings/helpers/index.d.ts +1 -1
  81. package/domain/shop-settings/index.d.ts +4 -4
  82. package/domain/shop-settings/models/home.d.ts +18 -18
  83. package/domain/shop-settings/models/index.d.ts +4 -4
  84. package/domain/shop-settings/models/shop-menu.d.ts +7 -7
  85. package/domain/shop-settings/models/shop-settings.d.ts +9 -9
  86. package/domain/shop-settings/models/types/banner.type.d.ts +6 -6
  87. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -5
  88. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -15
  89. package/domain/shop-settings/models/types/index.d.ts +10 -10
  90. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -8
  91. package/domain/shop-settings/models/types/shop-banner.type.d.ts +12 -12
  92. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -10
  93. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -5
  94. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -9
  95. package/domain/shop-settings/models/types/shop-section.type.d.ts +9 -9
  96. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -8
  97. package/domain/shop-settings/repositories/home.repository.d.ts +4 -4
  98. package/domain/shop-settings/repositories/index.d.ts +3 -3
  99. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -4
  100. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -4
  101. package/domain/shopping/index.d.ts +2 -2
  102. package/domain/shopping/models/buy-2-win.d.ts +18 -18
  103. package/domain/shopping/models/campaign-dashboard.d.ts +15 -15
  104. package/domain/shopping/models/campaign-hashtag.d.ts +18 -18
  105. package/domain/shopping/models/checkout.d.ts +26 -26
  106. package/domain/shopping/models/coupons/coupon.d.ts +60 -60
  107. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -5
  108. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -4
  109. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -4
  110. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -8
  111. package/domain/shopping/models/coupons/enums/index.d.ts +3 -3
  112. package/domain/shopping/models/coupons/index.d.ts +2 -2
  113. package/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -5
  114. package/domain/shopping/models/enums/index.d.ts +2 -2
  115. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -10
  116. package/domain/shopping/models/index.d.ts +12 -12
  117. package/domain/shopping/models/line-item.d.ts +8 -8
  118. package/domain/shopping/models/order.d.ts +10 -10
  119. package/domain/shopping/models/payment.d.ts +67 -67
  120. package/domain/shopping/models/shipping-method.d.ts +17 -17
  121. package/domain/shopping/models/subscription/checkout.d.ts +20 -20
  122. package/domain/shopping/models/subscription/index.d.ts +2 -2
  123. package/domain/shopping/models/subscription/plan.d.ts +10 -10
  124. package/domain/shopping/models/types/index.d.ts +7 -7
  125. package/domain/shopping/models/types/payment-address.type.d.ts +12 -12
  126. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -7
  127. package/domain/shopping/models/types/payment-card.type.d.ts +14 -14
  128. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -18
  129. package/domain/shopping/models/types/payment-document.type.d.ts +6 -6
  130. package/domain/shopping/models/types/payment-item.type.d.ts +11 -11
  131. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -10
  132. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -4
  133. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -4
  134. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -4
  135. package/domain/shopping/repositories/checkout.repository.d.ts +4 -4
  136. package/domain/shopping/repositories/coupon.repository.d.ts +4 -4
  137. package/domain/shopping/repositories/index.d.ts +9 -9
  138. package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -3
  139. package/domain/shopping/repositories/order.repository.d.ts +4 -4
  140. package/domain/shopping/repositories/payment.repository.d.ts +4 -4
  141. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -4
  142. package/domain/shopping/repositories/subscription/index.d.ts +2 -2
  143. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -4
  144. package/domain/users/errors/index.d.ts +3 -3
  145. package/domain/users/errors/unauthorized.error.d.ts +5 -5
  146. package/domain/users/errors/user-already-registered.error.d.ts +5 -5
  147. package/domain/users/errors/weak-password.error.d.ts +5 -5
  148. package/domain/users/index.d.ts +5 -5
  149. package/domain/users/models/beauty-profile.d.ts +11 -11
  150. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -5
  151. package/domain/users/models/enums/area.enum.d.ts +11 -11
  152. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -9
  153. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -7
  154. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -6
  155. package/domain/users/models/enums/body-problems.enum.d.ts +11 -11
  156. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -7
  157. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -5
  158. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -7
  159. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -10
  160. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -8
  161. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -8
  162. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -5
  163. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -10
  164. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -10
  165. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -8
  166. package/domain/users/models/enums/hair-types.enum.d.ts +7 -7
  167. package/domain/users/models/enums/index.d.ts +20 -20
  168. package/domain/users/models/enums/office-position.enum.d.ts +6 -6
  169. package/domain/users/models/enums/product-spents.enum.d.ts +8 -8
  170. package/domain/users/models/enums/user-type.enum.d.ts +8 -8
  171. package/domain/users/models/index.d.ts +7 -7
  172. package/domain/users/models/lead.d.ts +8 -8
  173. package/domain/users/models/subscription/edition.d.ts +16 -16
  174. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -3
  175. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -4
  176. package/domain/users/models/subscription/enums/index.d.ts +4 -4
  177. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -5
  178. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -4
  179. package/domain/users/models/subscription/index.d.ts +4 -4
  180. package/domain/users/models/subscription/payment.d.ts +13 -13
  181. package/domain/users/models/subscription/subscription.d.ts +28 -28
  182. package/domain/users/models/user-address.d.ts +7 -7
  183. package/domain/users/models/user-payment-method.d.ts +14 -14
  184. package/domain/users/models/user.d.ts +27 -27
  185. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -4
  186. package/domain/users/repositories/edition.repository.d.ts +4 -4
  187. package/domain/users/repositories/index.d.ts +8 -8
  188. package/domain/users/repositories/lead.repository.d.ts +4 -4
  189. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -4
  190. package/domain/users/repositories/subscription.repository.d.ts +4 -4
  191. package/domain/users/repositories/user-address.repository.d.ts +4 -4
  192. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -4
  193. package/domain/users/repositories/user.repository.d.ts +6 -6
  194. package/domain/users/services/authentication.service.d.ts +12 -12
  195. package/domain/users/services/index.d.ts +3 -3
  196. package/domain/users/services/register.service.d.ts +7 -7
  197. package/domain/users/services/types/basic-user-data.type.d.ts +4 -4
  198. package/domain/users/services/types/index.d.ts +1 -1
  199. package/domain/users/use-cases/authentication.d.ts +21 -21
  200. package/domain/users/use-cases/index.d.ts +4 -4
  201. package/domain/users/use-cases/recovery-password.d.ts +6 -6
  202. package/domain/users/use-cases/register.d.ts +13 -13
  203. package/domain/users/use-cases/signout.d.ts +6 -6
  204. package/errors/duplicated-results.error.d.ts +5 -5
  205. package/errors/index.d.ts +4 -4
  206. package/errors/invalid-argument.error.d.ts +5 -5
  207. package/errors/not-found.error.d.ts +5 -5
  208. package/errors/required-argument.error.d.ts +6 -6
  209. package/esm2015/domain/catalog/helpers/index.js +2 -2
  210. package/esm2015/domain/catalog/helpers/round-product-price.helper.js +15 -15
  211. package/esm2015/domain/catalog/index.js +4 -4
  212. package/esm2015/domain/catalog/models/category-collection-children.js +13 -13
  213. package/esm2015/domain/catalog/models/category-filter.js +19 -14
  214. package/esm2015/domain/catalog/models/category.js +23 -18
  215. package/esm2015/domain/catalog/models/enums/index.js +3 -3
  216. package/esm2015/domain/catalog/models/enums/product-genders.enum.js +7 -7
  217. package/esm2015/domain/catalog/models/enums/shops.enum.js +8 -8
  218. package/esm2015/domain/catalog/models/filter-option.js +7 -7
  219. package/esm2015/domain/catalog/models/filter.js +7 -7
  220. package/esm2015/domain/catalog/models/index.js +11 -11
  221. package/esm2015/domain/catalog/models/kit-product.js +18 -18
  222. package/esm2015/domain/catalog/models/product.js +37 -37
  223. package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -2
  224. package/esm2015/domain/catalog/models/types/category-metadata.type.js +2 -2
  225. package/esm2015/domain/catalog/models/types/category-product.js +2 -2
  226. package/esm2015/domain/catalog/models/types/index.js +12 -12
  227. package/esm2015/domain/catalog/models/types/product-evaluation.type.js +2 -2
  228. package/esm2015/domain/catalog/models/types/product-gender.type.js +2 -2
  229. package/esm2015/domain/catalog/models/types/product-metadata.type.js +2 -2
  230. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -2
  231. package/esm2015/domain/catalog/models/types/shop-description.type.js +2 -2
  232. package/esm2015/domain/catalog/models/types/shop-price.type.js +2 -2
  233. package/esm2015/domain/catalog/models/types/stock.type.js +2 -2
  234. package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -2
  235. package/esm2015/domain/catalog/models/variant.js +7 -7
  236. package/esm2015/domain/catalog/repositories/category-collection-children.repository.js +2 -2
  237. package/esm2015/domain/catalog/repositories/category-filter.repository.js +2 -2
  238. package/esm2015/domain/catalog/repositories/category.repository.js +2 -2
  239. package/esm2015/domain/catalog/repositories/filter-option.repository.js +2 -2
  240. package/esm2015/domain/catalog/repositories/filter.repository.js +2 -2
  241. package/esm2015/domain/catalog/repositories/index.js +9 -9
  242. package/esm2015/domain/catalog/repositories/product.repository.js +2 -2
  243. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -2
  244. package/esm2015/domain/catalog/repositories/variant.repository.js +2 -2
  245. package/esm2015/domain/generic/index.js +3 -3
  246. package/esm2015/domain/generic/model/base.model.js +24 -24
  247. package/esm2015/domain/generic/model/identifier-fields.js +2 -2
  248. package/esm2015/domain/generic/model/index.js +4 -4
  249. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -2
  250. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -2
  251. package/esm2015/domain/generic/model/types/index.js +6 -6
  252. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -2
  253. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -2
  254. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -2
  255. package/esm2015/domain/generic/repository/create.repository.js +2 -2
  256. package/esm2015/domain/generic/repository/crud.repository.js +2 -2
  257. package/esm2015/domain/generic/repository/delete.repository.js +2 -2
  258. package/esm2015/domain/generic/repository/enums/index.js +3 -3
  259. package/esm2015/domain/generic/repository/enums/update-option-actions.enum.js +9 -9
  260. package/esm2015/domain/generic/repository/enums/where.enum.js +16 -16
  261. package/esm2015/domain/generic/repository/find.repository.js +2 -2
  262. package/esm2015/domain/generic/repository/get.repository.js +2 -2
  263. package/esm2015/domain/generic/repository/index.js +10 -10
  264. package/esm2015/domain/generic/repository/read.repository.js +2 -2
  265. package/esm2015/domain/generic/repository/types/index.js +7 -7
  266. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -2
  267. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -2
  268. package/esm2015/domain/generic/repository/types/repository-limit-options.type.js +2 -2
  269. package/esm2015/domain/generic/repository/types/repository-order-by-list.type.js +2 -2
  270. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -2
  271. package/esm2015/domain/generic/repository/types/where-options.type.js +2 -2
  272. package/esm2015/domain/generic/repository/update.repository.js +2 -2
  273. package/esm2015/domain/index.js +7 -7
  274. package/esm2015/domain/location/index.js +2 -2
  275. package/esm2015/domain/location/models/address.js +7 -7
  276. package/esm2015/domain/location/models/index.js +3 -3
  277. package/esm2015/domain/location/models/types/index.js +4 -4
  278. package/esm2015/domain/location/models/types/location-bound.type.js +2 -2
  279. package/esm2015/domain/location/models/types/location-geometry.type.js +2 -2
  280. package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -2
  281. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -21
  282. package/esm2015/domain/shop-settings/enums/index.js +3 -3
  283. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -21
  284. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -46
  285. package/esm2015/domain/shop-settings/helpers/index.js +2 -2
  286. package/esm2015/domain/shop-settings/index.js +5 -5
  287. package/esm2015/domain/shop-settings/models/home.js +7 -7
  288. package/esm2015/domain/shop-settings/models/index.js +5 -5
  289. package/esm2015/domain/shop-settings/models/shop-menu.js +7 -7
  290. package/esm2015/domain/shop-settings/models/shop-settings.js +7 -7
  291. package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -2
  292. package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -2
  293. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -2
  294. package/esm2015/domain/shop-settings/models/types/index.js +11 -11
  295. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -2
  296. package/esm2015/domain/shop-settings/models/types/shop-banner.type.js +2 -2
  297. package/esm2015/domain/shop-settings/models/types/shop-brands.type.js +2 -2
  298. package/esm2015/domain/shop-settings/models/types/shop-carousel.type.js +2 -2
  299. package/esm2015/domain/shop-settings/models/types/shop-collection.type.js +2 -2
  300. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +2 -2
  301. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -2
  302. package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -2
  303. package/esm2015/domain/shop-settings/repositories/index.js +4 -4
  304. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -2
  305. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +2 -2
  306. package/esm2015/domain/shopping/index.js +3 -3
  307. package/esm2015/domain/shopping/models/buy-2-win.js +14 -14
  308. package/esm2015/domain/shopping/models/campaign-dashboard.js +7 -7
  309. package/esm2015/domain/shopping/models/campaign-hashtag.js +7 -7
  310. package/esm2015/domain/shopping/models/checkout.js +37 -37
  311. package/esm2015/domain/shopping/models/coupons/coupon.js +38 -38
  312. package/esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js +7 -7
  313. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -6
  314. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +10 -10
  315. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +10 -10
  316. package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -4
  317. package/esm2015/domain/shopping/models/coupons/index.js +3 -3
  318. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +7 -7
  319. package/esm2015/domain/shopping/models/enums/index.js +3 -3
  320. package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -12
  321. package/esm2015/domain/shopping/models/index.js +13 -13
  322. package/esm2015/domain/shopping/models/line-item.js +4 -4
  323. package/esm2015/domain/shopping/models/order.js +11 -11
  324. package/esm2015/domain/shopping/models/payment.js +169 -169
  325. package/esm2015/domain/shopping/models/shipping-method.js +7 -7
  326. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -28
  327. package/esm2015/domain/shopping/models/subscription/index.js +3 -3
  328. package/esm2015/domain/shopping/models/subscription/plan.js +7 -7
  329. package/esm2015/domain/shopping/models/types/index.js +8 -8
  330. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -2
  331. package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -2
  332. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -2
  333. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -2
  334. package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -2
  335. package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -2
  336. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -2
  337. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -2
  338. package/esm2015/domain/shopping/repositories/campaign-dashboard.repository.js +2 -2
  339. package/esm2015/domain/shopping/repositories/campaign-hashtag.repository.js +2 -2
  340. package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -2
  341. package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -2
  342. package/esm2015/domain/shopping/repositories/index.js +10 -10
  343. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -2
  344. package/esm2015/domain/shopping/repositories/order.repository.js +2 -2
  345. package/esm2015/domain/shopping/repositories/payment.repository.js +2 -2
  346. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -2
  347. package/esm2015/domain/shopping/repositories/subscription/index.js +3 -3
  348. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -2
  349. package/esm2015/domain/users/errors/index.js +4 -4
  350. package/esm2015/domain/users/errors/unauthorized.error.js +8 -8
  351. package/esm2015/domain/users/errors/user-already-registered.error.js +8 -8
  352. package/esm2015/domain/users/errors/weak-password.error.js +8 -8
  353. package/esm2015/domain/users/index.js +6 -6
  354. package/esm2015/domain/users/models/beauty-profile.js +12 -12
  355. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -7
  356. package/esm2015/domain/users/models/enums/area.enum.js +13 -13
  357. package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -11
  358. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -9
  359. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -8
  360. package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -13
  361. package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -9
  362. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -7
  363. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -9
  364. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -12
  365. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -10
  366. package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -10
  367. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -7
  368. package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -12
  369. package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -12
  370. package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -10
  371. package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -9
  372. package/esm2015/domain/users/models/enums/index.js +21 -21
  373. package/esm2015/domain/users/models/enums/office-position.enum.js +8 -8
  374. package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -10
  375. package/esm2015/domain/users/models/enums/user-type.enum.js +10 -10
  376. package/esm2015/domain/users/models/index.js +8 -8
  377. package/esm2015/domain/users/models/lead.js +7 -7
  378. package/esm2015/domain/users/models/subscription/edition.js +7 -7
  379. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -5
  380. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -6
  381. package/esm2015/domain/users/models/subscription/enums/index.js +5 -5
  382. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -7
  383. package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -6
  384. package/esm2015/domain/users/models/subscription/index.js +5 -5
  385. package/esm2015/domain/users/models/subscription/payment.js +14 -14
  386. package/esm2015/domain/users/models/subscription/subscription.js +43 -43
  387. package/esm2015/domain/users/models/user-address.js +7 -7
  388. package/esm2015/domain/users/models/user-payment-method.js +7 -7
  389. package/esm2015/domain/users/models/user.js +26 -26
  390. package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -2
  391. package/esm2015/domain/users/repositories/edition.repository.js +2 -2
  392. package/esm2015/domain/users/repositories/index.js +9 -9
  393. package/esm2015/domain/users/repositories/lead.repository.js +2 -2
  394. package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -2
  395. package/esm2015/domain/users/repositories/subscription.repository.js +2 -2
  396. package/esm2015/domain/users/repositories/user-address.repository.js +2 -2
  397. package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -2
  398. package/esm2015/domain/users/repositories/user.repository.js +2 -2
  399. package/esm2015/domain/users/services/authentication.service.js +2 -2
  400. package/esm2015/domain/users/services/index.js +4 -4
  401. package/esm2015/domain/users/services/register.service.js +2 -2
  402. package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -2
  403. package/esm2015/domain/users/services/types/index.js +2 -2
  404. package/esm2015/domain/users/use-cases/authentication.js +40 -40
  405. package/esm2015/domain/users/use-cases/index.js +5 -5
  406. package/esm2015/domain/users/use-cases/recovery-password.js +12 -12
  407. package/esm2015/domain/users/use-cases/register.js +34 -34
  408. package/esm2015/domain/users/use-cases/signout.js +12 -12
  409. package/esm2015/errors/duplicated-results.error.js +8 -8
  410. package/esm2015/errors/index.js +5 -5
  411. package/esm2015/errors/invalid-argument.error.js +8 -8
  412. package/esm2015/errors/not-found.error.js +8 -8
  413. package/esm2015/errors/required-argument.error.js +9 -9
  414. package/esm2015/index.js +6 -6
  415. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +76 -76
  416. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -2
  417. package/esm2015/infra/elasticsearch/adapters/index.js +3 -3
  418. package/esm2015/infra/elasticsearch/index.js +4 -4
  419. package/esm2015/infra/elasticsearch/indexes/index.js +2 -2
  420. package/esm2015/infra/elasticsearch/indexes/products-index.js +115 -115
  421. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -2
  422. package/esm2015/infra/elasticsearch/types/index.js +2 -2
  423. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -52
  424. package/esm2015/infra/firebase/auth/index.js +3 -3
  425. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -26
  426. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -2
  427. package/esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js +10 -10
  428. package/esm2015/infra/firebase/firestore/enums/index.js +2 -2
  429. package/esm2015/infra/firebase/firestore/index.js +4 -4
  430. package/esm2015/infra/firebase/firestore/mixins/index.js +10 -10
  431. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -31
  432. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -10
  433. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -18
  434. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +98 -98
  435. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +64 -64
  436. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -24
  437. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -17
  438. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -11
  439. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -45
  440. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +82 -82
  441. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -5
  442. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +58 -58
  443. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -14
  444. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -12
  445. package/esm2015/infra/firebase/firestore/repositories/index.js +5 -5
  446. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -56
  447. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +4 -4
  448. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -12
  449. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +12 -12
  450. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -12
  451. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +12 -12
  452. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +12 -12
  453. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -12
  454. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -12
  455. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -29
  456. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +11 -11
  457. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -9
  458. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +40 -40
  459. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -12
  460. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -12
  461. package/esm2015/infra/firebase/firestore/repositories/users/index.js +9 -9
  462. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -12
  463. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -14
  464. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -12
  465. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -14
  466. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -14
  467. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -14
  468. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +68 -68
  469. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -14
  470. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -2
  471. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -2
  472. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -2
  473. package/esm2015/infra/firebase/firestore/types/index.js +4 -4
  474. package/esm2015/infra/firebase/index.js +3 -3
  475. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -13
  476. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -15
  477. package/esm2015/infra/hasura-graphql/enums/index.js +3 -3
  478. package/esm2015/infra/hasura-graphql/index.js +5 -5
  479. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -31
  480. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +58 -58
  481. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -22
  482. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +95 -95
  483. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +5 -5
  484. package/esm2015/infra/hasura-graphql/mixins/index.js +8 -8
  485. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +61 -61
  486. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -10
  487. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +31 -31
  488. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +109 -109
  489. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +37 -37
  490. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +97 -97
  491. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +58 -58
  492. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -4
  493. package/esm2015/infra/hasura-graphql/models/index.js +5 -5
  494. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -15
  495. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -11
  496. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -9
  497. package/esm2015/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.js +38 -38
  498. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +97 -55
  499. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +377 -377
  500. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +123 -123
  501. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +21 -21
  502. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +8 -8
  503. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +506 -506
  504. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +117 -117
  505. package/esm2015/infra/hasura-graphql/repositories/index.js +2 -2
  506. package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -2
  507. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -2
  508. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -2
  509. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -2
  510. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -2
  511. package/esm2015/infra/hasura-graphql/types/index.js +9 -9
  512. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -2
  513. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -2
  514. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -2
  515. package/esm2015/infra/index.js +4 -4
  516. package/esm2015/infrab4a-connect.js +4 -4
  517. package/esm2015/utils/decorators/debug.class.decorator.js +7 -7
  518. package/esm2015/utils/decorators/index.js +3 -3
  519. package/esm2015/utils/decorators/trace.method.decorator.js +81 -81
  520. package/esm2015/utils/helpers/class-name.helper.js +15 -15
  521. package/esm2015/utils/helpers/debug-decorator.helper.js +18 -18
  522. package/esm2015/utils/helpers/debug.helper.js +150 -150
  523. package/esm2015/utils/helpers/index.js +5 -5
  524. package/esm2015/utils/helpers/reflect.helper.js +165 -165
  525. package/esm2015/utils/index.js +11 -11
  526. package/esm2015/utils/is-uuid.js +3 -3
  527. package/esm2015/utils/log.utils.js +9 -9
  528. package/esm2015/utils/mixins/base.mixin.js +6 -6
  529. package/esm2015/utils/mixins/index.js +4 -4
  530. package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -2
  531. package/esm2015/utils/mixins/mixin-ctor.type.js +2 -2
  532. package/esm2015/utils/parse-datetime.js +14 -14
  533. package/esm2015/utils/types/array-element.type.js +2 -2
  534. package/esm2015/utils/types/index.js +3 -3
  535. package/esm2015/utils/types/prop.type.js +2 -2
  536. package/fesm2015/infrab4a-connect.js +4178 -4128
  537. package/fesm2015/infrab4a-connect.js.map +1 -1
  538. package/index.d.ts +5 -5
  539. package/infra/elasticsearch/adapters/axios.adapter.d.ts +16 -16
  540. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +8 -8
  541. package/infra/elasticsearch/adapters/index.d.ts +2 -2
  542. package/infra/elasticsearch/index.d.ts +3 -3
  543. package/infra/elasticsearch/indexes/index.d.ts +1 -1
  544. package/infra/elasticsearch/indexes/products-index.d.ts +13 -13
  545. package/infra/elasticsearch/types/elastic-search-result.d.ts +9 -9
  546. package/infra/elasticsearch/types/index.d.ts +1 -1
  547. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -12
  548. package/infra/firebase/auth/index.d.ts +2 -2
  549. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -8
  550. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -3
  551. package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -8
  552. package/infra/firebase/firestore/enums/index.d.ts +1 -1
  553. package/infra/firebase/firestore/index.d.ts +3 -3
  554. package/infra/firebase/firestore/mixins/index.d.ts +9 -9
  555. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  556. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -4
  557. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -4
  558. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -4
  559. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -4
  560. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -4
  561. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -11
  562. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -7
  563. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -7
  564. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +21 -21
  565. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -4
  566. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +13 -13
  567. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -13
  568. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -8
  569. package/infra/firebase/firestore/repositories/index.d.ts +4 -4
  570. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -16
  571. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -3
  572. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -8
  573. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +8 -8
  574. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -8
  575. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +9 -9
  576. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +9 -9
  577. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -8
  578. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -8
  579. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -12
  580. package/infra/firebase/firestore/repositories/shopping/index.d.ts +10 -10
  581. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -7
  582. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +13 -13
  583. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -8
  584. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -8
  585. package/infra/firebase/firestore/repositories/users/index.d.ts +8 -8
  586. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -8
  587. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -13
  588. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -8
  589. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -13
  590. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -13
  591. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -13
  592. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -17
  593. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -13
  594. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -6
  595. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -8
  596. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +14 -14
  597. package/infra/firebase/firestore/types/index.d.ts +3 -3
  598. package/infra/firebase/index.d.ts +2 -2
  599. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -11
  600. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -13
  601. package/infra/hasura-graphql/enums/index.d.ts +2 -2
  602. package/infra/hasura-graphql/index.d.ts +4 -4
  603. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +15 -15
  604. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +10 -10
  605. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +8 -8
  606. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +9 -9
  607. package/infra/hasura-graphql/mixins/helpers/index.d.ts +4 -4
  608. package/infra/hasura-graphql/mixins/index.d.ts +7 -7
  609. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +9 -9
  610. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -11
  611. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -7
  612. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +33 -33
  613. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +25 -25
  614. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -11
  615. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -14
  616. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -6
  617. package/infra/hasura-graphql/models/index.d.ts +4 -4
  618. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -6
  619. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +18 -18
  620. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +10 -10
  621. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +10 -10
  622. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -11
  623. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +34 -34
  624. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -18
  625. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -10
  626. package/infra/hasura-graphql/repositories/catalog/index.d.ts +7 -7
  627. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +30 -30
  628. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -14
  629. package/infra/hasura-graphql/repositories/index.d.ts +1 -1
  630. package/infra/hasura-graphql/types/fields.type.d.ts +2 -2
  631. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +23 -23
  632. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -8
  633. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +44 -44
  634. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -7
  635. package/infra/hasura-graphql/types/index.d.ts +8 -8
  636. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -7
  637. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -7
  638. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -9
  639. package/infra/index.d.ts +3 -3
  640. package/infrab4a-connect.d.ts +5 -5
  641. package/package.json +1 -1
  642. package/utils/decorators/debug.class.decorator.d.ts +2 -2
  643. package/utils/decorators/index.d.ts +2 -2
  644. package/utils/decorators/trace.method.decorator.d.ts +14 -14
  645. package/utils/helpers/class-name.helper.d.ts +3 -3
  646. package/utils/helpers/debug-decorator.helper.d.ts +9 -9
  647. package/utils/helpers/debug.helper.d.ts +60 -60
  648. package/utils/helpers/index.d.ts +4 -4
  649. package/utils/helpers/reflect.helper.d.ts +50 -50
  650. package/utils/index.d.ts +10 -10
  651. package/utils/is-uuid.d.ts +1 -1
  652. package/utils/log.utils.d.ts +7 -7
  653. package/utils/mixins/base.mixin.d.ts +3 -3
  654. package/utils/mixins/index.d.ts +3 -3
  655. package/utils/mixins/merge-constructor-params.type.d.ts +3 -3
  656. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  657. package/utils/parse-datetime.d.ts +1 -1
  658. package/utils/types/array-element.type.d.ts +1 -1
  659. package/utils/types/index.d.ts +2 -2
  660. package/utils/types/prop.type.d.ts +1 -1
@@ -1,5 +1,5 @@
1
- export * from './attribute-option.helper';
2
- export * from './bind-filter-query.helper';
3
- export * from './filter-option.helper';
4
- export * from './graphql-field.helper';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuZXhwb3J0ICogZnJvbSAnLi9iaW5kLWZpbHRlci1xdWVyeS5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXHJcbiJdfQ==
1
+ export * from './attribute-option.helper';
2
+ export * from './bind-filter-query.helper';
3
+ export * from './filter-option.helper';
4
+ export * from './graphql-field.helper';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXG4iXX0=
@@ -1,8 +1,8 @@
1
- export * from './with-create-hasura-graphql.mixin';
2
- export * from './with-delete-hasura-graphql.mixin';
3
- export * from './with-hasura-graphql.mixin';
4
- export * from './with-update-hasura-graphql.mixin';
5
- export * from './with-get-hasura-graphql.mixin';
6
- export * from './with-find-hasura-graphql.mixin';
7
- export * from './with-crud-hasura-graphql.mixin';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWZpbmQtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG4iXX0=
1
+ export * from './with-create-hasura-graphql.mixin';
2
+ export * from './with-delete-hasura-graphql.mixin';
3
+ export * from './with-hasura-graphql.mixin';
4
+ export * from './with-update-hasura-graphql.mixin';
5
+ export * from './with-get-hasura-graphql.mixin';
6
+ export * from './with-find-hasura-graphql.mixin';
7
+ export * from './with-crud-hasura-graphql.mixin';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuIl19
@@ -1,61 +1,61 @@
1
- import { __awaiter } from "tslib";
2
- import { DebugHelper } from '../../../utils';
3
- import { AttributeOptionHelper } from './helpers';
4
- export const withCreateHasuraGraphQL = (MixinBase) => {
5
- return class CreateHasuraGraphQLMixin extends MixinBase {
6
- constructor(...params) {
7
- const options = params === null || params === void 0 ? void 0 : params[0];
8
- super(...params);
9
- this.insertGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertGraphQLOperation) || `insert_${this.tableName}_one`;
10
- this.insertAllGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertAllGraphQLOperation) || `insert_${this.tableName}`;
11
- this.insertGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.insertGraphQLObjectType) || `${this.tableName}_insert_input`;
12
- }
13
- create(data) {
14
- return __awaiter(this, void 0, void 0, function* () {
15
- this.logger = DebugHelper.from(this, 'create');
16
- const newData = yield this.save(this.model.toInstance(data));
17
- return this.model.toInstance(newData);
18
- });
19
- }
20
- createAll(data) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this.logger = DebugHelper.from(this, 'createAll');
23
- const result = yield this.mutation(this.insertAllGraphQLOperation, [{ returning: this.model.identifiersFields }], {
24
- objects: {
25
- type: this.insertGraphQLObjectType,
26
- required: true,
27
- list: true,
28
- value: data.map((item) => this.convertDataToHasura(item)),
29
- },
30
- });
31
- return result[this.insertAllGraphQLOperation].returning.map((item, index) => this.model.toInstance(Object.assign(Object.assign({}, data[index]), item)));
32
- });
33
- }
34
- save(data) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const primaryKeyColumns = this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName);
37
- const foreignKeyColumns = this.fields
38
- .map((field) => {
39
- const columnOptions = Object.values(field).shift();
40
- return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
41
- columnOptions.foreignKeyColumn && [
42
- ...Object.values(columnOptions.foreignKeyColumn).map((foreignKeyName) => { var _a; return (_a = AttributeOptionHelper.FindByAttribute(foreignKeyName, this.fields)) === null || _a === void 0 ? void 0 : _a.columnName; }),
43
- {
44
- [columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => {
45
- var _a;
46
- return ((_a = AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || foreignKeyField;
47
- }),
48
- },
49
- ]);
50
- })
51
- .filter(Boolean)
52
- .reduce((keys, current) => [...keys, ...current], []);
53
- const result = yield this.mutation(this.insertGraphQLOperation, [...primaryKeyColumns, ...foreignKeyColumns], {
54
- object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
55
- });
56
- return Object.assign(Object.assign({}, data.toPlain()), this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain());
57
- });
58
- }
59
- };
60
- };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFHL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBUWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUtyRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRXBELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxzQkFBc0IsS0FBSSxVQUFVLElBQUksQ0FBQyxTQUFTLE1BQU0sQ0FBQTtZQUMvRixJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUseUJBQXlCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDakcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLHVCQUF1QixLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFSyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FB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QUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBRXZELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FDaEMsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxpQkFBaUIsQ0FBK0IsRUFDMUU7b0JBQ0UsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7aUJBQ3RHLENBQ0YsQ0FBQTtnQkFFRCx1Q0FBWSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVHLENBQUM7U0FBQTtLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVSZXBvc2l0b3J5LCBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IERlYnVnSGVscGVyLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xyXG4gIGluc2VydEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcclxuICBpbnNlcnRBbGxHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXHJcbiAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMID0gPFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbik6IE1peGluQ3RvcjxcclxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPixcclxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XHJcbj4gPT4ge1xyXG4gIHJldHVybiBjbGFzcyBDcmVhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICBpbnNlcnRHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcclxuICAgIGluc2VydEFsbEdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xyXG4gICAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU6IHN0cmluZ1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtcykge1xyXG4gICAgICBjb25zdCBvcHRpb25zOiBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXHJcblxyXG4gICAgICBzdXBlciguLi5wYXJhbXMpXHJcblxyXG4gICAgICB0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uIHx8IGBpbnNlcnRfJHt0aGlzLnRhYmxlTmFtZX1fb25lYFxyXG4gICAgICB0aGlzLmluc2VydEFsbEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5pbnNlcnRBbGxHcmFwaFFMT3BlcmF0aW9uIHx8IGBpbnNlcnRfJHt0aGlzLnRhYmxlTmFtZX1gXHJcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcclxuICAgICAgdGhpcy5sb2dnZXIgPSBEZWJ1Z0hlbHBlci5mcm9tKHRoaXMsICdjcmVhdGUnKVxyXG5cclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSkpXHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKG5ld0RhdGEpXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlQWxsKGRhdGE6IFBhcnRpYWw8TUJhc2U+W10pOiBQcm9taXNlPFtNQmFzZV0+IHtcclxuICAgICAgdGhpcy5sb2dnZXIgPSBEZWJ1Z0hlbHBlci5mcm9tKHRoaXMsICdjcmVhdGVBbGwnKVxyXG5cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tdXRhdGlvbjxNQmFzZT4oXHJcbiAgICAgICAgdGhpcy5pbnNlcnRBbGxHcmFwaFFMT3BlcmF0aW9uLFxyXG4gICAgICAgIFt7IHJldHVybmluZzogdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcyB9XSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvYmplY3RzOiB7XHJcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUsXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICBsaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5tYXAoKGl0ZW06IE1CYXNlKSA9PiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEoaXRlbSkpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICApXHJcblxyXG4gICAgICByZXR1cm4gcmVzdWx0W3RoaXMuaW5zZXJ0QWxsR3JhcGhRTE9wZXJhdGlvbl0ucmV0dXJuaW5nLm1hcCgoaXRlbSwgaW5kZXgpID0+XHJcbiAgICAgICAgdGhpcy5tb2RlbC50b0luc3RhbmNlKHtcclxuICAgICAgICAgIC4uLmRhdGFbaW5kZXhdLFxyXG4gICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICB9KSxcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNhdmUoZGF0YTogTUJhc2UpOiBQcm9taXNlPFBhcnRpYWw8TUJhc2U+PiB7XHJcbiAgICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5zID0gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXHJcbiAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcclxuICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxyXG4gICAgICBjb25zdCBmb3JlaWduS2V5Q29sdW1ucyA9IHRoaXMuZmllbGRzXHJcbiAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbnMgPSBPYmplY3QudmFsdWVzKGZpZWxkKS5zaGlmdCgpXHJcblxyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oY29sdW1uT3B0aW9ucykgJiZcclxuICAgICAgICAgICAgY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uICYmIFtcclxuICAgICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxyXG4gICAgICAgICAgICAgICAgKGZvcmVpZ25LZXlOYW1lKSA9PlxyXG4gICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZvcmVpZ25LZXlOYW1lIGFzIGFueSwgdGhpcy5maWVsZHMpPy5jb2x1bW5OYW1lLFxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgW2NvbHVtbk9wdGlvbnMuY29sdW1uTmFtZV06IE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxyXG4gICAgICAgICAgICAgICAgICAoZm9yZWlnbktleUZpZWxkKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZm9yZWlnbktleUZpZWxkIGFzIGFueSwgY29sdW1uT3B0aW9ucz8uZmllbGRzIGFzIGFueSlcclxuICAgICAgICAgICAgICAgICAgICAgID8uY29sdW1uTmFtZSB8fCBmb3JlaWduS2V5RmllbGQsXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgIClcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcclxuICAgICAgICAucmVkdWNlKChrZXlzLCBjdXJyZW50KSA9PiBbLi4ua2V5cywgLi4uY3VycmVudF0sIFtdKVxyXG5cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tdXRhdGlvbjxNQmFzZT4oXHJcbiAgICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uLFxyXG4gICAgICAgIFsuLi5wcmltYXJ5S2V5Q29sdW1ucywgLi4uZm9yZWlnbktleUNvbHVtbnNdIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9iamVjdDogeyB0eXBlOiB0aGlzLmluc2VydEdyYXBoUUxPYmplY3RUeXBlLCByZXF1aXJlZDogdHJ1ZSwgdmFsdWU6IHRoaXMuY29udmVydERhdGFUb0hhc3VyYShkYXRhKSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIClcclxuXHJcbiAgICAgIHJldHVybiB7IC4uLmRhdGEudG9QbGFpbigpLCAuLi50aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyZXN1bHRbdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uXSkudG9QbGFpbigpIH1cclxuICAgIH1cclxuICB9IGFzIGFueVxyXG59XHJcbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { DebugHelper } from '../../../utils';
3
+ import { AttributeOptionHelper } from './helpers';
4
+ export const withCreateHasuraGraphQL = (MixinBase) => {
5
+ return class CreateHasuraGraphQLMixin extends MixinBase {
6
+ constructor(...params) {
7
+ const options = params === null || params === void 0 ? void 0 : params[0];
8
+ super(...params);
9
+ this.insertGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertGraphQLOperation) || `insert_${this.tableName}_one`;
10
+ this.insertAllGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertAllGraphQLOperation) || `insert_${this.tableName}`;
11
+ this.insertGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.insertGraphQLObjectType) || `${this.tableName}_insert_input`;
12
+ }
13
+ create(data) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ this.logger = DebugHelper.from(this, 'create');
16
+ const newData = yield this.save(this.model.toInstance(data));
17
+ return this.model.toInstance(newData);
18
+ });
19
+ }
20
+ createAll(data) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ this.logger = DebugHelper.from(this, 'createAll');
23
+ const result = yield this.mutation(this.insertAllGraphQLOperation, [{ returning: this.model.identifiersFields }], {
24
+ objects: {
25
+ type: this.insertGraphQLObjectType,
26
+ required: true,
27
+ list: true,
28
+ value: data.map((item) => this.convertDataToHasura(item)),
29
+ },
30
+ });
31
+ return result[this.insertAllGraphQLOperation].returning.map((item, index) => this.model.toInstance(Object.assign(Object.assign({}, data[index]), item)));
32
+ });
33
+ }
34
+ save(data) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const primaryKeyColumns = this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName);
37
+ const foreignKeyColumns = this.fields
38
+ .map((field) => {
39
+ const columnOptions = Object.values(field).shift();
40
+ return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
41
+ columnOptions.foreignKeyColumn && [
42
+ ...Object.values(columnOptions.foreignKeyColumn).map((foreignKeyName) => { var _a; return (_a = AttributeOptionHelper.FindByAttribute(foreignKeyName, this.fields)) === null || _a === void 0 ? void 0 : _a.columnName; }),
43
+ {
44
+ [columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => {
45
+ var _a;
46
+ return ((_a = AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || foreignKeyField;
47
+ }),
48
+ },
49
+ ]);
50
+ })
51
+ .filter(Boolean)
52
+ .reduce((keys, current) => [...keys, ...current], []);
53
+ const result = yield this.mutation(this.insertGraphQLOperation, [...primaryKeyColumns, ...foreignKeyColumns], {
54
+ object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
55
+ });
56
+ return Object.assign(Object.assign({}, data.toPlain()), this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain());
57
+ });
58
+ }
59
+ };
60
+ };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFHL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBUWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUtyRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRXBELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxzQkFBc0IsS0FBSSxVQUFVLElBQUksQ0FBQyxTQUFTLE1BQU0sQ0FBQTtZQUMvRixJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUseUJBQXlCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDakcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLHVCQUF1QixLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFSyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FB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QUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBRXZELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FDaEMsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxpQkFBaUIsQ0FBK0IsRUFDMUU7b0JBQ0UsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7aUJBQ3RHLENBQ0YsQ0FBQTtnQkFFRCx1Q0FBWSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzVHLENBQUM7U0FBQTtLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVSZXBvc2l0b3J5LCBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBpbnNlcnRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIGluc2VydEFsbEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcbiAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPixcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcmVhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBDcmVhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG4gICAgaW5zZXJ0QWxsR3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG4gICAgaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGU6IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5pbnNlcnRHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbiB8fCBgaW5zZXJ0XyR7dGhpcy50YWJsZU5hbWV9X29uZWBcbiAgICAgIHRoaXMuaW5zZXJ0QWxsR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/Lmluc2VydEFsbEdyYXBoUUxPcGVyYXRpb24gfHwgYGluc2VydF8ke3RoaXMudGFibGVOYW1lfWBcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnY3JlYXRlJylcblxuICAgICAgY29uc3QgbmV3RGF0YSA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSkpXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UobmV3RGF0YSlcbiAgICB9XG5cbiAgICBhc3luYyBjcmVhdGVBbGwoZGF0YTogUGFydGlhbDxNQmFzZT5bXSk6IFByb21pc2U8W01CYXNlXT4ge1xuICAgICAgdGhpcy5sb2dnZXIgPSBEZWJ1Z0hlbHBlci5mcm9tKHRoaXMsICdjcmVhdGVBbGwnKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm11dGF0aW9uPE1CYXNlPihcbiAgICAgICAgdGhpcy5pbnNlcnRBbGxHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICBbeyByZXR1cm5pbmc6IHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgfV0sXG4gICAgICAgIHtcbiAgICAgICAgICBvYmplY3RzOiB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLmluc2VydEdyYXBoUUxPYmplY3RUeXBlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICBsaXN0OiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IGRhdGEubWFwKChpdGVtOiBNQmFzZSkgPT4gdGhpcy5jb252ZXJ0RGF0YVRvSGFzdXJhKGl0ZW0pKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgICByZXR1cm4gcmVzdWx0W3RoaXMuaW5zZXJ0QWxsR3JhcGhRTE9wZXJhdGlvbl0ucmV0dXJuaW5nLm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgIHRoaXMubW9kZWwudG9JbnN0YW5jZSh7XG4gICAgICAgICAgLi4uZGF0YVtpbmRleF0sXG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShkYXRhOiBNQmFzZSk6IFByb21pc2U8UGFydGlhbDxNQmFzZT4+IHtcbiAgICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5zID0gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXG4gICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+XG4gICAgICBjb25zdCBmb3JlaWduS2V5Q29sdW1ucyA9IHRoaXMuZmllbGRzXG4gICAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoZmllbGQpLnNoaWZ0KClcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihjb2x1bW5PcHRpb25zKSAmJlxuICAgICAgICAgICAgY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uICYmIFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb2x1bW5PcHRpb25zLmZvcmVpZ25LZXlDb2x1bW4pLm1hcChcbiAgICAgICAgICAgICAgICAoZm9yZWlnbktleU5hbWUpID0+XG4gICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZvcmVpZ25LZXlOYW1lIGFzIGFueSwgdGhpcy5maWVsZHMpPy5jb2x1bW5OYW1lLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW2NvbHVtbk9wdGlvbnMuY29sdW1uTmFtZV06IE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxuICAgICAgICAgICAgICAgICAgKGZvcmVpZ25LZXlGaWVsZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmb3JlaWduS2V5RmllbGQgYXMgYW55LCBjb2x1bW5PcHRpb25zPy5maWVsZHMgYXMgYW55KVxuICAgICAgICAgICAgICAgICAgICAgID8uY29sdW1uTmFtZSB8fCBmb3JlaWduS2V5RmllbGQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLnJlZHVjZSgoa2V5cywgY3VycmVudCkgPT4gWy4uLmtleXMsIC4uLmN1cnJlbnRdLCBbXSlcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5tdXRhdGlvbjxNQmFzZT4oXG4gICAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgWy4uLnByaW1hcnlLZXlDb2x1bW5zLCAuLi5mb3JlaWduS2V5Q29sdW1uc10gYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHtcbiAgICAgICAgICBvYmplY3Q6IHsgdHlwZTogdGhpcy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSwgcmVxdWlyZWQ6IHRydWUsIHZhbHVlOiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEoZGF0YSkgfSxcbiAgICAgICAgfSxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHsgLi4uZGF0YS50b1BsYWluKCksIC4uLnRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJlc3VsdFt0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb25dKS50b1BsYWluKCkgfVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
- import { withCreateHasuraGraphQL } from './with-create-hasura-graphql.mixin';
2
- import { withDeleteHasuraGraphQL } from './with-delete-hasura-graphql.mixin';
3
- import { withFindHasuraGraphQL } from './with-find-hasura-graphql.mixin';
4
- import { withGetHasuraGraphQL } from './with-get-hasura-graphql.mixin';
5
- import { withUpdateHasuraGraphQL, } from './with-update-hasura-graphql.mixin';
6
- export const withCrudHasuraGraphQL = (MixinBase) => {
7
- return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
8
- };
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3hFLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFXM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmltcG9ydCB7IENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zLCB3aXRoQ3JlYXRlSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmltcG9ydCB7IERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zLCB3aXRoRGVsZXRlSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmltcG9ydCB7IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQgeyBHZXRDb25zdHJ1Y3RvclBhcmFtcywgd2l0aEdldEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtZ2V0LWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vd2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuaW1wb3J0IHtcclxuICBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyxcclxuICBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGUsXHJcbiAgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwsXHJcbn0gZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2UsIFRCYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+LFxyXG4gIFJlcG9zaXRvcnkgPSBDcnVkUmVwb3NpdG9yeTxUQmFzZT4sXHJcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3RvcixcclxuPihcclxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4+ICYgVE1peGluQmFzZSxcclxuKTogTWl4aW5DdG9yPFxyXG4gIEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPiAmIFJlcG9zaXRvcnkgJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8VEJhc2U+LFxyXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8XHJcbiAgICBDb25zdHJ1Y3RvclBhcmFtczxUQmFzZT4gJlxyXG4gICAgICBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcyAmXHJcbiAgICAgIERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zICZcclxuICAgICAgR2V0Q29uc3RydWN0b3JQYXJhbXMgJlxyXG4gICAgICBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyxcclxuICAgIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPlxyXG4gID5cclxuPiA9PiB7XHJcbiAgcmV0dXJuIGNsYXNzIENydWRIYXN1cmFHcmFwaFFMTWl4aW5cclxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwoXHJcbiAgICAgIHdpdGhHZXRIYXN1cmFHcmFwaFFMKFxyXG4gICAgICAgIHdpdGhGaW5kSGFzdXJhR3JhcGhRTChcclxuICAgICAgICAgIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMKHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+PikpLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgICBpbXBsZW1lbnRzIENydWRSZXBvc2l0b3J5PFRCYXNlPiB7fSBhcyBhbnlcclxufVxyXG4iXX0=
1
+ import { withCreateHasuraGraphQL } from './with-create-hasura-graphql.mixin';
2
+ import { withDeleteHasuraGraphQL } from './with-delete-hasura-graphql.mixin';
3
+ import { withFindHasuraGraphQL } from './with-find-hasura-graphql.mixin';
4
+ import { withGetHasuraGraphQL } from './with-get-hasura-graphql.mixin';
5
+ import { withUpdateHasuraGraphQL, } from './with-update-hasura-graphql.mixin';
6
+ export const withCrudHasuraGraphQL = (MixinBase) => {
7
+ return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
8
+ };
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3hFLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFXM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMsIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWRlbGV0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHsgR2V0Q29uc3RydWN0b3JQYXJhbXMsIHdpdGhHZXRIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmltcG9ydCB7IENvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuaW1wb3J0IHtcbiAgVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsXG4gIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZSxcbiAgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwsXG59IGZyb20gJy4vd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5cbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFRCYXNlLCBUQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgUmVwb3NpdG9yeSA9IENydWRSZXBvc2l0b3J5PFRCYXNlPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4gJiBSZXBvc2l0b3J5ICYgVXBkYXRlSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlUeXBlPFRCYXNlPixcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxcbiAgICBDb25zdHJ1Y3RvclBhcmFtczxUQmFzZT4gJlxuICAgICAgQ3JlYXRlQ29uc3RydWN0b3JQYXJhbXMgJlxuICAgICAgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgJlxuICAgICAgR2V0Q29uc3RydWN0b3JQYXJhbXMgJlxuICAgICAgVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsXG4gICAgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+XG4gID5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3J1ZEhhc3VyYUdyYXBoUUxNaXhpblxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUhhc3VyYUdyYXBoUUwoXG4gICAgICB3aXRoR2V0SGFzdXJhR3JhcGhRTChcbiAgICAgICAgd2l0aEZpbmRIYXN1cmFHcmFwaFFMKFxuICAgICAgICAgIHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMKHdpdGhDcmVhdGVIYXN1cmFHcmFwaFFMKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+PikpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBDcnVkUmVwb3NpdG9yeTxUQmFzZT4ge30gYXMgYW55XG59XG4iXX0=
@@ -1,31 +1,31 @@
1
- import { __awaiter } from "tslib";
2
- import { DebugHelper, isNil } from '../../../utils';
3
- import { AttributeOptionHelper } from './helpers';
4
- export const withDeleteHasuraGraphQL = (MixinBase) => {
5
- return class DeleteHasuraGraphQLMixin extends MixinBase {
6
- constructor(...params) {
7
- const options = params === null || params === void 0 ? void 0 : params[0];
8
- super(...params);
9
- this.deleteGraphQLOperation = (options === null || options === void 0 ? void 0 : options.deleteGraphQLOperation) || `delete_${this.tableName}_by_pk`;
10
- }
11
- delete(identifiers) {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- this.logger = DebugHelper.from(this, 'delete');
14
- const instance = this.model.toInstance(identifiers);
15
- yield this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
16
- const identifierBinded = identifier;
17
- if (isNil(instance[identifierBinded]))
18
- return ids;
19
- const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
20
- const value = columnOption.to(identifiers[identifier.toString()], instance);
21
- return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
22
- type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
23
- value,
24
- required: true,
25
- } });
26
- }, {}));
27
- });
28
- }
29
- };
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BLE9BQU8sRUFBRSxXQUFXLEVBQXFDLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQU1qRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFHckQsWUFBWSxHQUFHLE1BQWE7WUFDMUIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUE7UUFDbkcsQ0FBQztRQUVLLE1BQU0sQ0FBQyxXQUEwQzs7Z0JBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBRTlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQWtCLENBQUMsQ0FBQTtnQkFFMUQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUNqQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUM5QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNsRCxFQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtvQkFDdEQsTUFBTSxnQkFBZ0IsR0FHbEIsVUFBVSxDQUFBO29CQUVkLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFBO29CQUVqRCxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkYsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7b0JBRTNFLHVDQUNLLEdBQUcsS0FDTixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTs0QkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQzs0QkFDaEUsS0FBSzs0QkFDTCxRQUFRLEVBQUUsSUFBSTt5QkFDZixJQUNGO2dCQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDUCxDQUFBO1lBQ0gsQ0FBQztTQUFBO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGVsZXRlUmVwb3NpdG9yeSxcclxuICBEZWxldGVSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgRGVidWdIZWxwZXIsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciwgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xyXG4gIGRlbGV0ZUdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMID0gPFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbik6IE1peGluQ3RvcjxcclxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPixcclxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XHJcbj4gPT4ge1xyXG4gIHJldHVybiBjbGFzcyBEZWxldGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICBkZWxldGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcclxuXHJcbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cclxuXHJcbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcclxuXHJcbiAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYGRlbGV0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGUoaWRlbnRpZmllcnM6IERlbGV0ZVJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZGVsZXRlJylcclxuXHJcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzIGFzIGFueSlcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oXHJcbiAgICAgICAgdGhpcy5kZWxldGVHcmFwaFFMT3BlcmF0aW9uLFxyXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxyXG4gICAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcclxuICAgICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlkZW50aWZpZXJCaW5kZWQ6IEV4dHJhY3Q8XHJcbiAgICAgICAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdXHJcbiAgICAgICAgICA+ID0gaWRlbnRpZmllclxyXG5cclxuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyQmluZGVkXSkpIHJldHVybiBpZHNcclxuXHJcbiAgICAgICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGlkZW50aWZpZXIsIHRoaXMuZmllbGRzKVxyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpXHJcblxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaWRzLFxyXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcclxuICAgICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB7fSksXHJcbiAgICAgIClcclxuICAgIH1cclxuICB9IGFzIGFueVxyXG59XHJcbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { DebugHelper, isNil } from '../../../utils';
3
+ import { AttributeOptionHelper } from './helpers';
4
+ export const withDeleteHasuraGraphQL = (MixinBase) => {
5
+ return class DeleteHasuraGraphQLMixin extends MixinBase {
6
+ constructor(...params) {
7
+ const options = params === null || params === void 0 ? void 0 : params[0];
8
+ super(...params);
9
+ this.deleteGraphQLOperation = (options === null || options === void 0 ? void 0 : options.deleteGraphQLOperation) || `delete_${this.tableName}_by_pk`;
10
+ }
11
+ delete(identifiers) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ this.logger = DebugHelper.from(this, 'delete');
14
+ const instance = this.model.toInstance(identifiers);
15
+ yield this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
16
+ const identifierBinded = identifier;
17
+ if (isNil(instance[identifierBinded]))
18
+ return ids;
19
+ const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
20
+ const value = columnOption.to(identifiers[identifier.toString()], instance);
21
+ return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
22
+ type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
23
+ value,
24
+ required: true,
25
+ } });
26
+ }, {}));
27
+ });
28
+ }
29
+ };
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BLE9BQU8sRUFBRSxXQUFXLEVBQXFDLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQU1qRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFHckQsWUFBWSxHQUFHLE1BQWE7WUFDMUIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUE7UUFDbkcsQ0FBQztRQUVLLE1BQU0sQ0FBQyxXQUEwQzs7Z0JBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBRTlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQWtCLENBQUMsQ0FBQTtnQkFFMUQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUNqQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUM5QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNsRCxFQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtvQkFDdEQsTUFBTSxnQkFBZ0IsR0FHbEIsVUFBVSxDQUFBO29CQUVkLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFBO29CQUVqRCxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkYsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUE7b0JBRTNFLHVDQUNLLEdBQUcsS0FDTixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTs0QkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQzs0QkFDaEUsS0FBSzs0QkFDTCxRQUFRLEVBQUUsSUFBSTt5QkFDZixJQUNGO2dCQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDUCxDQUFBO1lBQ0gsQ0FBQztTQUFBO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlbGV0ZVJlcG9zaXRvcnksXG4gIERlbGV0ZVJlcG9zaXRvcnlQYXJhbXMsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRGVidWdIZWxwZXIsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciwgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgPSB7XG4gIGRlbGV0ZUdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhEZWxldGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPixcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxEZWxldGVDb25zdHJ1Y3RvclBhcmFtcywgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBEZWxldGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgZGVsZXRlR3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyA9IHBhcmFtcz8uWzBdXG5cbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcblxuICAgICAgdGhpcy5kZWxldGVHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8uZGVsZXRlR3JhcGhRTE9wZXJhdGlvbiB8fCBgZGVsZXRlXyR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZShpZGVudGlmaWVyczogRGVsZXRlUmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZGVsZXRlJylcblxuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoaWRlbnRpZmllcnMgYXMgYW55KVxuXG4gICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKFxuICAgICAgICB0aGlzLmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxuICAgICAgICAgIChmaWVsZCkgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgdGhpcy5maWVsZHMpLmNvbHVtbk5hbWUsXG4gICAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcbiAgICAgICAgICBjb25zdCBpZGVudGlmaWVyQmluZGVkOiBFeHRyYWN0PFxuICAgICAgICAgICAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdXG4gICAgICAgICAgPiA9IGlkZW50aWZpZXJcblxuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyQmluZGVkXSkpIHJldHVybiBpZHNcblxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaWRzLFxuICAgICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXToge1xuICAgICAgICAgICAgICB0eXBlOiB0aGlzLmdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2YoY29sdW1uT3B0aW9uLnR5cGUgfHwgdmFsdWUpLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuICAgICAgKVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,109 +1,109 @@
1
- import { __awaiter } from "tslib";
2
- import { DebugHelper, isNil, set } from '../../../utils';
3
- import { AttributeOptionHelper, BindFilterQueryHelper } from './helpers';
4
- export const withFindHasuraGraphQL = (MixinBase) => {
5
- return class FindHasuraGraphQLMixin extends MixinBase {
6
- constructor() {
7
- super(...arguments);
8
- this.bindOrderByAttributes = (orderBy, fields) => Object.keys(orderBy).reduce((acc, current) => (Object.assign(Object.assign({}, acc), { [AttributeOptionHelper.FindByAttribute(current, fields)
9
- .columnName]: orderBy[current] })), {});
10
- this.bindAggretageAttributes = (aggregates, fields) => {
11
- var _a, _b;
12
- return [
13
- ...(((_a = aggregates === null || aggregates === void 0 ? void 0 : aggregates.minimal) === null || _a === void 0 ? void 0 : _a.length)
14
- ? [
15
- {
16
- min: this.bindAttributesToColumns(aggregates === null || aggregates === void 0 ? void 0 : aggregates.minimal, fields),
17
- },
18
- ]
19
- : []),
20
- ...(((_b = aggregates === null || aggregates === void 0 ? void 0 : aggregates.maximum) === null || _b === void 0 ? void 0 : _b.length)
21
- ? [
22
- {
23
- max: this.bindAttributesToColumns(aggregates === null || aggregates === void 0 ? void 0 : aggregates.maximum, fields),
24
- },
25
- ]
26
- : []),
27
- ];
28
- };
29
- this.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => {
30
- var _a;
31
- return ((_a = AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)) === null || _a === void 0 ? void 0 : _a.columnName) || attr;
32
- });
33
- }
34
- find(params) {
35
- var _a, _b, _c;
36
- return __awaiter(this, void 0, void 0, function* () {
37
- this.logger = DebugHelper.from(this, 'find');
38
- const { filters, limits, orderBy, options } = params || {};
39
- const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
40
- const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy)
41
- ? {}
42
- : {
43
- order_by: {
44
- type: `${this.tableName}_order_by!`,
45
- list: true,
46
- value: this.bindOrderByAttributes(orderBy, this.fields),
47
- },
48
- })), (isNil(filters)
49
- ? {}
50
- : {
51
- where: {
52
- value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
53
- type: `${this.tableName}_bool_exp`,
54
- required: true,
55
- },
56
- }));
57
- const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
58
- const aggregateFields = [
59
- ...(enableCount ? ['count'] : []),
60
- ...this.bindAggretageAttributes(params.options, this.fields),
61
- ];
62
- const result = yield this.query([
63
- {
64
- operation: this.tableName,
65
- fields: params.fields
66
- ? params.fields
67
- .map((fieldName) => {
68
- var _a;
69
- return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
70
- })
71
- .filter(Boolean)
72
- : this.fields,
73
- variables,
74
- },
75
- ...(aggregateFields.length > 0
76
- ? [
77
- {
78
- operation: `${this.tableName}_aggregate`,
79
- fields: [
80
- {
81
- aggregate: aggregateFields,
82
- },
83
- ],
84
- variables: variablesCount,
85
- },
86
- ]
87
- : []),
88
- ]);
89
- const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
90
- return Object.assign(Object.assign({ data, count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity }, (((_b = options === null || options === void 0 ? void 0 : options.minimal) === null || _b === void 0 ? void 0 : _b.length)
91
- ? {
92
- minimal: options.minimal.reduce((minimals, current) => {
93
- var _a;
94
- return (Object.assign(Object.assign({}, minimals), set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
95
- }, {}),
96
- }
97
- : {})), (((_c = options === null || options === void 0 ? void 0 : options.maximum) === null || _c === void 0 ? void 0 : _c.length)
98
- ? {
99
- maximum: options.maximum.reduce((maximums, current) => {
100
- var _a;
101
- return (Object.assign(Object.assign({}, maximums), set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
102
- }, {}),
103
- }
104
- : {}));
105
- });
106
- }
107
- };
108
- };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBUUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBSW5DLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0sc0JBQXVCLFNBQVEsU0FBUztRQUE5Qzs7WUE4R0wsMEJBQXFCLEdBQUcsQ0FBQyxPQUFpQyxFQUFFLE1BQWtDLEVBQUUsRUFBRSxDQUNoRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxpQ0FDYixHQUFHLEtBQ04sQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7cUJBQ3BHLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLElBQ2hGLEVBQ0YsRUFBRSxDQUNILENBQUE7WUFFSCw0QkFBdUIsR0FBRyxDQUN4QixVQUdDLEVBQ0QsTUFBa0MsRUFDbEMsRUFBRTs7Z0JBQUMsT0FBQTtvQkFDSCxHQUFHLENBQUMsQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxPQUFPLDBDQUFFLE1BQU07d0JBQzdCLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsYUFBVixV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RUFDRixFQUFFLENBQ0g7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNSOztTQUNGO0tBOENGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEZpbmRSZXBvc2l0b3J5LFxyXG4gIEZpbmRSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgRGVidWdIZWxwZXIsIGlzTmlsLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIsIEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2UsIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+LFxyXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PixcclxuPihcclxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcclxuKSA9PiB7XHJcbiAgcmV0dXJuIGNsYXNzIEZpbmRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgYXN5bmMgZmluZChwYXJhbXM/OiBGaW5kUmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PE1CYXNlPj4ge1xyXG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ2ZpbmQnKVxyXG5cclxuICAgICAgY29uc3QgeyBmaWx0ZXJzLCBsaW1pdHMsIG9yZGVyQnksIG9wdGlvbnMgfSA9IHBhcmFtcyB8fCB7fVxyXG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcclxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKG9yZGVyQnkpXHJcbiAgICAgICAgICA/IHt9XHJcbiAgICAgICAgICA6IHtcclxuICAgICAgICAgICAgICBvcmRlcl9ieToge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X29yZGVyX2J5IWAsXHJcbiAgICAgICAgICAgICAgICBsaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuYmluZE9yZGVyQnlBdHRyaWJ1dGVzKG9yZGVyQnksIHRoaXMuZmllbGRzKSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAuLi4oaXNOaWwoZmlsdGVycylcclxuICAgICAgICAgID8ge31cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgIHdoZXJlOiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLk1ha2VHcmFwaFFMV2hlcmUoZmlsdGVycywgdGhpcy5maWVsZHMpLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcclxuICAgICAgICAuLi4oaXNOaWwobGltaXRzKSA/IHt9IDogbGltaXRzKSxcclxuICAgICAgICAuLi52YXJpYWJsZXNDb3VudCxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBhZ2dyZWdhdGVGaWVsZHMgPSBbXHJcbiAgICAgICAgLi4uKGVuYWJsZUNvdW50ID8gWydjb3VudCddIDogW10pLFxyXG4gICAgICAgIC4uLnRoaXMuYmluZEFnZ3JldGFnZUF0dHJpYnV0ZXMocGFyYW1zLm9wdGlvbnMsIHRoaXMuZmllbGRzKSxcclxuICAgICAgXVxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxyXG4gICAgICAgICAgZmllbGRzOiBwYXJhbXMuZmllbGRzXHJcbiAgICAgICAgICAgID8gcGFyYW1zLmZpZWxkc1xyXG4gICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGZpZWxkTmFtZSksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgICAgICAgIDogdGhpcy5maWVsZHMsXHJcbiAgICAgICAgICB2YXJpYWJsZXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi4oYWdncmVnYXRlRmllbGRzLmxlbmd0aCA+IDBcclxuICAgICAgICAgID8gW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWAsXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZTogYWdncmVnYXRlRmllbGRzLFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzQ291bnQsXHJcbiAgICAgICAgICAgICAgfSBhcyBHcmFwaFFMUGFyYW1zPE1CYXNlPixcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgOiBbXSksXHJcbiAgICAgIF0pXHJcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93KSA9PiB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpKVxyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGNvdW50OiBlbmFibGVDb3VudCA/IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50IDogSW5maW5pdHksXHJcbiAgICAgICAgLi4uKG9wdGlvbnM/Lm1pbmltYWw/Lmxlbmd0aFxyXG4gICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgbWluaW1hbDogb3B0aW9ucy5taW5pbWFsLnJlZHVjZShcclxuICAgICAgICAgICAgICAgIChtaW5pbWFscywgY3VycmVudCkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgLi4uKG1pbmltYWxzIGFzIGFueSksXHJcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcclxuICAgICAgICAgICAgICAgICAgICBtaW5pbWFscyxcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1pbltcclxuICAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgKGN1cnJlbnQgYXMgYW55KVxyXG4gICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDoge30pLFxyXG4gICAgICAgIC4uLihvcHRpb25zPy5tYXhpbXVtPy5sZW5ndGhcclxuICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgIG1heGltdW06IG9wdGlvbnMubWF4aW11bS5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAobWF4aW11bXMsIGN1cnJlbnQpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLihtYXhpbXVtcyBhcyBhbnkpLFxyXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bXMsXHJcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudCxcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5tYXhbXHJcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5wb3AoKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcclxuICAgICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA6IHt9KSxcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJpbmRPcmRlckJ5QXR0cmlidXRlcyA9IChvcmRlckJ5OiBSZXBvc2l0b3J5T3JkZXJCeTxNQmFzZT4sIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pID0+XHJcbiAgICAgIE9iamVjdC5rZXlzKG9yZGVyQnkpLnJlZHVjZShcclxuICAgICAgICAoYWNjLCBjdXJyZW50KSA9PiAoe1xyXG4gICAgICAgICAgLi4uYWNjLFxyXG4gICAgICAgICAgW0F0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiwgZmllbGRzKVxyXG4gICAgICAgICAgICAuY29sdW1uTmFtZV06IG9yZGVyQnlbY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAge30sXHJcbiAgICAgIClcclxuXHJcbiAgICBiaW5kQWdncmV0YWdlQXR0cmlidXRlcyA9IChcclxuICAgICAgYWdncmVnYXRlczoge1xyXG4gICAgICAgIG1pbmltYWw/OiBGaW5kUmVwb3NpdG9yeVBhcmFtczxNQmFzZT5bJ29wdGlvbnMnXVsnbWluaW1hbCddXHJcbiAgICAgICAgbWF4aW11bT86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtYXhpbXVtJ11cclxuICAgICAgfSxcclxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICAgICkgPT4gW1xyXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWluaW1hbD8ubGVuZ3RoXHJcbiAgICAgICAgPyBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBtaW46IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWluaW1hbCwgZmllbGRzKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF1cclxuICAgICAgICA6IFtdKSxcclxuICAgICAgLi4uKGFnZ3JlZ2F0ZXM/Lm1heGltdW0/Lmxlbmd0aFxyXG4gICAgICAgID8gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbWF4OiB0aGlzLmJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zKGFnZ3JlZ2F0ZXM/Lm1heGltdW0sIGZpZWxkcyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgOiBbXSksXHJcbiAgICBdXHJcblxyXG4gICAgYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMgPSAoXHJcbiAgICAgIGF0dHJpYnV0ZXM6IEFycmF5PE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+IHwge30+LFxyXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgKSA9PlxyXG4gICAgICBhdHRyaWJ1dGVzLm1hcChcclxuICAgICAgICAoYXR0cikgPT5cclxuICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgIGF0dHIudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICBmaWVsZHMsXHJcbiAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IGF0dHIsXHJcbiAgICAgIClcclxuICB9XHJcbn1cclxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { DebugHelper, isNil, set } from '../../../utils';
3
+ import { AttributeOptionHelper, BindFilterQueryHelper } from './helpers';
4
+ export const withFindHasuraGraphQL = (MixinBase) => {
5
+ return class FindHasuraGraphQLMixin extends MixinBase {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.bindOrderByAttributes = (orderBy, fields) => Object.keys(orderBy).reduce((acc, current) => (Object.assign(Object.assign({}, acc), { [AttributeOptionHelper.FindByAttribute(current, fields)
9
+ .columnName]: orderBy[current] })), {});
10
+ this.bindAggretageAttributes = (aggregates, fields) => {
11
+ var _a, _b;
12
+ return [
13
+ ...(((_a = aggregates === null || aggregates === void 0 ? void 0 : aggregates.minimal) === null || _a === void 0 ? void 0 : _a.length)
14
+ ? [
15
+ {
16
+ min: this.bindAttributesToColumns(aggregates === null || aggregates === void 0 ? void 0 : aggregates.minimal, fields),
17
+ },
18
+ ]
19
+ : []),
20
+ ...(((_b = aggregates === null || aggregates === void 0 ? void 0 : aggregates.maximum) === null || _b === void 0 ? void 0 : _b.length)
21
+ ? [
22
+ {
23
+ max: this.bindAttributesToColumns(aggregates === null || aggregates === void 0 ? void 0 : aggregates.maximum, fields),
24
+ },
25
+ ]
26
+ : []),
27
+ ];
28
+ };
29
+ this.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => {
30
+ var _a;
31
+ return ((_a = AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)) === null || _a === void 0 ? void 0 : _a.columnName) || attr;
32
+ });
33
+ }
34
+ find(params) {
35
+ var _a, _b, _c;
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ this.logger = DebugHelper.from(this, 'find');
38
+ const { filters, limits, orderBy, options } = params || {};
39
+ const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
40
+ const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy)
41
+ ? {}
42
+ : {
43
+ order_by: {
44
+ type: `${this.tableName}_order_by!`,
45
+ list: true,
46
+ value: this.bindOrderByAttributes(orderBy, this.fields),
47
+ },
48
+ })), (isNil(filters)
49
+ ? {}
50
+ : {
51
+ where: {
52
+ value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
53
+ type: `${this.tableName}_bool_exp`,
54
+ required: true,
55
+ },
56
+ }));
57
+ const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
58
+ const aggregateFields = [
59
+ ...(enableCount ? ['count'] : []),
60
+ ...this.bindAggretageAttributes(params.options, this.fields),
61
+ ];
62
+ const result = yield this.query([
63
+ {
64
+ operation: this.tableName,
65
+ fields: params.fields
66
+ ? params.fields
67
+ .map((fieldName) => {
68
+ var _a;
69
+ return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
70
+ })
71
+ .filter(Boolean)
72
+ : this.fields,
73
+ variables,
74
+ },
75
+ ...(aggregateFields.length > 0
76
+ ? [
77
+ {
78
+ operation: `${this.tableName}_aggregate`,
79
+ fields: [
80
+ {
81
+ aggregate: aggregateFields,
82
+ },
83
+ ],
84
+ variables: variablesCount,
85
+ },
86
+ ]
87
+ : []),
88
+ ]);
89
+ const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
90
+ return Object.assign(Object.assign({ data, count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity }, (((_b = options === null || options === void 0 ? void 0 : options.minimal) === null || _b === void 0 ? void 0 : _b.length)
91
+ ? {
92
+ minimal: options.minimal.reduce((minimals, current) => {
93
+ var _a;
94
+ return (Object.assign(Object.assign({}, minimals), set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
95
+ }, {}),
96
+ }
97
+ : {})), (((_c = options === null || options === void 0 ? void 0 : options.maximum) === null || _c === void 0 ? void 0 : _c.length)
98
+ ? {
99
+ maximum: options.maximum.reduce((maximums, current) => {
100
+ var _a;
101
+ return (Object.assign(Object.assign({}, maximums), set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
102
+ }, {}),
103
+ }
104
+ : {}));
105
+ });
106
+ }
107
+ };
108
+ };
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBUUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBSW5DLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0sc0JBQXVCLFNBQVEsU0FBUztRQUE5Qzs7WUE4R0wsMEJBQXFCLEdBQUcsQ0FBQyxPQUFpQyxFQUFFLE1BQWtDLEVBQUUsRUFBRSxDQUNoRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxpQ0FDYixHQUFHLEtBQ04sQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7cUJBQ3BHLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLElBQ2hGLEVBQ0YsRUFBRSxDQUNILENBQUE7WUFFSCw0QkFBdUIsR0FBRyxDQUN4QixVQUdDLEVBQ0QsTUFBa0MsRUFDbEMsRUFBRTs7Z0JBQUMsT0FBQTtvQkFDSCxHQUFHLENBQUMsQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxPQUFPLDBDQUFFLE1BQU07d0JBQzdCLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsYUFBVixV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RUFDRixFQUFFLENBQ0g7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNSOztTQUNGO0tBOENGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaW5kUmVwb3NpdG9yeSxcbiAgRmluZFJlcG9zaXRvcnlQYXJhbXMsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgaXNOaWwsIE1peGluQ3Rvciwgc2V0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyLCBCaW5kRmlsdGVyUXVlcnlIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pID0+IHtcbiAgcmV0dXJuIGNsYXNzIEZpbmRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGFzeW5jIGZpbmQocGFyYW1zPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZmluZCcpXG5cbiAgICAgIGNvbnN0IHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5LCBvcHRpb25zIH0gPSBwYXJhbXMgfHwge31cbiAgICAgIGNvbnN0IGVuYWJsZUNvdW50ID0gb3B0aW9ucz8uZW5hYmxlQ291bnQgPz8gdHJ1ZVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KVxuICAgICAgICAgID8ge31cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgb3JkZXJfYnk6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCxcbiAgICAgICAgICAgICAgICBsaXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmJpbmRPcmRlckJ5QXR0cmlidXRlcyhvcmRlckJ5LCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgLi4uKGlzTmlsKGZpbHRlcnMpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfVxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgICAuLi4oaXNOaWwobGltaXRzKSA/IHt9IDogbGltaXRzKSxcbiAgICAgICAgLi4udmFyaWFibGVzQ291bnQsXG4gICAgICB9XG4gICAgICBjb25zdCBhZ2dyZWdhdGVGaWVsZHMgPSBbXG4gICAgICAgIC4uLihlbmFibGVDb3VudCA/IFsnY291bnQnXSA6IFtdKSxcbiAgICAgICAgLi4udGhpcy5iaW5kQWdncmV0YWdlQXR0cmlidXRlcyhwYXJhbXMub3B0aW9ucywgdGhpcy5maWVsZHMpLFxuICAgICAgXVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShbXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgIGZpZWxkczogcGFyYW1zLmZpZWxkc1xuICAgICAgICAgICAgPyBwYXJhbXMuZmllbGRzXG4gICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgIChmaWVsZE5hbWUpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gZmllbGROYW1lKSA/P1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGZpZWxkTmFtZSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgIDogdGhpcy5maWVsZHMsXG4gICAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICB9LFxuICAgICAgICAuLi4oYWdncmVnYXRlRmllbGRzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWAsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZTogYWdncmVnYXRlRmllbGRzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzQ291bnQsXG4gICAgICAgICAgICAgIH0gYXMgR3JhcGhRTFBhcmFtczxNQmFzZT4sXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdKVxuICAgICAgY29uc3QgZGF0YTogTUJhc2VbXSA9IHJlc3VsdFt0aGlzLnRhYmxlTmFtZV0ubWFwKChyb3cpID0+IHRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJvdykpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvdW50OiBlbmFibGVDb3VudCA/IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50IDogSW5maW5pdHksXG4gICAgICAgIC4uLihvcHRpb25zPy5taW5pbWFsPy5sZW5ndGhcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbWluaW1hbDogb3B0aW9ucy5taW5pbWFsLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobWluaW1hbHMsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi4obWluaW1hbHMgYXMgYW55KSxcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcbiAgICAgICAgICAgICAgICAgICAgbWluaW1hbHMsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1pbltcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIC4uLihvcHRpb25zPy5tYXhpbXVtPy5sZW5ndGhcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbWF4aW11bTogb3B0aW9ucy5tYXhpbXVtLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobWF4aW11bXMsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi4obWF4aW11bXMgYXMgYW55KSxcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bXMsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1heFtcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgYmluZE9yZGVyQnlBdHRyaWJ1dGVzID0gKG9yZGVyQnk6IFJlcG9zaXRvcnlPcmRlckJ5PE1CYXNlPiwgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPikgPT5cbiAgICAgIE9iamVjdC5rZXlzKG9yZGVyQnkpLnJlZHVjZShcbiAgICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW0F0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiwgZmllbGRzKVxuICAgICAgICAgICAgLmNvbHVtbk5hbWVdOiBvcmRlckJ5W2N1cnJlbnQgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApXG5cbiAgICBiaW5kQWdncmV0YWdlQXR0cmlidXRlcyA9IChcbiAgICAgIGFnZ3JlZ2F0ZXM6IHtcbiAgICAgICAgbWluaW1hbD86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtaW5pbWFsJ11cbiAgICAgICAgbWF4aW11bT86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtYXhpbXVtJ11cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICkgPT4gW1xuICAgICAgLi4uKGFnZ3JlZ2F0ZXM/Lm1pbmltYWw/Lmxlbmd0aFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWluOiB0aGlzLmJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zKGFnZ3JlZ2F0ZXM/Lm1pbmltYWwsIGZpZWxkcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWF4aW11bT8ubGVuZ3RoXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtYXg6IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWF4aW11bSwgZmllbGRzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICBdXG5cbiAgICBiaW5kQXR0cmlidXRlc1RvQ29sdW1ucyA9IChcbiAgICAgIGF0dHJpYnV0ZXM6IEFycmF5PE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+IHwge30+LFxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICApID0+XG4gICAgICBhdHRyaWJ1dGVzLm1hcChcbiAgICAgICAgKGF0dHIpID0+XG4gICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgIGF0dHIudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgYXR0cixcbiAgICAgIClcbiAgfVxufVxuIl19