@infrab4a/connect 3.2.0-beta.1 → 3.2.0

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 (594) hide show
  1. package/README.md +24 -24
  2. package/bundles/infrab4a-connect.umd.js +4484 -4504
  3. package/bundles/infrab4a-connect.umd.js.map +1 -1
  4. package/domain/catalog/index.d.ts +2 -2
  5. package/domain/catalog/models/category.d.ts +24 -24
  6. package/domain/catalog/models/enums/index.d.ts +2 -2
  7. package/domain/catalog/models/enums/product-genders.enum.d.ts +5 -5
  8. package/domain/catalog/models/enums/shops.enum.d.ts +6 -6
  9. package/domain/catalog/models/index.d.ts +6 -6
  10. package/domain/catalog/models/kit-product.d.ts +12 -12
  11. package/domain/catalog/models/product.d.ts +39 -38
  12. package/domain/catalog/models/types/category-condition.type.d.ts +4 -4
  13. package/domain/catalog/models/types/category-filter.type.d.ts +4 -4
  14. package/domain/catalog/models/types/category-metadata.type.d.ts +4 -4
  15. package/domain/catalog/models/types/index.d.ts +10 -10
  16. package/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  17. package/domain/catalog/models/types/product-metadata.type.d.ts +4 -4
  18. package/domain/catalog/models/types/product-review.type.d.ts +17 -17
  19. package/domain/catalog/models/types/shop-description.type.d.ts +7 -7
  20. package/domain/catalog/models/types/shop-price.type.d.ts +6 -6
  21. package/domain/catalog/models/types/stock.type.d.ts +3 -3
  22. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -4
  23. package/domain/catalog/models/variant.d.ts +18 -18
  24. package/domain/catalog/repositories/category.repository.d.ts +15 -15
  25. package/domain/catalog/repositories/index.d.ts +4 -4
  26. package/domain/catalog/repositories/product.repository.d.ts +12 -12
  27. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -4
  28. package/domain/catalog/repositories/variant.repository.d.ts +4 -4
  29. package/domain/generic/index.d.ts +2 -2
  30. package/domain/generic/model/base.model.d.ts +10 -10
  31. package/domain/generic/model/identifier-fields.d.ts +4 -4
  32. package/domain/generic/model/index.d.ts +3 -3
  33. package/domain/generic/model/types/base-model-builder.type.d.ts +15 -15
  34. package/domain/generic/model/types/identifier-model.type.d.ts +7 -7
  35. package/domain/generic/model/types/index.d.ts +5 -5
  36. package/domain/generic/model/types/model-base-structure.type.d.ts +6 -6
  37. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -12
  38. package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -4
  39. package/domain/generic/repository/create.repository.d.ts +8 -8
  40. package/domain/generic/repository/crud.repository.d.ts +19 -19
  41. package/domain/generic/repository/delete.repository.d.ts +7 -7
  42. package/domain/generic/repository/enums/index.d.ts +2 -2
  43. package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -7
  44. package/domain/generic/repository/enums/where.enum.d.ts +14 -14
  45. package/domain/generic/repository/find.repository.d.ts +11 -11
  46. package/domain/generic/repository/get.repository.d.ts +5 -5
  47. package/domain/generic/repository/index.d.ts +9 -9
  48. package/domain/generic/repository/read.repository.d.ts +14 -14
  49. package/domain/generic/repository/types/index.d.ts +6 -6
  50. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -13
  51. package/domain/generic/repository/types/repository-find-result.type.d.ts +4 -4
  52. package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -4
  53. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -5
  54. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -11
  55. package/domain/generic/repository/types/where-options.type.d.ts +2 -2
  56. package/domain/generic/repository/update.repository.d.ts +6 -6
  57. package/domain/index.d.ts +6 -6
  58. package/domain/location/index.d.ts +1 -1
  59. package/domain/location/models/address.d.ts +22 -22
  60. package/domain/location/models/index.d.ts +2 -2
  61. package/domain/location/models/types/index.d.ts +3 -3
  62. package/domain/location/models/types/location-bound.type.d.ts +6 -6
  63. package/domain/location/models/types/location-geometry.type.d.ts +7 -7
  64. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -4
  65. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -19
  66. package/domain/shop-settings/enums/index.d.ts +2 -2
  67. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -19
  68. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -9
  69. package/domain/shop-settings/helpers/index.d.ts +1 -1
  70. package/domain/shop-settings/index.d.ts +4 -4
  71. package/domain/shop-settings/models/home.d.ts +18 -18
  72. package/domain/shop-settings/models/index.d.ts +3 -4
  73. package/domain/shop-settings/models/shop-menu.d.ts +7 -7
  74. package/domain/shop-settings/models/types/banner.type.d.ts +6 -6
  75. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -5
  76. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -15
  77. package/domain/shop-settings/models/types/index.d.ts +5 -10
  78. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -8
  79. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -8
  80. package/domain/shop-settings/repositories/home.repository.d.ts +4 -4
  81. package/domain/shop-settings/repositories/index.d.ts +2 -3
  82. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -4
  83. package/domain/shopping/index.d.ts +2 -2
  84. package/domain/shopping/models/buy-2-win.d.ts +16 -16
  85. package/domain/shopping/models/checkout.d.ts +27 -27
  86. package/domain/shopping/models/coupons/coupon.d.ts +32 -32
  87. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -5
  88. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -4
  89. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -4
  90. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -8
  91. package/domain/shopping/models/coupons/enums/index.d.ts +3 -3
  92. package/domain/shopping/models/coupons/index.d.ts +2 -2
  93. package/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -5
  94. package/domain/shopping/models/enums/index.d.ts +2 -2
  95. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -10
  96. package/domain/shopping/models/index.d.ts +11 -11
  97. package/domain/shopping/models/line-item.d.ts +8 -8
  98. package/domain/shopping/models/order.d.ts +9 -9
  99. package/domain/shopping/models/payment.d.ts +67 -67
  100. package/domain/shopping/models/shipping-method.d.ts +16 -16
  101. package/domain/shopping/models/subscription/checkout.d.ts +21 -21
  102. package/domain/shopping/models/subscription/index.d.ts +2 -2
  103. package/domain/shopping/models/subscription/plan.d.ts +10 -10
  104. package/domain/shopping/models/types/index.d.ts +7 -7
  105. package/domain/shopping/models/types/payment-address.type.d.ts +12 -12
  106. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -7
  107. package/domain/shopping/models/types/payment-card.type.d.ts +14 -14
  108. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -18
  109. package/domain/shopping/models/types/payment-document.type.d.ts +6 -6
  110. package/domain/shopping/models/types/payment-item.type.d.ts +11 -11
  111. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -10
  112. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -4
  113. package/domain/shopping/repositories/checkout.repository.d.ts +4 -4
  114. package/domain/shopping/repositories/coupon.repository.d.ts +4 -4
  115. package/domain/shopping/repositories/index.d.ts +7 -7
  116. package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -3
  117. package/domain/shopping/repositories/order.repository.d.ts +4 -4
  118. package/domain/shopping/repositories/payment.repository.d.ts +4 -4
  119. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -4
  120. package/domain/shopping/repositories/subscription/index.d.ts +2 -2
  121. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -4
  122. package/domain/users/errors/index.d.ts +3 -3
  123. package/domain/users/errors/unauthorized.error.d.ts +5 -5
  124. package/domain/users/errors/user-already-registered.error.d.ts +5 -5
  125. package/domain/users/errors/weak-password.error.d.ts +5 -5
  126. package/domain/users/index.d.ts +5 -5
  127. package/domain/users/models/beauty-profile.d.ts +11 -11
  128. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -5
  129. package/domain/users/models/enums/area.enum.d.ts +11 -11
  130. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -9
  131. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -7
  132. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -6
  133. package/domain/users/models/enums/body-problems.enum.d.ts +11 -11
  134. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -7
  135. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -5
  136. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -7
  137. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -10
  138. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -8
  139. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -8
  140. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -5
  141. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -10
  142. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -10
  143. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -8
  144. package/domain/users/models/enums/hair-types.enum.d.ts +7 -7
  145. package/domain/users/models/enums/index.d.ts +20 -20
  146. package/domain/users/models/enums/office-position.enum.d.ts +6 -6
  147. package/domain/users/models/enums/product-spents.enum.d.ts +8 -8
  148. package/domain/users/models/enums/user-type.enum.d.ts +8 -8
  149. package/domain/users/models/index.d.ts +7 -7
  150. package/domain/users/models/lead.d.ts +7 -7
  151. package/domain/users/models/subscription/edition.d.ts +16 -16
  152. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -3
  153. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -4
  154. package/domain/users/models/subscription/enums/index.d.ts +4 -4
  155. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -5
  156. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -4
  157. package/domain/users/models/subscription/index.d.ts +4 -4
  158. package/domain/users/models/subscription/payment.d.ts +13 -13
  159. package/domain/users/models/subscription/subscription.d.ts +28 -28
  160. package/domain/users/models/user-address.d.ts +7 -7
  161. package/domain/users/models/user-payment-method.d.ts +14 -14
  162. package/domain/users/models/user.d.ts +28 -28
  163. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -4
  164. package/domain/users/repositories/edition.repository.d.ts +4 -4
  165. package/domain/users/repositories/index.d.ts +8 -8
  166. package/domain/users/repositories/lead.repository.d.ts +4 -4
  167. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -4
  168. package/domain/users/repositories/subscription.repository.d.ts +4 -4
  169. package/domain/users/repositories/user-address.repository.d.ts +4 -4
  170. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -4
  171. package/domain/users/repositories/user.repository.d.ts +6 -6
  172. package/domain/users/services/authentication.service.d.ts +12 -12
  173. package/domain/users/services/index.d.ts +3 -3
  174. package/domain/users/services/register.service.d.ts +7 -7
  175. package/domain/users/services/types/basic-user-data.type.d.ts +4 -4
  176. package/domain/users/services/types/index.d.ts +1 -1
  177. package/domain/users/use-cases/authentication.d.ts +21 -21
  178. package/domain/users/use-cases/index.d.ts +4 -4
  179. package/domain/users/use-cases/recovery-password.d.ts +6 -6
  180. package/domain/users/use-cases/register.d.ts +13 -13
  181. package/domain/users/use-cases/signout.d.ts +6 -6
  182. package/errors/duplicated-results.error.d.ts +5 -5
  183. package/errors/index.d.ts +4 -4
  184. package/errors/invalid-argument.error.d.ts +5 -5
  185. package/errors/not-found.error.d.ts +5 -5
  186. package/errors/required-argument.error.d.ts +6 -6
  187. package/esm2015/domain/catalog/index.js +3 -3
  188. package/esm2015/domain/catalog/models/category.js +10 -10
  189. package/esm2015/domain/catalog/models/enums/index.js +3 -3
  190. package/esm2015/domain/catalog/models/enums/product-genders.enum.js +7 -7
  191. package/esm2015/domain/catalog/models/enums/shops.enum.js +8 -8
  192. package/esm2015/domain/catalog/models/index.js +7 -7
  193. package/esm2015/domain/catalog/models/kit-product.js +18 -18
  194. package/esm2015/domain/catalog/models/product.js +17 -17
  195. package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -2
  196. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -2
  197. package/esm2015/domain/catalog/models/types/category-metadata.type.js +2 -2
  198. package/esm2015/domain/catalog/models/types/index.js +11 -11
  199. package/esm2015/domain/catalog/models/types/product-gender.type.js +2 -2
  200. package/esm2015/domain/catalog/models/types/product-metadata.type.js +2 -2
  201. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -2
  202. package/esm2015/domain/catalog/models/types/shop-description.type.js +2 -2
  203. package/esm2015/domain/catalog/models/types/shop-price.type.js +2 -2
  204. package/esm2015/domain/catalog/models/types/stock.type.js +2 -2
  205. package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -2
  206. package/esm2015/domain/catalog/models/variant.js +10 -10
  207. package/esm2015/domain/catalog/repositories/category.repository.js +2 -2
  208. package/esm2015/domain/catalog/repositories/index.js +5 -5
  209. package/esm2015/domain/catalog/repositories/product.repository.js +2 -2
  210. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -2
  211. package/esm2015/domain/catalog/repositories/variant.repository.js +2 -2
  212. package/esm2015/domain/generic/index.js +3 -3
  213. package/esm2015/domain/generic/model/base.model.js +23 -23
  214. package/esm2015/domain/generic/model/identifier-fields.js +2 -2
  215. package/esm2015/domain/generic/model/index.js +4 -4
  216. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -2
  217. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -2
  218. package/esm2015/domain/generic/model/types/index.js +6 -6
  219. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -2
  220. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -2
  221. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -2
  222. package/esm2015/domain/generic/repository/create.repository.js +2 -2
  223. package/esm2015/domain/generic/repository/crud.repository.js +2 -2
  224. package/esm2015/domain/generic/repository/delete.repository.js +2 -2
  225. package/esm2015/domain/generic/repository/enums/index.js +3 -3
  226. package/esm2015/domain/generic/repository/enums/update-option-actions.enum.js +9 -9
  227. package/esm2015/domain/generic/repository/enums/where.enum.js +16 -16
  228. package/esm2015/domain/generic/repository/find.repository.js +2 -2
  229. package/esm2015/domain/generic/repository/get.repository.js +2 -2
  230. package/esm2015/domain/generic/repository/index.js +10 -10
  231. package/esm2015/domain/generic/repository/read.repository.js +2 -2
  232. package/esm2015/domain/generic/repository/types/index.js +7 -7
  233. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -2
  234. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -2
  235. package/esm2015/domain/generic/repository/types/repository-limit-options.type.js +2 -2
  236. package/esm2015/domain/generic/repository/types/repository-order-by-list.type.js +2 -2
  237. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -2
  238. package/esm2015/domain/generic/repository/types/where-options.type.js +2 -2
  239. package/esm2015/domain/generic/repository/update.repository.js +2 -2
  240. package/esm2015/domain/index.js +7 -7
  241. package/esm2015/domain/location/index.js +2 -2
  242. package/esm2015/domain/location/models/address.js +7 -7
  243. package/esm2015/domain/location/models/index.js +3 -3
  244. package/esm2015/domain/location/models/types/index.js +4 -4
  245. package/esm2015/domain/location/models/types/location-bound.type.js +2 -2
  246. package/esm2015/domain/location/models/types/location-geometry.type.js +2 -2
  247. package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -2
  248. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -21
  249. package/esm2015/domain/shop-settings/enums/index.js +3 -3
  250. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -21
  251. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -46
  252. package/esm2015/domain/shop-settings/helpers/index.js +2 -2
  253. package/esm2015/domain/shop-settings/index.js +5 -5
  254. package/esm2015/domain/shop-settings/models/home.js +7 -7
  255. package/esm2015/domain/shop-settings/models/index.js +4 -5
  256. package/esm2015/domain/shop-settings/models/shop-menu.js +7 -7
  257. package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -2
  258. package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -2
  259. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -2
  260. package/esm2015/domain/shop-settings/models/types/index.js +6 -11
  261. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -2
  262. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -2
  263. package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -2
  264. package/esm2015/domain/shop-settings/repositories/index.js +3 -4
  265. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -2
  266. package/esm2015/domain/shopping/index.js +3 -3
  267. package/esm2015/domain/shopping/models/buy-2-win.js +14 -14
  268. package/esm2015/domain/shopping/models/checkout.js +38 -38
  269. package/esm2015/domain/shopping/models/coupons/coupon.js +38 -38
  270. package/esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js +7 -7
  271. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -6
  272. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +10 -10
  273. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +10 -10
  274. package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -4
  275. package/esm2015/domain/shopping/models/coupons/index.js +3 -3
  276. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +7 -7
  277. package/esm2015/domain/shopping/models/enums/index.js +3 -3
  278. package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -12
  279. package/esm2015/domain/shopping/models/index.js +12 -12
  280. package/esm2015/domain/shopping/models/line-item.js +4 -4
  281. package/esm2015/domain/shopping/models/order.js +11 -11
  282. package/esm2015/domain/shopping/models/payment.js +169 -169
  283. package/esm2015/domain/shopping/models/shipping-method.js +7 -7
  284. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -28
  285. package/esm2015/domain/shopping/models/subscription/index.js +3 -3
  286. package/esm2015/domain/shopping/models/subscription/plan.js +7 -7
  287. package/esm2015/domain/shopping/models/types/index.js +8 -8
  288. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -2
  289. package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -2
  290. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -2
  291. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -2
  292. package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -2
  293. package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -2
  294. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -2
  295. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -2
  296. package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -2
  297. package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -2
  298. package/esm2015/domain/shopping/repositories/index.js +8 -8
  299. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -2
  300. package/esm2015/domain/shopping/repositories/order.repository.js +2 -2
  301. package/esm2015/domain/shopping/repositories/payment.repository.js +2 -2
  302. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -2
  303. package/esm2015/domain/shopping/repositories/subscription/index.js +3 -3
  304. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -2
  305. package/esm2015/domain/users/errors/index.js +4 -4
  306. package/esm2015/domain/users/errors/unauthorized.error.js +8 -8
  307. package/esm2015/domain/users/errors/user-already-registered.error.js +8 -8
  308. package/esm2015/domain/users/errors/weak-password.error.js +8 -8
  309. package/esm2015/domain/users/index.js +6 -6
  310. package/esm2015/domain/users/models/beauty-profile.js +12 -12
  311. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -7
  312. package/esm2015/domain/users/models/enums/area.enum.js +13 -13
  313. package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -11
  314. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -9
  315. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -8
  316. package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -13
  317. package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -9
  318. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -7
  319. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -9
  320. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -12
  321. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -10
  322. package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -10
  323. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -7
  324. package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -12
  325. package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -12
  326. package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -10
  327. package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -9
  328. package/esm2015/domain/users/models/enums/index.js +21 -21
  329. package/esm2015/domain/users/models/enums/office-position.enum.js +8 -8
  330. package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -10
  331. package/esm2015/domain/users/models/enums/user-type.enum.js +10 -10
  332. package/esm2015/domain/users/models/index.js +8 -8
  333. package/esm2015/domain/users/models/lead.js +7 -7
  334. package/esm2015/domain/users/models/subscription/edition.js +7 -7
  335. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -5
  336. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -6
  337. package/esm2015/domain/users/models/subscription/enums/index.js +5 -5
  338. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -7
  339. package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -6
  340. package/esm2015/domain/users/models/subscription/index.js +5 -5
  341. package/esm2015/domain/users/models/subscription/payment.js +14 -14
  342. package/esm2015/domain/users/models/subscription/subscription.js +43 -43
  343. package/esm2015/domain/users/models/user-address.js +7 -7
  344. package/esm2015/domain/users/models/user-payment-method.js +7 -7
  345. package/esm2015/domain/users/models/user.js +26 -26
  346. package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -2
  347. package/esm2015/domain/users/repositories/edition.repository.js +2 -2
  348. package/esm2015/domain/users/repositories/index.js +9 -9
  349. package/esm2015/domain/users/repositories/lead.repository.js +2 -2
  350. package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -2
  351. package/esm2015/domain/users/repositories/subscription.repository.js +2 -2
  352. package/esm2015/domain/users/repositories/user-address.repository.js +2 -2
  353. package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -2
  354. package/esm2015/domain/users/repositories/user.repository.js +2 -2
  355. package/esm2015/domain/users/services/authentication.service.js +2 -2
  356. package/esm2015/domain/users/services/index.js +4 -4
  357. package/esm2015/domain/users/services/register.service.js +2 -2
  358. package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -2
  359. package/esm2015/domain/users/services/types/index.js +2 -2
  360. package/esm2015/domain/users/use-cases/authentication.js +40 -40
  361. package/esm2015/domain/users/use-cases/index.js +5 -5
  362. package/esm2015/domain/users/use-cases/recovery-password.js +12 -12
  363. package/esm2015/domain/users/use-cases/register.js +34 -34
  364. package/esm2015/domain/users/use-cases/signout.js +12 -12
  365. package/esm2015/errors/duplicated-results.error.js +8 -8
  366. package/esm2015/errors/index.js +5 -5
  367. package/esm2015/errors/invalid-argument.error.js +8 -8
  368. package/esm2015/errors/not-found.error.js +8 -8
  369. package/esm2015/errors/required-argument.error.js +9 -9
  370. package/esm2015/index.js +6 -6
  371. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +57 -57
  372. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -2
  373. package/esm2015/infra/elasticsearch/adapters/index.js +3 -3
  374. package/esm2015/infra/elasticsearch/index.js +4 -4
  375. package/esm2015/infra/elasticsearch/indexes/index.js +2 -2
  376. package/esm2015/infra/elasticsearch/indexes/products-index.js +93 -92
  377. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -2
  378. package/esm2015/infra/elasticsearch/types/index.js +2 -2
  379. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -52
  380. package/esm2015/infra/firebase/auth/index.js +3 -3
  381. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -26
  382. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -2
  383. package/esm2015/infra/firebase/firestore/index.js +4 -4
  384. package/esm2015/infra/firebase/firestore/mixins/index.js +10 -10
  385. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -31
  386. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -10
  387. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -18
  388. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +92 -92
  389. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +22 -22
  390. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -24
  391. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -17
  392. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -11
  393. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -45
  394. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +71 -71
  395. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -5
  396. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +52 -52
  397. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -14
  398. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -12
  399. package/esm2015/infra/firebase/firestore/repositories/index.js +5 -5
  400. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -56
  401. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +3 -4
  402. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -12
  403. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -12
  404. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -12
  405. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -12
  406. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -29
  407. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +9 -9
  408. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -9
  409. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +12 -12
  410. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -12
  411. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -12
  412. package/esm2015/infra/firebase/firestore/repositories/users/index.js +9 -9
  413. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -12
  414. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -14
  415. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -12
  416. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -14
  417. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -14
  418. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -14
  419. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +68 -68
  420. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -14
  421. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -2
  422. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -2
  423. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -2
  424. package/esm2015/infra/firebase/firestore/types/index.js +4 -4
  425. package/esm2015/infra/firebase/index.js +3 -3
  426. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -13
  427. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -15
  428. package/esm2015/infra/hasura-graphql/enums/index.js +3 -3
  429. package/esm2015/infra/hasura-graphql/index.js +5 -5
  430. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -31
  431. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -22
  432. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +72 -72
  433. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -4
  434. package/esm2015/infra/hasura-graphql/mixins/index.js +8 -8
  435. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -45
  436. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -10
  437. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -29
  438. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +93 -93
  439. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -35
  440. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -94
  441. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -56
  442. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -4
  443. package/esm2015/infra/hasura-graphql/models/index.js +5 -5
  444. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -15
  445. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -11
  446. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -9
  447. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +230 -228
  448. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -4
  449. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +455 -454
  450. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +116 -116
  451. package/esm2015/infra/hasura-graphql/repositories/index.js +2 -2
  452. package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -2
  453. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -2
  454. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -2
  455. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -2
  456. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -2
  457. package/esm2015/infra/hasura-graphql/types/index.js +9 -9
  458. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -2
  459. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -2
  460. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -2
  461. package/esm2015/infra/index.js +4 -4
  462. package/esm2015/infrab4a-connect.js +4 -4
  463. package/esm2015/utils/index.js +8 -8
  464. package/esm2015/utils/is-uuid.js +3 -3
  465. package/esm2015/utils/mixins/base.mixin.js +6 -6
  466. package/esm2015/utils/mixins/index.js +4 -4
  467. package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -2
  468. package/esm2015/utils/mixins/mixin-ctor.type.js +2 -2
  469. package/esm2015/utils/parse-datetime.js +14 -14
  470. package/esm2015/utils/types/array-element.type.js +2 -2
  471. package/esm2015/utils/types/index.js +3 -3
  472. package/esm2015/utils/types/prop.type.js +2 -2
  473. package/fesm2015/infrab4a-connect.js +3053 -3064
  474. package/fesm2015/infrab4a-connect.js.map +1 -1
  475. package/index.d.ts +5 -5
  476. package/infra/elasticsearch/adapters/axios.adapter.d.ts +14 -14
  477. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +7 -7
  478. package/infra/elasticsearch/adapters/index.d.ts +2 -2
  479. package/infra/elasticsearch/index.d.ts +3 -3
  480. package/infra/elasticsearch/indexes/index.d.ts +1 -1
  481. package/infra/elasticsearch/indexes/products-index.d.ts +15 -15
  482. package/infra/elasticsearch/types/elastic-search-result.d.ts +7 -7
  483. package/infra/elasticsearch/types/index.d.ts +1 -1
  484. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -12
  485. package/infra/firebase/auth/index.d.ts +2 -2
  486. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -8
  487. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -3
  488. package/infra/firebase/firestore/index.d.ts +3 -3
  489. package/infra/firebase/firestore/mixins/index.d.ts +9 -9
  490. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  491. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -4
  492. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -4
  493. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -4
  494. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -4
  495. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -4
  496. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -11
  497. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -7
  498. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -7
  499. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +17 -17
  500. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -4
  501. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +11 -11
  502. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -13
  503. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -8
  504. package/infra/firebase/firestore/repositories/index.d.ts +4 -4
  505. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -16
  506. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +2 -3
  507. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -8
  508. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -8
  509. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -8
  510. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -8
  511. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -12
  512. package/infra/firebase/firestore/repositories/shopping/index.d.ts +8 -8
  513. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -7
  514. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +8 -8
  515. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -8
  516. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -8
  517. package/infra/firebase/firestore/repositories/users/index.d.ts +8 -8
  518. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -8
  519. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -13
  520. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -8
  521. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -13
  522. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -13
  523. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -13
  524. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -17
  525. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -13
  526. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -6
  527. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -8
  528. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +12 -12
  529. package/infra/firebase/firestore/types/index.d.ts +3 -3
  530. package/infra/firebase/index.d.ts +2 -2
  531. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -11
  532. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -13
  533. package/infra/hasura-graphql/enums/index.d.ts +2 -2
  534. package/infra/hasura-graphql/index.d.ts +4 -4
  535. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -13
  536. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -6
  537. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -8
  538. package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -3
  539. package/infra/hasura-graphql/mixins/index.d.ts +7 -7
  540. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -8
  541. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -11
  542. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -7
  543. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +31 -31
  544. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -24
  545. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -11
  546. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -14
  547. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -6
  548. package/infra/hasura-graphql/models/index.d.ts +4 -4
  549. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -6
  550. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +14 -14
  551. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -9
  552. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +27 -27
  553. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -3
  554. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +28 -28
  555. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -14
  556. package/infra/hasura-graphql/repositories/index.d.ts +1 -1
  557. package/infra/hasura-graphql/types/fields.type.d.ts +2 -2
  558. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -21
  559. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -8
  560. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +36 -36
  561. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -7
  562. package/infra/hasura-graphql/types/index.d.ts +8 -8
  563. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -7
  564. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -7
  565. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -9
  566. package/infra/index.d.ts +3 -3
  567. package/infrab4a-connect.d.ts +5 -5
  568. package/package.json +1 -1
  569. package/utils/index.d.ts +7 -7
  570. package/utils/is-uuid.d.ts +1 -1
  571. package/utils/mixins/base.mixin.d.ts +3 -3
  572. package/utils/mixins/index.d.ts +3 -3
  573. package/utils/mixins/merge-constructor-params.type.d.ts +3 -3
  574. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  575. package/utils/parse-datetime.d.ts +1 -1
  576. package/utils/types/array-element.type.d.ts +1 -1
  577. package/utils/types/index.d.ts +2 -2
  578. package/utils/types/prop.type.d.ts +1 -1
  579. package/domain/shop-settings/models/shop-settings.d.ts +0 -9
  580. package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -10
  581. package/domain/shop-settings/models/types/shop-brands.type.d.ts +0 -10
  582. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +0 -5
  583. package/domain/shop-settings/models/types/shop-collection.type.d.ts +0 -8
  584. package/domain/shop-settings/models/types/shop-section.type.d.ts +0 -9
  585. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +0 -4
  586. package/esm2015/domain/shop-settings/models/shop-settings.js +0 -7
  587. package/esm2015/domain/shop-settings/models/types/shop-banner.type.js +0 -2
  588. package/esm2015/domain/shop-settings/models/types/shop-brands.type.js +0 -2
  589. package/esm2015/domain/shop-settings/models/types/shop-carousel.type.js +0 -2
  590. package/esm2015/domain/shop-settings/models/types/shop-collection.type.js +0 -2
  591. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +0 -2
  592. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +0 -2
  593. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +0 -12
  594. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +0 -8
@@ -1,93 +1,93 @@
1
- import { __awaiter } from "tslib";
2
- import { Where, } from '../../../domain';
3
- import { isNil, isObject } from '../../../utils';
4
- import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../enums';
5
- import { AttributeOptionHelper, FilterOptionHelper } from './helpers';
6
- export const withFindHasuraGraphQL = (MixinBase) => {
7
- return class FindHasuraGraphQLMixin extends MixinBase {
8
- constructor() {
9
- super(...arguments);
10
- this.makeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
11
- const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
12
- if (!columnOption.bindFindFilter)
13
- return Object.assign(Object.assign({}, variables), { [columnOption.columnName]: this.buildWhereSentence(fieldName, filter[fieldName], fields) });
14
- const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
15
- return Object.assign(Object.assign({}, variables), Object.keys(builtFilter).reduce((variablesList, columnName) => (Object.assign(Object.assign({}, variablesList), { [columnName]: this.buildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
- }, {});
17
- this.buildWhereSentence = (field, options, fields) => {
18
- const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
19
- if (!Array.isArray(options) &&
20
- isObject(options) &&
21
- isNil(options === null || options === void 0 ? void 0 : options.operator) &&
22
- isNil(options === null || options === void 0 ? void 0 : options.value) &&
23
- isNil(fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.to))
24
- return Object.keys(options).reduce((variables, key) => {
25
- const fieldOptions = AttributeOptionHelper.FindByAttribute(key, (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || fields);
26
- const columnName = fieldOptions.columnName;
27
- const columnFields = fieldOptions.fields;
28
- return Object.assign(Object.assign({}, variables), { [columnName]: this.buildWhereSentence(key, options[key], columnFields || []) });
29
- }, {});
30
- if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
- return {
32
- [fieldSentenceOptions.fields[0]]: this.buildOperatorSentence(options, fieldSentenceOptions),
33
- };
34
- if (isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
35
- options = Object.values(options)[0];
36
- return Array.isArray(options)
37
- ? options.reduce((whereSentence, option) => (Object.assign(Object.assign({}, whereSentence), this.buildOperatorSentence(option, fieldSentenceOptions))), {})
38
- : this.buildOperatorSentence(options, fieldSentenceOptions);
39
- };
40
- this.buildOperatorSentence = (options, fieldOption) => ({
41
- [this.getHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
- });
43
- this.getHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
- ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
- ? this.getHasuraJsonbOperator(options)
46
- : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))]
47
- : HasuraGraphQLWhere.EQUALS;
48
- this.getHasuraJsonbOperator = (options) => options.operator === Where.IN
49
- ? '_contains'
50
- : options.operator === Where.LIKE
51
- ? '_has_keys_any'
52
- : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))];
53
- }
54
- find(options) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const { filters, limits, orderBy } = options || {};
57
- const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } })), (isNil(filters)
58
- ? {}
59
- : {
60
- where: {
61
- value: this.makeGraphQLWhere(filters, this.fields),
62
- type: `${this.tableName}_bool_exp`,
63
- required: true,
64
- },
65
- }));
66
- const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
67
- const result = yield this.query([
68
- {
69
- operation: this.tableName,
70
- fields: options.fields
71
- ? options.fields
72
- .map((fieldName) => {
73
- var _a;
74
- return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
75
- })
76
- .filter(Boolean)
77
- : this.fields,
78
- variables,
79
- },
80
- {
81
- operation: `${this.tableName}_aggregate`,
82
- fields: [{ aggregate: ['count'] }],
83
- variables: variablesCount,
84
- },
85
- ]);
86
- const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
87
- const count = result[`${this.tableName}_aggregate`].aggregate.count;
88
- return { count, data };
89
- });
90
- }
91
- };
92
- };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVyRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFBOUM7O1lBa0RMLHFCQUFnQixHQUFHLENBQUMsTUFBcUMsRUFBRSxNQUFrQyxFQUFtQixFQUFFLENBQ2hILE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7Z0JBQzNFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FDeEQsU0FBeUQsRUFDekQsTUFBTSxDQUNQLENBQUE7Z0JBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjO29CQUM5Qix1Q0FDSyxTQUFTLEdBQ1QsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBZ0IsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDdkc7Z0JBRUgsTUFBTSxXQUFX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U0FBQTtLQStHRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGaW5kUmVwb3NpdG9yeSxcclxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcclxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcclxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcclxuICBSZXBvc2l0b3J5RmluZFJlc3VsdCxcclxuICBSZXBvc2l0b3J5TGltaXRPcHRpb25zLFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG4gIFdoZXJlLFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0LCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUsIEhhc3VyYUdyYXBoUUxXaGVyZSB9IGZyb20gJy4uL2VudW1zJ1xyXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcywgVmFyaWFibGVPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIsIEZpbHRlck9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxyXG4+KFxyXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxyXG4pID0+IHtcclxuICByZXR1cm4gY2xhc3MgRmluZEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICBhc3luYyBmaW5kKG9wdGlvbnM/OiB7XHJcbiAgICAgIGZpbHRlcnM/OiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPlxyXG4gICAgICBmaWVsZHM/OiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+W11cclxuICAgICAgbGltaXRzPzogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxNQmFzZT5cclxuICAgICAgb3JkZXJCeT86IFJlcG9zaXRvcnlPcmRlckJ5PE1CYXNlPlxyXG4gICAgfSk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XHJcbiAgICAgIGNvbnN0IHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5IH0gPSBvcHRpb25zIHx8IHt9XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlc0NvdW50ID0ge1xyXG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KSA/IHt9IDogeyBvcmRlcl9ieTogeyB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCwgbGlzdDogdHJ1ZSwgdmFsdWU6IG9yZGVyQnkgfSB9KSxcclxuICAgICAgICAuLi4oaXNOaWwoZmlsdGVycylcclxuICAgICAgICAgID8ge31cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgIHdoZXJlOiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5tYWtlR3JhcGhRTFdoZXJlKGZpbHRlcnMsIHRoaXMuZmllbGRzKSxcclxuICAgICAgICAgICAgICAgIHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9ib29sX2V4cGAsXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKGxpbWl0cykgPyB7fSA6IGxpbWl0cyksXHJcbiAgICAgICAgLi4udmFyaWFibGVzQ291bnQsXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3BlcmF0aW9uOiB0aGlzLnRhYmxlTmFtZSxcclxuICAgICAgICAgIGZpZWxkczogb3B0aW9ucy5maWVsZHNcclxuICAgICAgICAgICAgPyBvcHRpb25zLmZpZWxkc1xyXG4gICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGZpZWxkTmFtZSksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgICAgICAgIDogdGhpcy5maWVsZHMsXHJcbiAgICAgICAgICB2YXJpYWJsZXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcGVyYXRpb246IGAke3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgLFxyXG4gICAgICAgICAgZmllbGRzOiBbeyBhZ2dyZWdhdGU6IFsnY291bnQnXSB9XSxcclxuICAgICAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzQ291bnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSlcclxuICAgICAgY29uc3QgZGF0YTogTUJhc2VbXSA9IHJlc3VsdFt0aGlzLnRhYmxlTmFtZV0ubWFwKChyb3cpID0+IHRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJvdykpXHJcbiAgICAgIGNvbnN0IGNvdW50ID0gcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgXS5hZ2dyZWdhdGUuY291bnRcclxuXHJcbiAgICAgIHJldHVybiB7IGNvdW50LCBkYXRhIH1cclxuICAgIH1cclxuXHJcbiAgICBtYWtlR3JhcGhRTFdoZXJlID0gKGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pOiBWYXJpYWJsZU9wdGlvbnMgPT5cclxuICAgICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICBmaWVsZHMsXHJcbiAgICAgICAgKVxyXG5cclxuICAgICAgICBpZiAoIWNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcilcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlcyxcclxuICAgICAgICAgICAgLi4ueyBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShmaWVsZE5hbWUgYXMgYW55LCBmaWx0ZXJbZmllbGROYW1lXSwgZmllbGRzKSB9LFxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBidWlsdEZpbHRlciA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcclxuICAgICAgICAgIC4uLk9iamVjdC5rZXlzKGJ1aWx0RmlsdGVyKS5yZWR1Y2UoXHJcbiAgICAgICAgICAgICh2YXJpYWJsZXNMaXN0OiBWYXJpYWJsZU9wdGlvbnMsIGNvbHVtbk5hbWU6IHN0cmluZykgPT4gKHtcclxuICAgICAgICAgICAgICAuLi52YXJpYWJsZXNMaXN0LFxyXG4gICAgICAgICAgICAgIFtjb2x1bW5OYW1lXTogdGhpcy5idWlsZFdoZXJlU2VudGVuY2UoZmllbGROYW1lIGFzIGFueSwgYnVpbHRGaWx0ZXJbY29sdW1uTmFtZV0gYXMgYW55LCBmaWVsZHMpLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAge30sXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH1cclxuICAgICAgfSwge30pXHJcblxyXG4gICAgYnVpbGRXaGVyZVNlbnRlbmNlID0gKFxyXG4gICAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcclxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICAgICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XHJcbiAgICAgIGNvbnN0IGZpZWxkU2VudGVuY2VPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShmaWVsZCwgZmllbGRzKVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgICFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmXHJcbiAgICAgICAgaXNPYmplY3Qob3B0aW9ucykgJiZcclxuICAgICAgICBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiZcclxuICAgICAgICBpc05pbChvcHRpb25zPy52YWx1ZSkgJiZcclxuICAgICAgICBpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucz8udG8pXHJcbiAgICAgIClcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKCh2YXJpYWJsZXMsIGtleSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZmllbGRPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcclxuICAgICAgICAgICAga2V5IGFzIGFueSxcclxuICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnM/LmZpZWxkcyB8fCAoZmllbGRzIGFzIGFueSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcclxuICAgICAgICAgIGNvbnN0IGNvbHVtbkZpZWxkcyA9IGZpZWxkT3B0aW9ucy5maWVsZHNcclxuXHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgICAgIFtjb2x1bW5OYW1lXTogdGhpcy5idWlsZFdoZXJlU2VudGVuY2Uoa2V5IGFzIGFueSwgb3B0aW9uc1trZXldLCBjb2x1bW5GaWVsZHMgfHwgKFtdIGFzIGFueSkpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIHt9KVxyXG5cclxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmICFpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHMpKVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIGFueV06IHRoaXMuYnVpbGRPcGVyYXRvclNlbnRlbmNlKG9wdGlvbnMsIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIGFueSksXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpICYmICFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKVxyXG4gICAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XHJcblxyXG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKVxyXG4gICAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXHJcbiAgICAgICAgICAgICh3aGVyZVNlbnRlbmNlLCBvcHRpb24pID0+ICh7XHJcbiAgICAgICAgICAgICAgLi4ud2hlcmVTZW50ZW5jZSxcclxuICAgICAgICAgICAgICAuLi50aGlzLmJ1aWxkT3BlcmF0b3JTZW50ZW5jZShvcHRpb24sIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIGFueSksXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB7fSxcclxuICAgICAgICAgIClcclxuICAgICAgICA6IHRoaXMuYnVpbGRPcGVyYXRvclNlbnRlbmNlKG9wdGlvbnMsIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIGFueSlcclxuICAgIH1cclxuXHJcbiAgICBidWlsZE9wZXJhdG9yU2VudGVuY2UgPSAoXHJcbiAgICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+LFxyXG4gICAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgICApOiBWYXJpYWJsZU9wdGlvbnMgPT4gKHtcclxuICAgICAgW3RoaXMuZ2V0SGFzdXJhT3BlcmF0b3Iob3B0aW9ucywgZmllbGRPcHRpb24pXTogRmlsdGVyT3B0aW9uSGVscGVyLkdldFZhbHVlRnJvbUZpbHRlcihvcHRpb25zLCBmaWVsZE9wdGlvbiksXHJcbiAgICB9KVxyXG5cclxuICAgIGdldEhhc3VyYU9wZXJhdG9yID0gKFxyXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICAgIGZpZWxkT3B0aW9uOiBDb2x1bW5PcHRpb25zPGFueSwgYW55PixcclxuICAgICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxyXG4gICAgICBGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpXHJcbiAgICAgICAgPyBmaWVsZE9wdGlvbi50eXBlID09PSBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYlxyXG4gICAgICAgICAgPyB0aGlzLmdldEhhc3VyYUpzb25iT3BlcmF0b3Iob3B0aW9ucylcclxuICAgICAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xyXG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcclxuICAgICAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XHJcbiAgICAgICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcclxuXHJcbiAgICBnZXRIYXN1cmFKc29uYk9wZXJhdG9yID0gKFxyXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICApOiBIYXN1cmFHcmFwaFFMV2hlcmUgPT5cclxuICAgICAgb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU5cclxuICAgICAgICA/ICdfY29udGFpbnMnXHJcbiAgICAgICAgOiBvcHRpb25zLm9wZXJhdG9yID09PSBXaGVyZS5MSUtFXHJcbiAgICAgICAgPyAnX2hhc19rZXlzX2FueSdcclxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZVtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoSGFzdXJhR3JhcGhRTFdoZXJlKS5maW5kKFxyXG4gICAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XHJcbiAgICAgICAgICAgICAgICBncmFwaFFMT3BlcmF0b3IgPT09IE9iamVjdC5rZXlzKFdoZXJlKS5maW5kKChvcGVyYXRvcikgPT4gV2hlcmVbb3BlcmF0b3JdID09PSBvcHRpb25zPy5vcGVyYXRvciksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIF1cclxuICB9XHJcbn1cclxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { Where, } from '../../../domain';
3
+ import { isNil, isObject } from '../../../utils';
4
+ import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../enums';
5
+ import { AttributeOptionHelper, FilterOptionHelper } from './helpers';
6
+ export const withFindHasuraGraphQL = (MixinBase) => {
7
+ return class FindHasuraGraphQLMixin extends MixinBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.makeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
11
+ const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
12
+ if (!columnOption.bindFindFilter)
13
+ return Object.assign(Object.assign({}, variables), { [columnOption.columnName]: this.buildWhereSentence(fieldName, filter[fieldName], fields) });
14
+ const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
15
+ return Object.assign(Object.assign({}, variables), Object.keys(builtFilter).reduce((variablesList, columnName) => (Object.assign(Object.assign({}, variablesList), { [columnName]: this.buildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
+ }, {});
17
+ this.buildWhereSentence = (field, options, fields) => {
18
+ const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
19
+ if (!Array.isArray(options) &&
20
+ isObject(options) &&
21
+ isNil(options === null || options === void 0 ? void 0 : options.operator) &&
22
+ isNil(options === null || options === void 0 ? void 0 : options.value) &&
23
+ isNil(fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.to))
24
+ return Object.keys(options).reduce((variables, key) => {
25
+ const fieldOptions = AttributeOptionHelper.FindByAttribute(key, (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || fields);
26
+ const columnName = fieldOptions.columnName;
27
+ const columnFields = fieldOptions.fields;
28
+ return Object.assign(Object.assign({}, variables), { [columnName]: this.buildWhereSentence(key, options[key], columnFields || []) });
29
+ }, {});
30
+ if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
+ return {
32
+ [fieldSentenceOptions.fields[0]]: this.buildOperatorSentence(options, fieldSentenceOptions),
33
+ };
34
+ if (isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
35
+ options = Object.values(options)[0];
36
+ return Array.isArray(options)
37
+ ? options.reduce((whereSentence, option) => (Object.assign(Object.assign({}, whereSentence), this.buildOperatorSentence(option, fieldSentenceOptions))), {})
38
+ : this.buildOperatorSentence(options, fieldSentenceOptions);
39
+ };
40
+ this.buildOperatorSentence = (options, fieldOption) => ({
41
+ [this.getHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
+ });
43
+ this.getHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
+ ? this.getHasuraJsonbOperator(options)
46
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))]
47
+ : HasuraGraphQLWhere.EQUALS;
48
+ this.getHasuraJsonbOperator = (options) => options.operator === Where.IN
49
+ ? '_contains'
50
+ : options.operator === Where.LIKE
51
+ ? '_has_keys_any'
52
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))];
53
+ }
54
+ find(options) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const { filters, limits, orderBy } = options || {};
57
+ const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } })), (isNil(filters)
58
+ ? {}
59
+ : {
60
+ where: {
61
+ value: this.makeGraphQLWhere(filters, this.fields),
62
+ type: `${this.tableName}_bool_exp`,
63
+ required: true,
64
+ },
65
+ }));
66
+ const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
67
+ const result = yield this.query([
68
+ {
69
+ operation: this.tableName,
70
+ fields: options.fields
71
+ ? options.fields
72
+ .map((fieldName) => {
73
+ var _a;
74
+ return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
75
+ })
76
+ .filter(Boolean)
77
+ : this.fields,
78
+ variables,
79
+ },
80
+ {
81
+ operation: `${this.tableName}_aggregate`,
82
+ fields: [{ aggregate: ['count'] }],
83
+ variables: variablesCount,
84
+ },
85
+ ]);
86
+ const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
87
+ const count = result[`${this.tableName}_aggregate`].aggregate.count;
88
+ return { count, data };
89
+ });
90
+ }
91
+ };
92
+ };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVyRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFBOUM7O1lBa0RMLHFCQUFnQixHQUFHLENBQUMsTUFBcUMsRUFBRSxNQUFrQyxFQUFtQixFQUFFLENBQ2hILE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7Z0JBQzNFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FDeEQsU0FBeUQsRUFDekQsTUFBTSxDQUNQLENBQUE7Z0JBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjO29CQUM5Qix1Q0FDSyxTQUFTLEdBQ1QsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBZ0IsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDdkc7Z0JBRUgsTUFBTSxXQUFX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U0FBQTtLQStHRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmluZFJlcG9zaXRvcnksXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0LCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLCBIYXN1cmFHcmFwaFFMV2hlcmUgfSBmcm9tICcuLi9lbnVtcydcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyLCBGaWx0ZXJPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcbikgPT4ge1xuICByZXR1cm4gY2xhc3MgRmluZEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgYXN5bmMgZmluZChvcHRpb25zPzoge1xuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+XG4gICAgICBmaWVsZHM/OiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+W11cbiAgICAgIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8TUJhc2U+XG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+XG4gICAgfSk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XG4gICAgICBjb25zdCB7IGZpbHRlcnMsIGxpbWl0cywgb3JkZXJCeSB9ID0gb3B0aW9ucyB8fCB7fVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KSA/IHt9IDogeyBvcmRlcl9ieTogeyB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCwgbGlzdDogdHJ1ZSwgdmFsdWU6IG9yZGVyQnkgfSB9KSxcbiAgICAgICAgLi4uKGlzTmlsKGZpbHRlcnMpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLm1ha2VHcmFwaFFMV2hlcmUoZmlsdGVycywgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICAgIHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9ib29sX2V4cGAsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAgICAgLi4uKGlzTmlsKGxpbWl0cykgPyB7fSA6IGxpbWl0cyksXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxuICAgICAgfVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShbXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgIGZpZWxkczogb3B0aW9ucy5maWVsZHNcbiAgICAgICAgICAgID8gb3B0aW9ucy5maWVsZHNcbiAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBmaWVsZE5hbWUpID8/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gZmllbGROYW1lKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgOiB0aGlzLmZpZWxkcyxcbiAgICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IGAke3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgLFxuICAgICAgICAgIGZpZWxkczogW3sgYWdncmVnYXRlOiBbJ2NvdW50J10gfV0sXG4gICAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXNDb3VudCxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgICBjb25zdCBkYXRhOiBNQmFzZVtdID0gcmVzdWx0W3RoaXMudGFibGVOYW1lXS5tYXAoKHJvdykgPT4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocm93KSlcbiAgICAgIGNvbnN0IGNvdW50ID0gcmVzdWx0W2Ake3RoaXMudGFibGVOYW1lfV9hZ2dyZWdhdGVgXS5hZ2dyZWdhdGUuY291bnRcblxuICAgICAgcmV0dXJuIHsgY291bnQsIGRhdGEgfVxuICAgIH1cblxuICAgIG1ha2VHcmFwaFFMV2hlcmUgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPiwgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPik6IFZhcmlhYmxlT3B0aW9ucyA9PlxuICAgICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgIClcblxuICAgICAgICBpZiAoIWNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcilcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgICAgLi4ueyBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShmaWVsZE5hbWUgYXMgYW55LCBmaWx0ZXJbZmllbGROYW1lXSwgZmllbGRzKSB9LFxuICAgICAgICAgIH1cblxuICAgICAgICBjb25zdCBidWlsdEZpbHRlciA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyhidWlsdEZpbHRlcikucmVkdWNlKFxuICAgICAgICAgICAgKHZhcmlhYmxlc0xpc3Q6IFZhcmlhYmxlT3B0aW9ucywgY29sdW1uTmFtZTogc3RyaW5nKSA9PiAoe1xuICAgICAgICAgICAgICAuLi52YXJpYWJsZXNMaXN0LFxuICAgICAgICAgICAgICBbY29sdW1uTmFtZV06IHRoaXMuYnVpbGRXaGVyZVNlbnRlbmNlKGZpZWxkTmFtZSBhcyBhbnksIGJ1aWx0RmlsdGVyW2NvbHVtbk5hbWVdIGFzIGFueSwgZmllbGRzKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG5cbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXG4gICAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XG4gICAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIGZpZWxkcylcblxuICAgICAgaWYgKFxuICAgICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxuICAgICAgICBpc09iamVjdChvcHRpb25zKSAmJlxuICAgICAgICBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiZcbiAgICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICAgIGlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zPy50bylcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAga2V5IGFzIGFueSxcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxuICAgICAgICAgIClcbiAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcbiAgICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShrZXkgYXMgYW55LCBvcHRpb25zW2tleV0sIGNvbHVtbkZpZWxkcyB8fCAoW10gYXMgYW55KSksXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSlcblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmICFpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHMpKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHNbMF0gYXMgYW55XTogdGhpcy5idWlsZE9wZXJhdG9yU2VudGVuY2Uob3B0aW9ucywgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgYW55KSxcbiAgICAgICAgfVxuXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykgJiYgIUZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24ob3B0aW9ucykpXG4gICAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XG5cbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXG4gICAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXG4gICAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxuICAgICAgICAgICAgICAuLi50aGlzLmJ1aWxkT3BlcmF0b3JTZW50ZW5jZShvcHRpb24sIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIGFueSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgIClcbiAgICAgICAgOiB0aGlzLmJ1aWxkT3BlcmF0b3JTZW50ZW5jZShvcHRpb25zLCBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBhbnkpXG4gICAgfVxuXG4gICAgYnVpbGRPcGVyYXRvclNlbnRlbmNlID0gKFxuICAgICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT4sXG4gICAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICAgKTogVmFyaWFibGVPcHRpb25zID0+ICh7XG4gICAgICBbdGhpcy5nZXRIYXN1cmFPcGVyYXRvcihvcHRpb25zLCBmaWVsZE9wdGlvbildOiBGaWx0ZXJPcHRpb25IZWxwZXIuR2V0VmFsdWVGcm9tRmlsdGVyKG9wdGlvbnMsIGZpZWxkT3B0aW9uKSxcbiAgICB9KVxuXG4gICAgZ2V0SGFzdXJhT3BlcmF0b3IgPSAoXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgICBGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpXG4gICAgICAgID8gZmllbGRPcHRpb24udHlwZSA9PT0gSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmJcbiAgICAgICAgICA/IHRoaXMuZ2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxuICAgICAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXG4gICAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXVxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcblxuICAgIGdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSAoXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgICBvcHRpb25zLm9wZXJhdG9yID09PSBXaGVyZS5JTlxuICAgICAgICA/ICdfY29udGFpbnMnXG4gICAgICAgIDogb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRVxuICAgICAgICA/ICdfaGFzX2tleXNfYW55J1xuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZVtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICBncmFwaFFMT3BlcmF0b3IgPT09IE9iamVjdC5rZXlzKFdoZXJlKS5maW5kKChvcGVyYXRvcikgPT4gV2hlcmVbb3BlcmF0b3JdID09PSBvcHRpb25zPy5vcGVyYXRvciksXG4gICAgICAgICAgICApXG4gICAgICAgICAgXVxuICB9XG59XG4iXX0=
@@ -1,35 +1,35 @@
1
- import { __awaiter } from "tslib";
2
- import { NotFoundError } from '../../../errors';
3
- import { isNil } from '../../../utils';
4
- import { AttributeOptionHelper } from './helpers';
5
- export const withGetHasuraGraphQL = (MixinBase) => {
6
- return class GetHasuraGraphQLMixin extends MixinBase {
7
- constructor(...params) {
8
- const options = params === null || params === void 0 ? void 0 : params[0];
9
- super(...params);
10
- this.getGraphQLOperation = (options === null || options === void 0 ? void 0 : options.getGraphQLOperation) || `${this.tableName}_by_pk`;
11
- }
12
- get(identifiers) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- const instance = this.model.toInstance(identifiers);
15
- const result = yield this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
16
- var _a;
17
- if (isNil(instance[identifier]))
18
- return ids;
19
- const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
20
- const value = ((_a = columnOption === null || columnOption === void 0 ? void 0 : columnOption.to) === null || _a === void 0 ? void 0 : _a.call(columnOption, identifiers[identifier.toString()], instance)) || identifiers[identifier.toString()];
21
- return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
22
- type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
23
- value,
24
- required: true,
25
- } });
26
- }, {}));
27
- const data = result[this.getGraphQLOperation];
28
- if (isNil(data))
29
- throw new NotFoundError(`${instance.constructor.name} not found`);
30
- return this.convertDataFromHasura(result[this.getGraphQLOperation]);
31
- });
32
- }
33
- };
34
- };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRWpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUssR0FBRyxDQUFDLFdBQXVDOztnQkFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFOztvQkFDdEQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFBO29CQUUzQyxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkYsTUFBTSxLQUFLLEdBQ1QsQ0FBQSxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxFQUFFLCtDQUFoQixZQUFZLEVBQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFFeEcsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO2dCQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtnQkFFbEYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7WUFDckUsQ0FBQztTQUFBO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycydcclxuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29uc3RydWN0b3JQYXJhbXMgPSB7XHJcbiAgZ2V0R3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aEdldEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxyXG4+KFxyXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxyXG4pID0+IHtcclxuICByZXR1cm4gY2xhc3MgR2V0SGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgR2V0UmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgZ2V0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXHJcblxyXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cclxuXHJcbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcclxuXHJcbiAgICAgIHRoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmdldEdyYXBoUUxPcGVyYXRpb24gfHwgYCR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChpZGVudGlmaWVyczogR2V0UmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XHJcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzKVxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFxyXG4gICAgICAgIHRoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbixcclxuICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2VbaWRlbnRpZmllcl0pKSByZXR1cm4gaWRzXHJcblxyXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID1cclxuICAgICAgICAgICAgY29sdW1uT3B0aW9uPy50bz8uKGlkZW50aWZpZXJzW2lkZW50aWZpZXIudG9TdHJpbmcoKV0sIGluc3RhbmNlKSB8fCBpZGVudGlmaWVyc1tpZGVudGlmaWVyLnRvU3RyaW5nKCldXHJcblxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaWRzLFxyXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcclxuICAgICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB7fSksXHJcbiAgICAgIClcclxuICAgICAgY29uc3QgZGF0YSA9IHJlc3VsdFt0aGlzLmdldEdyYXBoUUxPcGVyYXRpb25dXHJcblxyXG4gICAgICBpZiAoaXNOaWwoZGF0YSkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGAke2luc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWV9IG5vdCBmb3VuZGApXHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl0pXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { __awaiter } from "tslib";
2
+ import { NotFoundError } from '../../../errors';
3
+ import { isNil } from '../../../utils';
4
+ import { AttributeOptionHelper } from './helpers';
5
+ export const withGetHasuraGraphQL = (MixinBase) => {
6
+ return class GetHasuraGraphQLMixin extends MixinBase {
7
+ constructor(...params) {
8
+ const options = params === null || params === void 0 ? void 0 : params[0];
9
+ super(...params);
10
+ this.getGraphQLOperation = (options === null || options === void 0 ? void 0 : options.getGraphQLOperation) || `${this.tableName}_by_pk`;
11
+ }
12
+ get(identifiers) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ const instance = this.model.toInstance(identifiers);
15
+ const result = yield this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
16
+ var _a;
17
+ if (isNil(instance[identifier]))
18
+ return ids;
19
+ const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
20
+ const value = ((_a = columnOption === null || columnOption === void 0 ? void 0 : columnOption.to) === null || _a === void 0 ? void 0 : _a.call(columnOption, identifiers[identifier.toString()], instance)) || identifiers[identifier.toString()];
21
+ return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
22
+ type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
23
+ value,
24
+ required: true,
25
+ } });
26
+ }, {}));
27
+ const data = result[this.getGraphQLOperation];
28
+ if (isNil(data))
29
+ throw new NotFoundError(`${instance.constructor.name} not found`);
30
+ return this.convertDataFromHasura(result[this.getGraphQLOperation]);
31
+ });
32
+ }
33
+ };
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFhLE1BQU0sZ0JBQWdCLENBQUE7QUFHakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRWpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUssR0FBRyxDQUFDLFdBQXVDOztnQkFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFOztvQkFDdEQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFBO29CQUUzQyxNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDbkYsTUFBTSxLQUFLLEdBQ1QsQ0FBQSxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxFQUFFLCtDQUFoQixZQUFZLEVBQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFFeEcsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO2dCQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtnQkFFbEYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7WUFDckUsQ0FBQztTQUFBO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBpc05pbCwgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xuICBnZXRHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoR2V0SGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBHZXRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHZXRSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgZ2V0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy5nZXRHcmFwaFFMT3BlcmF0aW9uIHx8IGAke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICB9XG5cbiAgICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoaWRlbnRpZmllcnMpXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFxuICAgICAgICB0aGlzLmdldEdyYXBoUUxPcGVyYXRpb24sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICBjb2x1bW5PcHRpb24/LnRvPy4oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpIHx8IGlkZW50aWZpZXJzW2lkZW50aWZpZXIudG9TdHJpbmcoKV1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZihjb2x1bW5PcHRpb24udHlwZSB8fCB2YWx1ZSksXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSksXG4gICAgICApXG4gICAgICBjb25zdCBkYXRhID0gcmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl1cblxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgJHtpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lfSBub3QgZm91bmRgKVxuXG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocmVzdWx0W3RoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbl0pXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,94 +1,94 @@
1
- import { __awaiter } from "tslib";
2
- import { mutation, query } from 'gql-query-builder';
3
- import fetch from 'node-fetch';
4
- import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
5
- import { GraphQLFieldHelper } from './helpers';
6
- export const withHasuraGraphQL = (MixinBase) => {
7
- return class HasuraGraphQLMixin extends MixinBase {
8
- constructor(...params) {
9
- const options = params[0];
10
- super(...params);
11
- this.tableName = options.tableName;
12
- this.endpoint = options.endpoint;
13
- this.authOptions = options.authOptions;
14
- this.model = options.model;
15
- this.fields = options.fields || this.model.identifiersFields;
16
- }
17
- get headers() {
18
- return Object.assign(Object.assign(Object.assign({ 'Content-Type': 'application/json' }, (isNil(this.authOptions.authToken) ? {} : { Authorization: this.authOptions.authToken })), (isNil(this.authOptions.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions.adminSecret })), (isNil(this.authOptions.authRole)
19
- ? {}
20
- : { 'X-Hasura-Role': this.authOptions.authRole.role, 'X-Hasura-User-Id': this.authOptions.authRole.userId }));
21
- }
22
- mutation(operation, fields, variables) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const resultQuery = mutation({
25
- operation,
26
- variables,
27
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
28
- });
29
- return this.fetch(resultQuery);
30
- });
31
- }
32
- query(operation, fields, variables) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
35
- ? query(operation.map((option) => ({
36
- operation: option.operation,
37
- variables: option.variables,
38
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
39
- })))
40
- : query({
41
- operation,
42
- variables,
43
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
44
- });
45
- return this.fetch(resultQuery);
46
- });
47
- }
48
- fetch(params) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- const headers = this.headers;
51
- const response = yield fetch(`${this.endpoint}`, {
52
- method: 'POST',
53
- body: JSON.stringify(params),
54
- headers,
55
- });
56
- const result = yield response.json();
57
- if (!isNil(result.errors))
58
- throw new Error(JSON.stringify(result.errors));
59
- return result.data;
60
- });
61
- }
62
- getAttributeGraphQLTypeOf(value) {
63
- if (isUUID(value))
64
- return 'uuid';
65
- if (isString(value))
66
- return 'String';
67
- if (isBoolean(value))
68
- return 'Boolean';
69
- if (value instanceof Date)
70
- return 'timestamptz';
71
- if (isInteger(value))
72
- return 'Int';
73
- if (isNumber(value))
74
- return 'numeric';
75
- throw new Error('Type not implemented yet');
76
- }
77
- checkIfIsDateTimeAndParse(value) {
78
- if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value))
79
- return value;
80
- const date = parseISO(value);
81
- if (isNaN(date.getTime()))
82
- return value;
83
- return date;
84
- }
85
- convertDataFromHasura(data) {
86
- const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
87
- return this.model.toInstance(plain);
88
- }
89
- convertDataToHasura(instance, update = false) {
90
- return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
91
- }
92
- };
93
- };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUc5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFnRCxDQUFBO1FBQzlG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bXV0YXRpb24sIHF1ZXJ5IH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXHJcbmltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJ1xyXG5cclxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQge1xyXG4gIGlzQm9vbGVhbixcclxuICBpc0ludGVnZXIsXHJcbiAgaXNOYU4sXHJcbiAgaXNOaWwsXHJcbiAgaXNOdW1iZXIsXHJcbiAgaXNTdHJpbmcsXHJcbiAgaXNVVUlELFxyXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXHJcbiAgTWl4aW5DdG9yLFxyXG4gIHBhcnNlSVNPLFxyXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQge1xyXG4gIEdyYXBoUUxQYXJhbXMsXHJcbiAgR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zLFxyXG4gIEhhc3VyYUdyYXBoUUxGaWVsZHMsXHJcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXHJcbiAgVmFyaWFibGVPcHRpb25zLFxyXG59IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgR3JhcGhRTEZpZWxkSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xyXG4gIHRhYmxlTmFtZTogc3RyaW5nXHJcbiAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+XHJcbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxyXG4gIGVuZHBvaW50OiBzdHJpbmdcclxuICBhdXRoT3B0aW9uczogSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoSGFzdXJhR3JhcGhRTCA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oXHJcbiAgTWl4aW5CYXNlOiBULFxyXG4pOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+LCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiwgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFQ+Pj4gPT4ge1xyXG4gIHJldHVybiBjbGFzcyBIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgdGFibGVOYW1lOiBzdHJpbmdcclxuICAgIGVuZHBvaW50OiBzdHJpbmdcclxuICAgIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcclxuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxyXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxyXG5cclxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXHJcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYWRtaW5TZWNyZXQpID8ge30gOiB7ICdYLUhhc3VyYS1BZG1pbi1TZWNyZXQnOiB0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0IH0pLFxyXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlKVxyXG4gICAgICAgICAgPyB7fVxyXG4gICAgICAgICAgOiB7ICdYLUhhc3VyYS1Sb2xlJzogdGhpcy5hdXRoT3B0aW9ucy5hdXRoUm9sZS5yb2xlLCAnWC1IYXN1cmEtVXNlci1JZCc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUudXNlcklkIH0pLFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxyXG5cclxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxyXG5cclxuICAgICAgdGhpcy50YWJsZU5hbWUgPSBvcHRpb25zLnRhYmxlTmFtZVxyXG4gICAgICB0aGlzLmVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludFxyXG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xyXG4gICAgICB0aGlzLm1vZGVsID0gb3B0aW9ucy5tb2RlbFxyXG4gICAgICB0aGlzLmZpZWxkcyA9IG9wdGlvbnMuZmllbGRzIHx8ICh0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG11dGF0aW9uPFJldHVybkZpZWxkcyA9IGFueT4oXHJcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nLFxyXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICAgICAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zLFxyXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcclxuICAgICAgY29uc3QgcmVzdWx0UXVlcnkgPSBtdXRhdGlvbih7XHJcbiAgICAgICAgb3BlcmF0aW9uLFxyXG4gICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHF1ZXJ5PFJldHVybkZpZWxkcyA9IGFueT4oXHJcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nIHwgR3JhcGhRTFBhcmFtczxNQmFzZT5bXSxcclxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcclxuICAgICk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gR3JhcGhRTEZpZWxkSGVscGVyLkNoZWNrSXNHcmFwaFFMUGFyYW1zKG9wZXJhdGlvbilcclxuICAgICAgICA/IHF1ZXJ5KFxyXG4gICAgICAgICAgICBvcGVyYXRpb24ubWFwKChvcHRpb24pID0+ICh7XHJcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxyXG4gICAgICAgICAgICAgIHZhcmlhYmxlczogb3B0aW9uLnZhcmlhYmxlcyxcclxuICAgICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMob3B0aW9uLmZpZWxkcyksXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgIClcclxuICAgICAgICA6IHF1ZXJ5KHtcclxuICAgICAgICAgICAgb3BlcmF0aW9uLFxyXG4gICAgICAgICAgICB2YXJpYWJsZXMsXHJcbiAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZHMpLFxyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZldGNoPFJldHVybkZpZWxkcyA9IGFueT4ocGFyYW1zOiB7IHZhcmlhYmxlczogYW55OyBxdWVyeTogc3RyaW5nIH0pOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7dGhpcy5lbmRwb2ludH1gLCB7XHJcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKCFpc05pbChyZXN1bHQuZXJyb3JzKSkgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5lcnJvcnMpKVxyXG5cclxuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZjxGaWVsZFR5cGU+KHZhbHVlOiBGaWVsZFR5cGUpOiBzdHJpbmcge1xyXG4gICAgICBpZiAoaXNVVUlEKHZhbHVlIGFzIGFueSkpIHJldHVybiAndXVpZCdcclxuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXHJcbiAgICAgIGlmIChpc0Jvb2xlYW4odmFsdWUpKSByZXR1cm4gJ0Jvb2xlYW4nXHJcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiAndGltZXN0YW1wdHonXHJcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcclxuICAgICAgaWYgKGlzTnVtYmVyKHZhbHVlKSkgcmV0dXJuICdudW1lcmljJ1xyXG5cclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xyXG4gICAgICBpZiAoIS9eXFxkezR9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSkkLy50ZXN0KHZhbHVlKSkgcmV0dXJuIHZhbHVlXHJcblxyXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXHJcblxyXG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gdmFsdWVcclxuXHJcbiAgICAgIHJldHVybiBkYXRlXHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydERhdGFGcm9tSGFzdXJhKGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4pOiBNQmFzZSB7XHJcbiAgICAgIGNvbnN0IHBsYWluID0gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlRnJvbShkYXRhLCB0aGlzLmZpZWxkcylcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW4pXHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydERhdGFUb0hhc3VyYShpbnN0YW5jZTogTUJhc2UsIHVwZGF0ZSA9IGZhbHNlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiB7XHJcbiAgICAgIHJldHVybiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVUbyhpbnN0YW5jZSwgdGhpcy5maWVsZHMsIHVwZGF0ZSlcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { mutation, query } from 'gql-query-builder';
3
+ import fetch from 'node-fetch';
4
+ import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
5
+ import { GraphQLFieldHelper } from './helpers';
6
+ export const withHasuraGraphQL = (MixinBase) => {
7
+ return class HasuraGraphQLMixin extends MixinBase {
8
+ constructor(...params) {
9
+ const options = params[0];
10
+ super(...params);
11
+ this.tableName = options.tableName;
12
+ this.endpoint = options.endpoint;
13
+ this.authOptions = options.authOptions;
14
+ this.model = options.model;
15
+ this.fields = options.fields || this.model.identifiersFields;
16
+ }
17
+ get headers() {
18
+ return Object.assign(Object.assign(Object.assign({ 'Content-Type': 'application/json' }, (isNil(this.authOptions.authToken) ? {} : { Authorization: this.authOptions.authToken })), (isNil(this.authOptions.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions.adminSecret })), (isNil(this.authOptions.authRole)
19
+ ? {}
20
+ : { 'X-Hasura-Role': this.authOptions.authRole.role, 'X-Hasura-User-Id': this.authOptions.authRole.userId }));
21
+ }
22
+ mutation(operation, fields, variables) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const resultQuery = mutation({
25
+ operation,
26
+ variables,
27
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
28
+ });
29
+ return this.fetch(resultQuery);
30
+ });
31
+ }
32
+ query(operation, fields, variables) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
35
+ ? query(operation.map((option) => ({
36
+ operation: option.operation,
37
+ variables: option.variables,
38
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
39
+ })))
40
+ : query({
41
+ operation,
42
+ variables,
43
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
44
+ });
45
+ return this.fetch(resultQuery);
46
+ });
47
+ }
48
+ fetch(params) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const headers = this.headers;
51
+ const response = yield fetch(`${this.endpoint}`, {
52
+ method: 'POST',
53
+ body: JSON.stringify(params),
54
+ headers,
55
+ });
56
+ const result = yield response.json();
57
+ if (!isNil(result.errors))
58
+ throw new Error(JSON.stringify(result.errors));
59
+ return result.data;
60
+ });
61
+ }
62
+ getAttributeGraphQLTypeOf(value) {
63
+ if (isUUID(value))
64
+ return 'uuid';
65
+ if (isString(value))
66
+ return 'String';
67
+ if (isBoolean(value))
68
+ return 'Boolean';
69
+ if (value instanceof Date)
70
+ return 'timestamptz';
71
+ if (isInteger(value))
72
+ return 'Int';
73
+ if (isNumber(value))
74
+ return 'numeric';
75
+ throw new Error('Type not implemented yet');
76
+ }
77
+ checkIfIsDateTimeAndParse(value) {
78
+ if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value))
79
+ return value;
80
+ const date = parseISO(value);
81
+ if (isNaN(date.getTime()))
82
+ return value;
83
+ return date;
84
+ }
85
+ convertDataFromHasura(data) {
86
+ const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
87
+ return this.model.toInstance(plain);
88
+ }
89
+ convertDataToHasura(instance, update = false) {
90
+ return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
91
+ }
92
+ };
93
+ };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUc5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFnRCxDQUFBO1FBQzlG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bXV0YXRpb24sIHF1ZXJ5IH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCdcblxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHtcbiAgaXNCb29sZWFuLFxuICBpc0ludGVnZXIsXG4gIGlzTmFOLFxuICBpc05pbCxcbiAgaXNOdW1iZXIsXG4gIGlzU3RyaW5nLFxuICBpc1VVSUQsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1peGluQ3RvcixcbiAgcGFyc2VJU08sXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEZpZWxkcyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEdyYXBoUUxGaWVsZEhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxuICBlbmRwb2ludDogc3RyaW5nXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pXG4gICAgfVxuXG4gICAgYXN5bmMgbXV0YXRpb248UmV0dXJuRmllbGRzID0gYW55PihcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBxdWVyeTxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gR3JhcGhRTEZpZWxkSGVscGVyLkNoZWNrSXNHcmFwaFFMUGFyYW1zKG9wZXJhdGlvbilcbiAgICAgICAgPyBxdWVyeShcbiAgICAgICAgICAgIG9wZXJhdGlvbi5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxuICAgICAgICAgICAgICB2YXJpYWJsZXM6IG9wdGlvbi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhvcHRpb24uZmllbGRzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICApXG4gICAgICAgIDogcXVlcnkoe1xuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2g8UmV0dXJuRmllbGRzID0gYW55PihwYXJhbXM6IHsgdmFyaWFibGVzOiBhbnk7IHF1ZXJ5OiBzdHJpbmcgfSk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3RoaXMuZW5kcG9pbnR9YCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAoIWlzTmlsKHJlc3VsdC5lcnJvcnMpKSB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkocmVzdWx0LmVycm9ycykpXG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YVxuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2Y8RmllbGRUeXBlPih2YWx1ZTogRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICAgIGlmIChpc1VVSUQodmFsdWUgYXMgYW55KSkgcmV0dXJuICd1dWlkJ1xuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXG4gICAgICBpZiAoaXNCb29sZWFuKHZhbHVlKSkgcmV0dXJuICdCb29sZWFuJ1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICd0aW1lc3RhbXB0eidcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcbiAgICAgIGlmIChpc051bWJlcih2YWx1ZSkpIHJldHVybiAnbnVtZXJpYydcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxuICAgIH1cblxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xuICAgICAgaWYgKCEvXlxcZHs0fS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pJC8udGVzdCh2YWx1ZSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXG5cbiAgICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICByZXR1cm4gZGF0ZVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhRnJvbUhhc3VyYShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KTogTUJhc2Uge1xuICAgICAgY29uc3QgcGxhaW4gPSBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGRhdGEsIHRoaXMuZmllbGRzKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluKVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhVG9IYXN1cmEoaW5zdGFuY2U6IE1CYXNlLCB1cGRhdGUgPSBmYWxzZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4ge1xuICAgICAgcmV0dXJuIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGluc3RhbmNlLCB0aGlzLmZpZWxkcywgdXBkYXRlKVxuICAgIH1cbiAgfVxufVxuIl19