@infrab4a/connect 3.13.1 → 3.13.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/README.md +24 -24
  2. package/bundles/infrab4a-connect.umd.js +5273 -5261
  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-collection-children.d.ts +14 -14
  6. package/domain/catalog/models/category-filter.d.ts +9 -9
  7. package/domain/catalog/models/category.d.ts +29 -29
  8. package/domain/catalog/models/enums/index.d.ts +2 -2
  9. package/domain/catalog/models/enums/product-genders.enum.d.ts +5 -5
  10. package/domain/catalog/models/enums/shops.enum.d.ts +6 -6
  11. package/domain/catalog/models/filter-option.d.ts +10 -10
  12. package/domain/catalog/models/filter.d.ts +13 -13
  13. package/domain/catalog/models/index.d.ts +10 -10
  14. package/domain/catalog/models/kit-product.d.ts +12 -12
  15. package/domain/catalog/models/product.d.ts +45 -45
  16. package/domain/catalog/models/types/category-condition.type.d.ts +4 -4
  17. package/domain/catalog/models/types/category-metadata.type.d.ts +4 -4
  18. package/domain/catalog/models/types/category-product.d.ts +4 -4
  19. package/domain/catalog/models/types/index.d.ts +11 -11
  20. package/domain/catalog/models/types/product-evaluation.type.d.ts +6 -6
  21. package/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  22. package/domain/catalog/models/types/product-metadata.type.d.ts +4 -4
  23. package/domain/catalog/models/types/product-review.type.d.ts +17 -17
  24. package/domain/catalog/models/types/shop-description.type.d.ts +7 -7
  25. package/domain/catalog/models/types/shop-price.type.d.ts +6 -6
  26. package/domain/catalog/models/types/stock.type.d.ts +3 -3
  27. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -4
  28. package/domain/catalog/models/variant.d.ts +18 -18
  29. package/domain/catalog/repositories/category-collection-children.repository.d.ts +4 -4
  30. package/domain/catalog/repositories/category-filter.repository.d.ts +5 -5
  31. package/domain/catalog/repositories/category.repository.d.ts +15 -15
  32. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -4
  33. package/domain/catalog/repositories/filter.repository.d.ts +4 -4
  34. package/domain/catalog/repositories/index.d.ts +8 -8
  35. package/domain/catalog/repositories/product.repository.d.ts +13 -13
  36. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -4
  37. package/domain/catalog/repositories/variant.repository.d.ts +4 -4
  38. package/domain/generic/index.d.ts +2 -2
  39. package/domain/generic/model/base.model.d.ts +10 -10
  40. package/domain/generic/model/identifier-fields.d.ts +4 -4
  41. package/domain/generic/model/index.d.ts +3 -3
  42. package/domain/generic/model/types/base-model-builder.type.d.ts +15 -15
  43. package/domain/generic/model/types/identifier-model.type.d.ts +7 -7
  44. package/domain/generic/model/types/index.d.ts +5 -5
  45. package/domain/generic/model/types/model-base-structure.type.d.ts +6 -6
  46. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -12
  47. package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -4
  48. package/domain/generic/repository/create.repository.d.ts +8 -8
  49. package/domain/generic/repository/crud.repository.d.ts +19 -19
  50. package/domain/generic/repository/delete.repository.d.ts +7 -7
  51. package/domain/generic/repository/enums/index.d.ts +2 -2
  52. package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -7
  53. package/domain/generic/repository/enums/where.enum.d.ts +14 -14
  54. package/domain/generic/repository/find.repository.d.ts +14 -14
  55. package/domain/generic/repository/get.repository.d.ts +5 -5
  56. package/domain/generic/repository/index.d.ts +9 -9
  57. package/domain/generic/repository/read.repository.d.ts +14 -14
  58. package/domain/generic/repository/types/index.d.ts +6 -6
  59. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -13
  60. package/domain/generic/repository/types/repository-find-result.type.d.ts +4 -4
  61. package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -4
  62. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -5
  63. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -11
  64. package/domain/generic/repository/types/where-options.type.d.ts +2 -2
  65. package/domain/generic/repository/update.repository.d.ts +6 -6
  66. package/domain/index.d.ts +6 -6
  67. package/domain/location/index.d.ts +1 -1
  68. package/domain/location/models/address.d.ts +23 -23
  69. package/domain/location/models/index.d.ts +2 -2
  70. package/domain/location/models/types/index.d.ts +3 -3
  71. package/domain/location/models/types/location-bound.type.d.ts +6 -6
  72. package/domain/location/models/types/location-geometry.type.d.ts +7 -7
  73. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -4
  74. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -19
  75. package/domain/shop-settings/enums/index.d.ts +2 -2
  76. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -19
  77. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -9
  78. package/domain/shop-settings/helpers/index.d.ts +1 -1
  79. package/domain/shop-settings/index.d.ts +4 -4
  80. package/domain/shop-settings/models/home.d.ts +18 -18
  81. package/domain/shop-settings/models/index.d.ts +4 -4
  82. package/domain/shop-settings/models/shop-menu.d.ts +7 -7
  83. package/domain/shop-settings/models/shop-settings.d.ts +9 -9
  84. package/domain/shop-settings/models/types/banner.type.d.ts +6 -6
  85. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -5
  86. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -15
  87. package/domain/shop-settings/models/types/index.d.ts +10 -10
  88. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -8
  89. package/domain/shop-settings/models/types/shop-banner.type.d.ts +12 -12
  90. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -10
  91. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -5
  92. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -9
  93. package/domain/shop-settings/models/types/shop-section.type.d.ts +9 -9
  94. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -8
  95. package/domain/shop-settings/repositories/home.repository.d.ts +4 -4
  96. package/domain/shop-settings/repositories/index.d.ts +3 -3
  97. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -4
  98. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -4
  99. package/domain/shopping/index.d.ts +2 -2
  100. package/domain/shopping/models/buy-2-win.d.ts +18 -18
  101. package/domain/shopping/models/campaign-dashboard.d.ts +15 -15
  102. package/domain/shopping/models/campaign-hashtag.d.ts +18 -18
  103. package/domain/shopping/models/checkout.d.ts +27 -27
  104. package/domain/shopping/models/coupons/coupon.d.ts +46 -32
  105. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -5
  106. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -4
  107. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -4
  108. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -8
  109. package/domain/shopping/models/coupons/enums/index.d.ts +3 -3
  110. package/domain/shopping/models/coupons/index.d.ts +2 -2
  111. package/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -5
  112. package/domain/shopping/models/enums/index.d.ts +2 -2
  113. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -10
  114. package/domain/shopping/models/index.d.ts +12 -12
  115. package/domain/shopping/models/line-item.d.ts +8 -8
  116. package/domain/shopping/models/order.d.ts +9 -9
  117. package/domain/shopping/models/payment.d.ts +67 -67
  118. package/domain/shopping/models/shipping-method.d.ts +16 -16
  119. package/domain/shopping/models/subscription/checkout.d.ts +21 -21
  120. package/domain/shopping/models/subscription/index.d.ts +2 -2
  121. package/domain/shopping/models/subscription/plan.d.ts +10 -10
  122. package/domain/shopping/models/types/index.d.ts +7 -7
  123. package/domain/shopping/models/types/payment-address.type.d.ts +12 -12
  124. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -7
  125. package/domain/shopping/models/types/payment-card.type.d.ts +14 -14
  126. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -18
  127. package/domain/shopping/models/types/payment-document.type.d.ts +6 -6
  128. package/domain/shopping/models/types/payment-item.type.d.ts +11 -11
  129. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -10
  130. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -4
  131. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -4
  132. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -4
  133. package/domain/shopping/repositories/checkout.repository.d.ts +4 -4
  134. package/domain/shopping/repositories/coupon.repository.d.ts +4 -4
  135. package/domain/shopping/repositories/index.d.ts +9 -9
  136. package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -3
  137. package/domain/shopping/repositories/order.repository.d.ts +4 -4
  138. package/domain/shopping/repositories/payment.repository.d.ts +4 -4
  139. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -4
  140. package/domain/shopping/repositories/subscription/index.d.ts +2 -2
  141. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -4
  142. package/domain/users/errors/index.d.ts +3 -3
  143. package/domain/users/errors/unauthorized.error.d.ts +5 -5
  144. package/domain/users/errors/user-already-registered.error.d.ts +5 -5
  145. package/domain/users/errors/weak-password.error.d.ts +5 -5
  146. package/domain/users/index.d.ts +5 -5
  147. package/domain/users/models/beauty-profile.d.ts +11 -11
  148. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -5
  149. package/domain/users/models/enums/area.enum.d.ts +11 -11
  150. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -9
  151. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -7
  152. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -6
  153. package/domain/users/models/enums/body-problems.enum.d.ts +11 -11
  154. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -7
  155. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -5
  156. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -7
  157. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -10
  158. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -8
  159. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -8
  160. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -5
  161. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -10
  162. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -10
  163. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -8
  164. package/domain/users/models/enums/hair-types.enum.d.ts +7 -7
  165. package/domain/users/models/enums/index.d.ts +20 -20
  166. package/domain/users/models/enums/office-position.enum.d.ts +6 -6
  167. package/domain/users/models/enums/product-spents.enum.d.ts +8 -8
  168. package/domain/users/models/enums/user-type.enum.d.ts +8 -8
  169. package/domain/users/models/index.d.ts +7 -7
  170. package/domain/users/models/lead.d.ts +8 -8
  171. package/domain/users/models/subscription/edition.d.ts +16 -16
  172. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -3
  173. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -4
  174. package/domain/users/models/subscription/enums/index.d.ts +4 -4
  175. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -5
  176. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -4
  177. package/domain/users/models/subscription/index.d.ts +4 -4
  178. package/domain/users/models/subscription/payment.d.ts +13 -13
  179. package/domain/users/models/subscription/subscription.d.ts +28 -28
  180. package/domain/users/models/user-address.d.ts +7 -7
  181. package/domain/users/models/user-payment-method.d.ts +14 -14
  182. package/domain/users/models/user.d.ts +28 -28
  183. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -4
  184. package/domain/users/repositories/edition.repository.d.ts +4 -4
  185. package/domain/users/repositories/index.d.ts +8 -8
  186. package/domain/users/repositories/lead.repository.d.ts +4 -4
  187. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -4
  188. package/domain/users/repositories/subscription.repository.d.ts +4 -4
  189. package/domain/users/repositories/user-address.repository.d.ts +4 -4
  190. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -4
  191. package/domain/users/repositories/user.repository.d.ts +6 -6
  192. package/domain/users/services/authentication.service.d.ts +12 -12
  193. package/domain/users/services/index.d.ts +3 -3
  194. package/domain/users/services/register.service.d.ts +7 -7
  195. package/domain/users/services/types/basic-user-data.type.d.ts +4 -4
  196. package/domain/users/services/types/index.d.ts +1 -1
  197. package/domain/users/use-cases/authentication.d.ts +21 -21
  198. package/domain/users/use-cases/index.d.ts +4 -4
  199. package/domain/users/use-cases/recovery-password.d.ts +6 -6
  200. package/domain/users/use-cases/register.d.ts +13 -13
  201. package/domain/users/use-cases/signout.d.ts +6 -6
  202. package/errors/duplicated-results.error.d.ts +5 -5
  203. package/errors/index.d.ts +4 -4
  204. package/errors/invalid-argument.error.d.ts +5 -5
  205. package/errors/not-found.error.d.ts +5 -5
  206. package/errors/required-argument.error.d.ts +6 -6
  207. package/esm2015/domain/catalog/index.js +3 -3
  208. package/esm2015/domain/catalog/models/category-collection-children.js +16 -16
  209. package/esm2015/domain/catalog/models/category-filter.js +10 -10
  210. package/esm2015/domain/catalog/models/category.js +21 -21
  211. package/esm2015/domain/catalog/models/enums/index.js +3 -3
  212. package/esm2015/domain/catalog/models/enums/product-genders.enum.js +7 -7
  213. package/esm2015/domain/catalog/models/enums/shops.enum.js +8 -8
  214. package/esm2015/domain/catalog/models/filter-option.js +10 -10
  215. package/esm2015/domain/catalog/models/filter.js +10 -10
  216. package/esm2015/domain/catalog/models/index.js +11 -11
  217. package/esm2015/domain/catalog/models/kit-product.js +18 -18
  218. package/esm2015/domain/catalog/models/product.js +40 -40
  219. package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -2
  220. package/esm2015/domain/catalog/models/types/category-metadata.type.js +2 -2
  221. package/esm2015/domain/catalog/models/types/category-product.js +2 -2
  222. package/esm2015/domain/catalog/models/types/index.js +12 -12
  223. package/esm2015/domain/catalog/models/types/product-evaluation.type.js +2 -2
  224. package/esm2015/domain/catalog/models/types/product-gender.type.js +2 -2
  225. package/esm2015/domain/catalog/models/types/product-metadata.type.js +2 -2
  226. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -2
  227. package/esm2015/domain/catalog/models/types/shop-description.type.js +2 -2
  228. package/esm2015/domain/catalog/models/types/shop-price.type.js +2 -2
  229. package/esm2015/domain/catalog/models/types/stock.type.js +2 -2
  230. package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -2
  231. package/esm2015/domain/catalog/models/variant.js +10 -10
  232. package/esm2015/domain/catalog/repositories/category-collection-children.repository.js +2 -2
  233. package/esm2015/domain/catalog/repositories/category-filter.repository.js +2 -2
  234. package/esm2015/domain/catalog/repositories/category.repository.js +2 -2
  235. package/esm2015/domain/catalog/repositories/filter-option.repository.js +2 -2
  236. package/esm2015/domain/catalog/repositories/filter.repository.js +2 -2
  237. package/esm2015/domain/catalog/repositories/index.js +9 -9
  238. package/esm2015/domain/catalog/repositories/product.repository.js +2 -2
  239. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -2
  240. package/esm2015/domain/catalog/repositories/variant.repository.js +2 -2
  241. package/esm2015/domain/generic/index.js +3 -3
  242. package/esm2015/domain/generic/model/base.model.js +23 -23
  243. package/esm2015/domain/generic/model/identifier-fields.js +2 -2
  244. package/esm2015/domain/generic/model/index.js +4 -4
  245. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -2
  246. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -2
  247. package/esm2015/domain/generic/model/types/index.js +6 -6
  248. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -2
  249. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -2
  250. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -2
  251. package/esm2015/domain/generic/repository/create.repository.js +2 -2
  252. package/esm2015/domain/generic/repository/crud.repository.js +2 -2
  253. package/esm2015/domain/generic/repository/delete.repository.js +2 -2
  254. package/esm2015/domain/generic/repository/enums/index.js +3 -3
  255. package/esm2015/domain/generic/repository/enums/update-option-actions.enum.js +9 -9
  256. package/esm2015/domain/generic/repository/enums/where.enum.js +16 -16
  257. package/esm2015/domain/generic/repository/find.repository.js +2 -2
  258. package/esm2015/domain/generic/repository/get.repository.js +2 -2
  259. package/esm2015/domain/generic/repository/index.js +10 -10
  260. package/esm2015/domain/generic/repository/read.repository.js +2 -2
  261. package/esm2015/domain/generic/repository/types/index.js +7 -7
  262. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -2
  263. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -2
  264. package/esm2015/domain/generic/repository/types/repository-limit-options.type.js +2 -2
  265. package/esm2015/domain/generic/repository/types/repository-order-by-list.type.js +2 -2
  266. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -2
  267. package/esm2015/domain/generic/repository/types/where-options.type.js +2 -2
  268. package/esm2015/domain/generic/repository/update.repository.js +2 -2
  269. package/esm2015/domain/index.js +7 -7
  270. package/esm2015/domain/location/index.js +2 -2
  271. package/esm2015/domain/location/models/address.js +7 -7
  272. package/esm2015/domain/location/models/index.js +3 -3
  273. package/esm2015/domain/location/models/types/index.js +4 -4
  274. package/esm2015/domain/location/models/types/location-bound.type.js +2 -2
  275. package/esm2015/domain/location/models/types/location-geometry.type.js +2 -2
  276. package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -2
  277. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -21
  278. package/esm2015/domain/shop-settings/enums/index.js +3 -3
  279. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -21
  280. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -46
  281. package/esm2015/domain/shop-settings/helpers/index.js +2 -2
  282. package/esm2015/domain/shop-settings/index.js +5 -5
  283. package/esm2015/domain/shop-settings/models/home.js +7 -7
  284. package/esm2015/domain/shop-settings/models/index.js +5 -5
  285. package/esm2015/domain/shop-settings/models/shop-menu.js +7 -7
  286. package/esm2015/domain/shop-settings/models/shop-settings.js +7 -7
  287. package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -2
  288. package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -2
  289. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -2
  290. package/esm2015/domain/shop-settings/models/types/index.js +11 -11
  291. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -2
  292. package/esm2015/domain/shop-settings/models/types/shop-banner.type.js +2 -2
  293. package/esm2015/domain/shop-settings/models/types/shop-brands.type.js +2 -2
  294. package/esm2015/domain/shop-settings/models/types/shop-carousel.type.js +2 -2
  295. package/esm2015/domain/shop-settings/models/types/shop-collection.type.js +2 -2
  296. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +2 -2
  297. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -2
  298. package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -2
  299. package/esm2015/domain/shop-settings/repositories/index.js +4 -4
  300. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -2
  301. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +2 -2
  302. package/esm2015/domain/shopping/index.js +3 -3
  303. package/esm2015/domain/shopping/models/buy-2-win.js +14 -14
  304. package/esm2015/domain/shopping/models/campaign-dashboard.js +7 -7
  305. package/esm2015/domain/shopping/models/campaign-hashtag.js +7 -7
  306. package/esm2015/domain/shopping/models/checkout.js +38 -38
  307. package/esm2015/domain/shopping/models/coupons/coupon.js +50 -38
  308. package/esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js +7 -7
  309. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -6
  310. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +10 -10
  311. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +10 -10
  312. package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -4
  313. package/esm2015/domain/shopping/models/coupons/index.js +3 -3
  314. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +7 -7
  315. package/esm2015/domain/shopping/models/enums/index.js +3 -3
  316. package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -12
  317. package/esm2015/domain/shopping/models/index.js +13 -13
  318. package/esm2015/domain/shopping/models/line-item.js +4 -4
  319. package/esm2015/domain/shopping/models/order.js +11 -11
  320. package/esm2015/domain/shopping/models/payment.js +169 -169
  321. package/esm2015/domain/shopping/models/shipping-method.js +7 -7
  322. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -28
  323. package/esm2015/domain/shopping/models/subscription/index.js +3 -3
  324. package/esm2015/domain/shopping/models/subscription/plan.js +7 -7
  325. package/esm2015/domain/shopping/models/types/index.js +8 -8
  326. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -2
  327. package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -2
  328. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -2
  329. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -2
  330. package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -2
  331. package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -2
  332. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -2
  333. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -2
  334. package/esm2015/domain/shopping/repositories/campaign-dashboard.repository.js +2 -2
  335. package/esm2015/domain/shopping/repositories/campaign-hashtag.repository.js +2 -2
  336. package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -2
  337. package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -2
  338. package/esm2015/domain/shopping/repositories/index.js +10 -10
  339. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -2
  340. package/esm2015/domain/shopping/repositories/order.repository.js +2 -2
  341. package/esm2015/domain/shopping/repositories/payment.repository.js +2 -2
  342. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -2
  343. package/esm2015/domain/shopping/repositories/subscription/index.js +3 -3
  344. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -2
  345. package/esm2015/domain/users/errors/index.js +4 -4
  346. package/esm2015/domain/users/errors/unauthorized.error.js +8 -8
  347. package/esm2015/domain/users/errors/user-already-registered.error.js +8 -8
  348. package/esm2015/domain/users/errors/weak-password.error.js +8 -8
  349. package/esm2015/domain/users/index.js +6 -6
  350. package/esm2015/domain/users/models/beauty-profile.js +12 -12
  351. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -7
  352. package/esm2015/domain/users/models/enums/area.enum.js +13 -13
  353. package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -11
  354. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -9
  355. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -8
  356. package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -13
  357. package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -9
  358. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -7
  359. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -9
  360. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -12
  361. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -10
  362. package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -10
  363. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -7
  364. package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -12
  365. package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -12
  366. package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -10
  367. package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -9
  368. package/esm2015/domain/users/models/enums/index.js +21 -21
  369. package/esm2015/domain/users/models/enums/office-position.enum.js +8 -8
  370. package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -10
  371. package/esm2015/domain/users/models/enums/user-type.enum.js +10 -10
  372. package/esm2015/domain/users/models/index.js +8 -8
  373. package/esm2015/domain/users/models/lead.js +7 -7
  374. package/esm2015/domain/users/models/subscription/edition.js +7 -7
  375. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -5
  376. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -6
  377. package/esm2015/domain/users/models/subscription/enums/index.js +5 -5
  378. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -7
  379. package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -6
  380. package/esm2015/domain/users/models/subscription/index.js +5 -5
  381. package/esm2015/domain/users/models/subscription/payment.js +14 -14
  382. package/esm2015/domain/users/models/subscription/subscription.js +43 -43
  383. package/esm2015/domain/users/models/user-address.js +7 -7
  384. package/esm2015/domain/users/models/user-payment-method.js +7 -7
  385. package/esm2015/domain/users/models/user.js +26 -26
  386. package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -2
  387. package/esm2015/domain/users/repositories/edition.repository.js +2 -2
  388. package/esm2015/domain/users/repositories/index.js +9 -9
  389. package/esm2015/domain/users/repositories/lead.repository.js +2 -2
  390. package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -2
  391. package/esm2015/domain/users/repositories/subscription.repository.js +2 -2
  392. package/esm2015/domain/users/repositories/user-address.repository.js +2 -2
  393. package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -2
  394. package/esm2015/domain/users/repositories/user.repository.js +2 -2
  395. package/esm2015/domain/users/services/authentication.service.js +2 -2
  396. package/esm2015/domain/users/services/index.js +4 -4
  397. package/esm2015/domain/users/services/register.service.js +2 -2
  398. package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -2
  399. package/esm2015/domain/users/services/types/index.js +2 -2
  400. package/esm2015/domain/users/use-cases/authentication.js +40 -40
  401. package/esm2015/domain/users/use-cases/index.js +5 -5
  402. package/esm2015/domain/users/use-cases/recovery-password.js +12 -12
  403. package/esm2015/domain/users/use-cases/register.js +34 -34
  404. package/esm2015/domain/users/use-cases/signout.js +12 -12
  405. package/esm2015/errors/duplicated-results.error.js +8 -8
  406. package/esm2015/errors/index.js +5 -5
  407. package/esm2015/errors/invalid-argument.error.js +8 -8
  408. package/esm2015/errors/not-found.error.js +8 -8
  409. package/esm2015/errors/required-argument.error.js +9 -9
  410. package/esm2015/index.js +6 -6
  411. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +76 -76
  412. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -2
  413. package/esm2015/infra/elasticsearch/adapters/index.js +3 -3
  414. package/esm2015/infra/elasticsearch/index.js +4 -4
  415. package/esm2015/infra/elasticsearch/indexes/index.js +2 -2
  416. package/esm2015/infra/elasticsearch/indexes/products-index.js +110 -110
  417. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -2
  418. package/esm2015/infra/elasticsearch/types/index.js +2 -2
  419. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -52
  420. package/esm2015/infra/firebase/auth/index.js +3 -3
  421. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -26
  422. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -2
  423. package/esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js +10 -10
  424. package/esm2015/infra/firebase/firestore/enums/index.js +2 -2
  425. package/esm2015/infra/firebase/firestore/index.js +4 -4
  426. package/esm2015/infra/firebase/firestore/mixins/index.js +10 -10
  427. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -31
  428. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -10
  429. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -18
  430. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +98 -98
  431. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +49 -49
  432. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -24
  433. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -17
  434. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -11
  435. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -45
  436. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +73 -73
  437. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -5
  438. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +55 -55
  439. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -14
  440. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -12
  441. package/esm2015/infra/firebase/firestore/repositories/index.js +5 -5
  442. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -56
  443. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +4 -4
  444. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -12
  445. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +12 -12
  446. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -12
  447. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +12 -12
  448. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +12 -12
  449. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -12
  450. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -12
  451. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -29
  452. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +11 -11
  453. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -9
  454. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +40 -40
  455. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -12
  456. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -12
  457. package/esm2015/infra/firebase/firestore/repositories/users/index.js +9 -9
  458. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -12
  459. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -14
  460. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -12
  461. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -14
  462. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -14
  463. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -14
  464. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +68 -68
  465. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -14
  466. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -2
  467. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -2
  468. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -2
  469. package/esm2015/infra/firebase/firestore/types/index.js +4 -4
  470. package/esm2015/infra/firebase/index.js +3 -3
  471. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -13
  472. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -15
  473. package/esm2015/infra/hasura-graphql/enums/index.js +3 -3
  474. package/esm2015/infra/hasura-graphql/index.js +5 -5
  475. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -31
  476. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +53 -53
  477. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -22
  478. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +90 -90
  479. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +5 -5
  480. package/esm2015/infra/hasura-graphql/mixins/index.js +8 -8
  481. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -45
  482. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -10
  483. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -29
  484. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +50 -50
  485. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -35
  486. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -94
  487. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -56
  488. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -4
  489. package/esm2015/infra/hasura-graphql/models/index.js +5 -5
  490. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -15
  491. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -11
  492. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -9
  493. package/esm2015/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.js +38 -38
  494. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +24 -24
  495. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +333 -333
  496. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +123 -123
  497. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +21 -21
  498. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +8 -8
  499. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +489 -489
  500. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +116 -116
  501. package/esm2015/infra/hasura-graphql/repositories/index.js +2 -2
  502. package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -2
  503. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -2
  504. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -2
  505. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -2
  506. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -2
  507. package/esm2015/infra/hasura-graphql/types/index.js +9 -9
  508. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -2
  509. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -2
  510. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -2
  511. package/esm2015/infra/index.js +4 -4
  512. package/esm2015/infrab4a-connect.js +4 -4
  513. package/esm2015/utils/index.js +8 -8
  514. package/esm2015/utils/is-uuid.js +3 -3
  515. package/esm2015/utils/mixins/base.mixin.js +6 -6
  516. package/esm2015/utils/mixins/index.js +4 -4
  517. package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -2
  518. package/esm2015/utils/mixins/mixin-ctor.type.js +2 -2
  519. package/esm2015/utils/parse-datetime.js +14 -14
  520. package/esm2015/utils/types/array-element.type.js +2 -2
  521. package/esm2015/utils/types/index.js +3 -3
  522. package/esm2015/utils/types/prop.type.js +2 -2
  523. package/fesm2015/infrab4a-connect.js +3633 -3621
  524. package/fesm2015/infrab4a-connect.js.map +1 -1
  525. package/index.d.ts +5 -5
  526. package/infra/elasticsearch/adapters/axios.adapter.d.ts +16 -16
  527. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +8 -8
  528. package/infra/elasticsearch/adapters/index.d.ts +2 -2
  529. package/infra/elasticsearch/index.d.ts +3 -3
  530. package/infra/elasticsearch/indexes/index.d.ts +1 -1
  531. package/infra/elasticsearch/indexes/products-index.d.ts +13 -13
  532. package/infra/elasticsearch/types/elastic-search-result.d.ts +9 -9
  533. package/infra/elasticsearch/types/index.d.ts +1 -1
  534. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -12
  535. package/infra/firebase/auth/index.d.ts +2 -2
  536. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -8
  537. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -3
  538. package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -8
  539. package/infra/firebase/firestore/enums/index.d.ts +1 -1
  540. package/infra/firebase/firestore/index.d.ts +3 -3
  541. package/infra/firebase/firestore/mixins/index.d.ts +9 -9
  542. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  543. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -4
  544. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -4
  545. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -4
  546. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -4
  547. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -4
  548. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -11
  549. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -7
  550. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -7
  551. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +18 -18
  552. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -4
  553. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +12 -12
  554. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -13
  555. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -8
  556. package/infra/firebase/firestore/repositories/index.d.ts +4 -4
  557. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -16
  558. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -3
  559. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -8
  560. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +8 -8
  561. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -8
  562. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +9 -9
  563. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +9 -9
  564. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -8
  565. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -8
  566. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -12
  567. package/infra/firebase/firestore/repositories/shopping/index.d.ts +10 -10
  568. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -7
  569. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +13 -13
  570. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -8
  571. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -8
  572. package/infra/firebase/firestore/repositories/users/index.d.ts +8 -8
  573. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -8
  574. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -13
  575. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -8
  576. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -13
  577. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -13
  578. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -13
  579. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -17
  580. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -13
  581. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -6
  582. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -8
  583. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +14 -14
  584. package/infra/firebase/firestore/types/index.d.ts +3 -3
  585. package/infra/firebase/index.d.ts +2 -2
  586. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -11
  587. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -13
  588. package/infra/hasura-graphql/enums/index.d.ts +2 -2
  589. package/infra/hasura-graphql/index.d.ts +4 -4
  590. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -13
  591. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +10 -10
  592. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -6
  593. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -8
  594. package/infra/hasura-graphql/mixins/helpers/index.d.ts +4 -4
  595. package/infra/hasura-graphql/mixins/index.d.ts +7 -7
  596. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -8
  597. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -11
  598. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -7
  599. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +20 -20
  600. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -24
  601. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -11
  602. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -14
  603. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -6
  604. package/infra/hasura-graphql/models/index.d.ts +4 -4
  605. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -6
  606. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +15 -15
  607. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -9
  608. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +10 -10
  609. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -11
  610. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +31 -31
  611. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -18
  612. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -10
  613. package/infra/hasura-graphql/repositories/catalog/index.d.ts +7 -7
  614. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +29 -29
  615. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -14
  616. package/infra/hasura-graphql/repositories/index.d.ts +1 -1
  617. package/infra/hasura-graphql/types/fields.type.d.ts +2 -2
  618. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -21
  619. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -8
  620. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +40 -40
  621. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -7
  622. package/infra/hasura-graphql/types/index.d.ts +8 -8
  623. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -7
  624. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -7
  625. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -9
  626. package/infra/index.d.ts +3 -3
  627. package/infrab4a-connect.d.ts +5 -5
  628. package/package.json +1 -1
  629. package/utils/index.d.ts +7 -7
  630. package/utils/is-uuid.d.ts +1 -1
  631. package/utils/mixins/base.mixin.d.ts +3 -3
  632. package/utils/mixins/index.d.ts +3 -3
  633. package/utils/mixins/merge-constructor-params.type.d.ts +3 -3
  634. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  635. package/utils/parse-datetime.d.ts +1 -1
  636. package/utils/types/array-element.type.d.ts +1 -1
  637. package/utils/types/index.d.ts +2 -2
  638. package/utils/types/prop.type.d.ts +1 -1
@@ -1,53 +1,53 @@
1
- import { Where, } from '../../../../domain';
2
- import { isNil, isObject } from '../../../../utils';
3
- import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../../enums';
4
- import { AttributeOptionHelper } from './attribute-option.helper';
5
- import { FilterOptionHelper } from './filter-option.helper';
6
- export class BindFilterQueryHelper {
7
- }
8
- BindFilterQueryHelper.MakeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
9
- const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
10
- if (!columnOption.bindFindFilter)
11
- return Object.assign(Object.assign({}, variables), {
12
- [columnOption.columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, filter[fieldName], fields),
13
- });
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]: BindFilterQueryHelper.BuildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
- }, {});
17
- BindFilterQueryHelper.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]: BindFilterQueryHelper.BuildWhereSentence(key, options[key], columnFields || []) });
29
- }, {});
30
- if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
- return {
32
- [fieldSentenceOptions.fields[0]]: BindFilterQueryHelper.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), BindFilterQueryHelper.BuildOperatorSentence(option, fieldSentenceOptions))), {})
38
- : BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions);
39
- };
40
- BindFilterQueryHelper.BuildOperatorSentence = (options, fieldOption) => ({
41
- [BindFilterQueryHelper.GetHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
- });
43
- BindFilterQueryHelper.GetHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
- ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
- ? BindFilterQueryHelper.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
- BindFilterQueryHelper.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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixzQ0FBZ0IsR0FBRyxDQUN4QixNQUFxQyxFQUNyQyxNQUFrQyxFQUNqQixFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxTQUF5RCxFQUN6RCxNQUFNLENBQ1AsQ0FBQTtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYztRQUM5Qix1Q0FDSyxTQUFTLEdBQ1Q7WUFDRCxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FDakUsU0FBeUQsRUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixNQUFNLENBQ1A7U0FDRixFQUNGO0lBRUgsTUFBTSxXQUFXLEdBR2IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMs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ZUFBZSxFQUFFLEVBQUUsQ0FDbEIsZUFBZSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQSxDQUFDLENBQ25HLENBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgV2hlcmUsXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzTmlsLCBpc09iamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUsIEhhc3VyYUdyYXBoUUxXaGVyZSB9IGZyb20gJy4uLy4uL2VudW1zJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucywgSGFzdXJhR3JhcGhRTEZpZWxkcywgVmFyaWFibGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2F0dHJpYnV0ZS1vcHRpb24uaGVscGVyJ1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcblxuZXhwb3J0IGNsYXNzIEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB7XG4gIHN0YXRpYyBNYWtlR3JhcGhRTFdoZXJlID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+LFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PlxuICAgIE9iamVjdC5rZXlzKGZpbHRlcikucmVkdWNlKCh2YXJpYWJsZXM6IFZhcmlhYmxlT3B0aW9ucywgZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXG4gICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgZmllbGRzLFxuICAgICAgKVxuXG4gICAgICBpZiAoIWNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcilcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgLi4ue1xuICAgICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZShcbiAgICAgICAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgICBmaWx0ZXJbZmllbGROYW1lXSxcbiAgICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG5cbiAgICAgIGNvbnN0IGJ1aWx0RmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxcbiAgICAgICAgTUJhc2UsXG4gICAgICAgIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5cbiAgICAgID4gPSBjb2x1bW5PcHRpb24uYmluZEZpbmRGaWx0ZXIoZmlsdGVyW2ZpZWxkTmFtZV0pXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgLi4uT2JqZWN0LmtleXMoYnVpbHRGaWx0ZXIpLnJlZHVjZShcbiAgICAgICAgICAodmFyaWFibGVzTGlzdDogVmFyaWFibGVPcHRpb25zLCBjb2x1bW5OYW1lOiBzdHJpbmcpID0+ICh7XG4gICAgICAgICAgICAuLi52YXJpYWJsZXNMaXN0LFxuICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlKFxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgIGJ1aWx0RmlsdGVyW2NvbHVtbk5hbWVdLFxuICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHt9LFxuICAgICAgICApLFxuICAgICAgfVxuICAgIH0sIHt9KVxuXG4gIHN0YXRpYyBCdWlsZFdoZXJlU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxuICAgIGZpZWxkOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+IHtcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXG5cbiAgICBpZiAoXG4gICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxuICAgICAgaXNPYmplY3Qob3B0aW9ucykgJiZcbiAgICAgIGlzTmlsKG9wdGlvbnM/Lm9wZXJhdG9yKSAmJlxuICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICBpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucz8udG8pXG4gICAgKVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZTxNQmFzZT4oXG4gICAgICAgICAga2V5IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBmaWVsZE9wdGlvbnMuY29sdW1uTmFtZVxuICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgW2NvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlPE1CYXNlPihcbiAgICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgIG9wdGlvbnNba2V5XSxcbiAgICAgICAgICAgIGNvbHVtbkZpZWxkcyB8fCAoW10gYXMgYW55KSxcbiAgICAgICAgICApLFxuICAgICAgICB9XG4gICAgICB9LCB7fSlcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiAhaXNOaWwoZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtmaWVsZFNlbnRlbmNlT3B0aW9ucy5maWVsZHNbMF0gYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dOlxuICAgICAgICAgIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgQ29sdW1uT3B0aW9uczxNQmFzZVtOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sIE1CYXNlPixcbiAgICAgICAgICApLFxuICAgICAgfVxuXG4gICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpICYmICFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKVxuICAgICAgb3B0aW9ucyA9IE9iamVjdC52YWx1ZXMob3B0aW9ucylbMF0gYXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT5cblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXG4gICAgICA/IG9wdGlvbnMucmVkdWNlKFxuICAgICAgICAgICh3aGVyZVNlbnRlbmNlLCBvcHRpb24pID0+ICh7XG4gICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxuICAgICAgICAgICAgLi4uQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcbiAgICAgICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB7fSxcbiAgICAgICAgKVxuICAgICAgOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgQ29sdW1uT3B0aW9uczxNQmFzZVtOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sIE1CYXNlPixcbiAgICAgICAgKVxuICB9XG5cbiAgc3RhdGljIEJ1aWxkT3BlcmF0b3JTZW50ZW5jZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT4sXG4gICAgZmllbGRPcHRpb246IENvbHVtbk9wdGlvbnM8YW55LCBhbnk+LFxuICApOiBWYXJpYWJsZU9wdGlvbnMgPT4gKHtcbiAgICBbQmluZEZpbHRlclF1ZXJ5SGVscGVyLkdldEhhc3VyYU9wZXJhdG9yKG9wdGlvbnMsIGZpZWxkT3B0aW9uKV06IEZpbHRlck9wdGlvbkhlbHBlci5HZXRWYWx1ZUZyb21GaWx0ZXIoXG4gICAgICBvcHRpb25zLFxuICAgICAgZmllbGRPcHRpb24sXG4gICAgKSxcbiAgfSlcblxuICBzdGF0aWMgR2V0SGFzdXJhT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxuICAgIEZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24ob3B0aW9ucylcbiAgICAgID8gZmllbGRPcHRpb24udHlwZSA9PT0gSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmJcbiAgICAgICAgPyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZVtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICBncmFwaFFMT3BlcmF0b3IgPT09IE9iamVjdC5rZXlzKFdoZXJlKS5maW5kKChvcGVyYXRvcikgPT4gV2hlcmVbb3BlcmF0b3JdID09PSBvcHRpb25zPy5vcGVyYXRvciksXG4gICAgICAgICAgICApXG4gICAgICAgICAgXVxuICAgICAgOiBIYXN1cmFHcmFwaFFMV2hlcmUuRVFVQUxTXG5cbiAgc3RhdGljIEdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU5cbiAgICAgID8gJ19jb250YWlucydcbiAgICAgIDogb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRVxuICAgICAgPyAnX2hhc19rZXlzX2FueSdcbiAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XG4gICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcbiAgICAgICAgICApXG4gICAgICAgIF1cbn1cbiJdfQ==
1
+ import { Where, } from '../../../../domain';
2
+ import { isNil, isObject } from '../../../../utils';
3
+ import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../../enums';
4
+ import { AttributeOptionHelper } from './attribute-option.helper';
5
+ import { FilterOptionHelper } from './filter-option.helper';
6
+ export class BindFilterQueryHelper {
7
+ }
8
+ BindFilterQueryHelper.MakeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
9
+ const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
10
+ if (!columnOption.bindFindFilter)
11
+ return Object.assign(Object.assign({}, variables), {
12
+ [columnOption.columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, filter[fieldName], fields),
13
+ });
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]: BindFilterQueryHelper.BuildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
+ }, {});
17
+ BindFilterQueryHelper.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]: BindFilterQueryHelper.BuildWhereSentence(key, options[key], columnFields || []) });
29
+ }, {});
30
+ if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
+ return {
32
+ [fieldSentenceOptions.fields[0]]: BindFilterQueryHelper.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), BindFilterQueryHelper.BuildOperatorSentence(option, fieldSentenceOptions))), {})
38
+ : BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions);
39
+ };
40
+ BindFilterQueryHelper.BuildOperatorSentence = (options, fieldOption) => ({
41
+ [BindFilterQueryHelper.GetHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
+ });
43
+ BindFilterQueryHelper.GetHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
+ ? BindFilterQueryHelper.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
+ BindFilterQueryHelper.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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixzQ0FBZ0IsR0FBRyxDQUN4QixNQUFxQyxFQUNyQyxNQUFrQyxFQUNqQixFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxTQUF5RCxFQUN6RCxNQUFNLENBQ1AsQ0FBQTtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYztRQUM5Qix1Q0FDSyxTQUFTLEdBQ1Q7WUFDRCxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FDakUsU0FBeUQsRUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixNQUFNLENBQ1A7U0FDRixFQUNGO0lBRUgsTUFBTSxXQUFXLEdBR2IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMs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ZUFBZSxFQUFFLEVBQUUsQ0FDbEIsZUFBZSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQSxDQUFDLENBQ25HLENBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXHJcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxyXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBpc05pbCwgaXNPYmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUsIEhhc3VyYUdyYXBoUUxXaGVyZSB9IGZyb20gJy4uLy4uL2VudW1zJ1xyXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuaW1wb3J0IHsgRmlsdGVyT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIge1xyXG4gIHN0YXRpYyBNYWtlR3JhcGhRTFdoZXJlID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PlxyXG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxyXG4gICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICBmaWVsZHMsXHJcbiAgICAgIClcclxuXHJcbiAgICAgIGlmICghY29sdW1uT3B0aW9uLmJpbmRGaW5kRmlsdGVyKVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIFtjb2x1bW5PcHRpb24uY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2UoXHJcbiAgICAgICAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICAgIGZpbHRlcltmaWVsZE5hbWVdLFxyXG4gICAgICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgYnVpbHRGaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxyXG4gICAgICAgIE1CYXNlLFxyXG4gICAgICAgIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5cclxuICAgICAgPiA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4udmFyaWFibGVzLFxyXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKGJ1aWx0RmlsdGVyKS5yZWR1Y2UoXHJcbiAgICAgICAgICAodmFyaWFibGVzTGlzdDogVmFyaWFibGVPcHRpb25zLCBjb2x1bW5OYW1lOiBzdHJpbmcpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlc0xpc3QsXHJcbiAgICAgICAgICAgIFtjb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZShcclxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICAgICAgYnVpbHRGaWx0ZXJbY29sdW1uTmFtZV0sXHJcbiAgICAgICAgICAgICAgZmllbGRzLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICApLFxyXG4gICAgICB9XHJcbiAgICB9LCB7fSlcclxuXHJcbiAgc3RhdGljIEJ1aWxkV2hlcmVTZW50ZW5jZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXHJcbiAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XHJcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxyXG4gICAgICBpc09iamVjdChvcHRpb25zKSAmJlxyXG4gICAgICBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiZcclxuICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXHJcbiAgICAgIGlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zPy50bylcclxuICAgIClcclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlPE1CYXNlPihcclxuICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxyXG4gICAgICAgIClcclxuICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcclxuICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgICBbY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2U8TUJhc2U+KFxyXG4gICAgICAgICAgICBrZXkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICAgIG9wdGlvbnNba2V5XSxcclxuICAgICAgICAgICAgY29sdW1uRmllbGRzIHx8IChbXSBhcyBhbnkpLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHt9KVxyXG5cclxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiAhaXNOaWwoZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzKSlcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcclxuICAgICAgICAgIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXHJcbiAgICAgICAgICApLFxyXG4gICAgICB9XHJcblxyXG4gICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpICYmICFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKVxyXG4gICAgICBvcHRpb25zID0gT2JqZWN0LnZhbHVlcyhvcHRpb25zKVswXSBhcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PlxyXG5cclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXHJcbiAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXHJcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxyXG4gICAgICAgICAgICAuLi5CaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxyXG4gICAgICAgICAgICAgIG9wdGlvbixcclxuICAgICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICApXHJcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgIClcclxuICB9XHJcblxyXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT4sXHJcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgKTogVmFyaWFibGVPcHRpb25zID0+ICh7XHJcbiAgICBbQmluZEZpbHRlclF1ZXJ5SGVscGVyLkdldEhhc3VyYU9wZXJhdG9yKG9wdGlvbnMsIGZpZWxkT3B0aW9uKV06IEZpbHRlck9wdGlvbkhlbHBlci5HZXRWYWx1ZUZyb21GaWx0ZXIoXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGZpZWxkT3B0aW9uLFxyXG4gICAgKSxcclxuICB9KVxyXG5cclxuICBzdGF0aWMgR2V0SGFzdXJhT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT4+LFxyXG4gICAgZmllbGRPcHRpb246IENvbHVtbk9wdGlvbnM8YW55LCBhbnk+LFxyXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxyXG4gICAgRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihvcHRpb25zKVxyXG4gICAgICA/IGZpZWxkT3B0aW9uLnR5cGUgPT09IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLkpzb25iXHJcbiAgICAgICAgPyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxyXG4gICAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXHJcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cclxuICAgICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgXVxyXG4gICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcclxuXHJcbiAgc3RhdGljIEdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT4+LFxyXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxyXG4gICAgb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU5cclxuICAgICAgPyAnX2NvbnRhaW5zJ1xyXG4gICAgICA6IG9wdGlvbnMub3BlcmF0b3IgPT09IFdoZXJlLkxJS0VcclxuICAgICAgPyAnX2hhc19rZXlzX2FueSdcclxuICAgICAgOiBIYXN1cmFHcmFwaFFMV2hlcmVbXHJcbiAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXHJcbiAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XHJcbiAgICAgICAgICAgICAgZ3JhcGhRTE9wZXJhdG9yID09PSBPYmplY3Qua2V5cyhXaGVyZSkuZmluZCgob3BlcmF0b3IpID0+IFdoZXJlW29wZXJhdG9yXSA9PT0gb3B0aW9ucz8ub3BlcmF0b3IpLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIF1cclxufVxyXG4iXX0=
@@ -1,22 +1,22 @@
1
- import { Where } from '../../../../domain';
2
- import { isNil } from '../../../../utils';
3
- export class FilterOptionHelper {
4
- }
5
- FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
6
- FilterOptionHelper.GetValueFromFilter = (filter, fieldOption) => {
7
- if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
8
- return filter;
9
- if (filter.operator === Where.ISNULL)
10
- return true;
11
- if (filter.operator === Where.ISNOTNULL)
12
- return false;
13
- const converter = fieldOption.to
14
- ? fieldOption.to
15
- : (value) => filter.operator === Where.LIKE && !Array.isArray(filter.value) && value.indexOf('%') < 0
16
- ? `%${value}%`
17
- : value;
18
- return Array.isArray(filter.value) && !fieldOption.fields && [Where.IN, Where.NOTIN].includes(filter.operator)
19
- ? filter.value.map((fieldValue) => converter(fieldValue))
20
- : converter(filter.value);
21
- };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRTtRQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUVmLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyT3B0aW9uSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmlsdGVyOiBhbnksXG4gICk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwgYW55PiA9PiAhaXNOaWwoZmlsdGVyPy5vcGVyYXRvcilcblxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+LFxuICAgIGZpZWxkT3B0aW9uOiBDb2x1bW5PcHRpb25zPGFueSwgYW55PixcbiAgKTogYW55ID0+IHtcbiAgICBpZiAoIUZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24oZmlsdGVyKSkgcmV0dXJuIGZpbHRlclxuICAgIGlmIChmaWx0ZXIub3BlcmF0b3IgPT09IFdoZXJlLklTTlVMTCkgcmV0dXJuIHRydWVcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05PVE5VTEwpIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3QgY29udmVydGVyID0gZmllbGRPcHRpb24udG9cbiAgICAgID8gZmllbGRPcHRpb24udG9cbiAgICAgIDogKHZhbHVlKSA9PlxuICAgICAgICAgIGZpbHRlci5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSAmJiAhQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmIHZhbHVlLmluZGV4T2YoJyUnKSA8IDBcbiAgICAgICAgICAgID8gYCUke3ZhbHVlfSVgXG4gICAgICAgICAgICA6IHZhbHVlXG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmICFmaWVsZE9wdGlvbi5maWVsZHMgJiYgW1doZXJlLklOLCBXaGVyZS5OT1RJTl0uaW5jbHVkZXMoZmlsdGVyLm9wZXJhdG9yKVxuICAgICAgPyBmaWx0ZXIudmFsdWUubWFwKChmaWVsZFZhbHVlKSA9PiBjb252ZXJ0ZXIoZmllbGRWYWx1ZSkpXG4gICAgICA6IGNvbnZlcnRlcihmaWx0ZXIudmFsdWUgYXMgYW55KVxuICB9XG59XG4iXX0=
1
+ import { Where } from '../../../../domain';
2
+ import { isNil } from '../../../../utils';
3
+ export class FilterOptionHelper {
4
+ }
5
+ FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
6
+ FilterOptionHelper.GetValueFromFilter = (filter, fieldOption) => {
7
+ if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
8
+ return filter;
9
+ if (filter.operator === Where.ISNULL)
10
+ return true;
11
+ if (filter.operator === Where.ISNOTNULL)
12
+ return false;
13
+ const converter = fieldOption.to
14
+ ? fieldOption.to
15
+ : (value) => filter.operator === Where.LIKE && !Array.isArray(filter.value) && value.indexOf('%') < 0
16
+ ? `%${value}%`
17
+ : value;
18
+ return Array.isArray(filter.value) && !fieldOption.fields && [Where.IN, Where.NOTIN].includes(filter.operator)
19
+ ? filter.value.map((fieldValue) => converter(fieldValue))
20
+ : converter(filter.value);
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRTtRQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUVmLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJPcHRpb25IZWxwZXIge1xyXG4gIHN0YXRpYyBDaGVja0lmSXNGaWx0ZXJPcHRpb24gPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgZmlsdGVyOiBhbnksXHJcbiAgKTogZmlsdGVyIGlzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+ID0+ICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxyXG5cclxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TW9kZWwsIGFueT4sXHJcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgKTogYW55ID0+IHtcclxuICAgIGlmICghRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihmaWx0ZXIpKSByZXR1cm4gZmlsdGVyXHJcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05VTEwpIHJldHVybiB0cnVlXHJcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05PVE5VTEwpIHJldHVybiBmYWxzZVxyXG5cclxuICAgIGNvbnN0IGNvbnZlcnRlciA9IGZpZWxkT3B0aW9uLnRvXHJcbiAgICAgID8gZmllbGRPcHRpb24udG9cclxuICAgICAgOiAodmFsdWUpID0+XHJcbiAgICAgICAgICBmaWx0ZXIub3BlcmF0b3IgPT09IFdoZXJlLkxJS0UgJiYgIUFycmF5LmlzQXJyYXkoZmlsdGVyLnZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCclJykgPCAwXHJcbiAgICAgICAgICAgID8gYCUke3ZhbHVlfSVgXHJcbiAgICAgICAgICAgIDogdmFsdWVcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmICFmaWVsZE9wdGlvbi5maWVsZHMgJiYgW1doZXJlLklOLCBXaGVyZS5OT1RJTl0uaW5jbHVkZXMoZmlsdGVyLm9wZXJhdG9yKVxyXG4gICAgICA/IGZpbHRlci52YWx1ZS5tYXAoKGZpZWxkVmFsdWUpID0+IGNvbnZlcnRlcihmaWVsZFZhbHVlKSlcclxuICAgICAgOiBjb252ZXJ0ZXIoZmlsdGVyLnZhbHVlIGFzIGFueSlcclxuICB9XHJcbn1cclxuIl19
@@ -1,90 +1,90 @@
1
- import { BaseModel, } from '../../../../domain';
2
- import { isDate, isEmpty, isNil, isObject, isString, parseDateTime } from '../../../../utils';
3
- import { AttributeOptionHelper } from './attribute-option.helper';
4
- import { BindFilterQueryHelper } from './bind-filter-query.helper';
5
- export class GraphQLFieldHelper {
6
- }
7
- GraphQLFieldHelper.CheckIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation;
8
- GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields = (fields) => {
9
- return fields === null || fields === void 0 ? void 0 : fields.map((field) => {
10
- if (isString(field))
11
- return field.toString();
12
- const fieldName = Object.keys(field).shift();
13
- const fieldValue = field[fieldName];
14
- if (Array.isArray(fieldValue))
15
- return { [fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue) };
16
- if (!AttributeOptionHelper.CheckIsColumnOption(fieldValue))
17
- return;
18
- if (fieldValue.fields)
19
- return !fieldValue.filters
20
- ? {
21
- [fieldValue.columnName || fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
22
- }
23
- : {
24
- operation: fieldValue.columnName || fieldName,
25
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
26
- variables: {
27
- [`${fieldValue.columnName}_where`]: {
28
- name: 'where',
29
- type: fieldValue.filters.filterType,
30
- value: BindFilterQueryHelper.MakeGraphQLWhere(fieldValue.filters.filters, fieldValue.fields),
31
- required: true,
32
- },
33
- },
34
- };
35
- return fieldValue.columnName;
36
- }).filter((field) => !!field);
37
- };
38
- GraphQLFieldHelper.ConvertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
39
- const { attributeName, fields: attributeFields, from, } = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields);
40
- if (!!attributeFields && Array.isArray(attributeFields)) {
41
- if (Array.isArray(data[columnName]))
42
- return Object.assign(Object.assign({}, result), { [attributeName]: from
43
- ? from(data[columnName], data)
44
- : data[columnName].map((value) => GraphQLFieldHelper.ConvertFieldValueFrom(value, attributeFields)) });
45
- if (isObject(data[columnName]))
46
- return Object.assign(Object.assign({}, result), { [attributeName]: !!from
47
- ? from(data[columnName])
48
- : GraphQLFieldHelper.ConvertFieldValueFrom(data[columnName], attributeFields) });
49
- }
50
- if (!!from)
51
- return Object.assign(Object.assign({}, result), { [attributeName]: from(data[columnName], data) });
52
- return Object.assign(Object.assign({}, result), { [attributeName]: parseDateTime(data[columnName]) });
53
- }, {});
54
- GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
55
- var _a;
56
- const data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
57
- return Object.keys(data).reduce((result, attributeName) => {
58
- const { columnName, fields: attributeFields, foreignKeyColumn, to, bindPersistData, } = AttributeOptionHelper.FindByAttribute(attributeName, fields);
59
- if (bindPersistData)
60
- return Object.assign(Object.assign({}, result), bindPersistData(data[attributeName], instance));
61
- if (isNil(columnName))
62
- return result;
63
- if (!!foreignKeyColumn &&
64
- !isEmpty(foreignKeyColumn) &&
65
- !Object.keys(foreignKeyColumn).filter((key) => { var _a; return !((_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[key]); }).length)
66
- return Object.keys(foreignKeyColumn).reduce((object, current) => {
67
- var _a;
68
- const { columnName: foreignColumnName } = AttributeOptionHelper.FindByAttribute(foreignKeyColumn[current], fields);
69
- return Object.assign(Object.assign({}, object), { [foreignColumnName]: (_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[current] });
70
- }, Object.assign({}, result));
71
- if (update && isObject(data[attributeName]) && !isNil(attributeFields) && !isDate(data[attributeName]))
72
- return result;
73
- if (!!columnName && Array.isArray(attributeFields) && isObject(data[attributeName])) {
74
- const converted = !isNil(columnName) && to ? to(instance[attributeName], instance) : data[attributeName];
75
- return Object.assign(Object.assign({}, result), (converted !== undefined
76
- ? {
77
- [columnName]: {
78
- data: instance[attributeName] instanceof BaseModel
79
- ? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
80
- : converted,
81
- },
82
- }
83
- : {}));
84
- }
85
- if (!!to)
86
- return Object.assign(Object.assign({}, result), { [columnName]: to(instance[attributeName], instance) });
87
- return Object.assign(Object.assign({}, result), { [columnName]: data[attributeName] });
88
- }, {});
89
- };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFbEUsTUFBTSxPQUFPLGtCQUFrQjs7QUFDdEIsdUNBQW9CLEdBQUcsQ0FDNUIsTUFBdUMsRUFDTCxFQUFFLENBQ3BDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFFcEYsb0RBQWlDLEdBQUcsQ0FDekMsTUFBa0MsRUFDMUIsRUFBRTtJQUNWLE9BQU8sTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUNULEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFVBQVUs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QUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxlQUFlLENBQUM7NEJBQzlFLENBQUMsQ0FBQyxTQUFTO3FCQUNoQjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxDQUFDLEVBQUU7WUFBRSx1Q0FBWSxNQUFNLEtBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFFO1FBRW5GLHVDQUFZLE1BQU0sS0FBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBRTtJQUN6RCxDQUFDLEVBQUUsRUFBYyxDQUFDLENBQUE7QUFDcEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZU1vZGVsLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIE5vbkZ1bmN0aW9uUHJvcGVydGllcyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuXG5leHBvcnQgY2xhc3MgR3JhcGhRTEZpZWxkSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSXNHcmFwaFFMUGFyYW1zID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBwYXJhbXM6IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TW9kZWw+W10sXG4gICk6IHBhcmFtcyBpcyBHcmFwaFFMUGFyYW1zPE1vZGVsPltdID0+XG4gICAgIWlzU3RyaW5nKHBhcmFtcykgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpICYmIHBhcmFtcy5sZW5ndGggPj0gMCAmJiAhIXBhcmFtc1swXS5vcGVyYXRpb25cblxuICBzdGF0aWMgQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICApOiBGaWVsZHMgPT4ge1xuICAgIHJldHVybiBmaWVsZHNcbiAgICAgID8ubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoaXNTdHJpbmcoZmllbGQpKSByZXR1cm4gZmllbGQudG9TdHJpbmcoKVxuXG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC5rZXlzKGZpZWxkKS5zaGlmdCgpXG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBmaWVsZFtmaWVsZE5hbWVdXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZSkpXG4gICAgICAgICAgcmV0dXJuIHsgW2ZpZWxkTmFtZV06IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZSkgfVxuICAgICAgICBpZiAoIUF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGZpZWxkVmFsdWUpKSByZXR1cm5cbiAgICAgICAgaWYgKGZpZWxkVmFsdWUuZmllbGRzKVxuICAgICAgICAgIHJldHVybiAhZmllbGRWYWx1ZS5maWx0ZXJzXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBbZmllbGRWYWx1ZS5jb2x1bW5OYW1lIHx8IGZpZWxkTmFtZV06IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoXG4gICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLmZpZWxkcyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IGZpZWxkVmFsdWUuY29sdW1uTmFtZSB8fCBmaWVsZE5hbWUsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkVmFsdWUuZmllbGRzKSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgIFtgJHtmaWVsZFZhbHVlLmNvbHVtbk5hbWV9X3doZXJlYF06IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3doZXJlJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmllbGRWYWx1ZS5maWx0ZXJzLmZpbHRlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWVsZFZhbHVlLmZpbHRlcnMuZmlsdGVycywgZmllbGRWYWx1ZS5maWVsZHMpLFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZFZhbHVlLmNvbHVtbk5hbWVcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmaWVsZCkgPT4gISFmaWVsZClcbiAgfVxuXG4gIHN0YXRpYyBDb252ZXJ0RmllbGRWYWx1ZUZyb20gPSA8XG4gICAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gICAgRGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGU+LFxuICA+KFxuICAgIGRhdGE6IHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZSxcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxuICApOiBQYXJ0aWFsPE5vbkZ1bmN0aW9uUHJvcGVydGllczxNb2RlbD4+ID0+XG4gICAgT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKChyZXN1bHQsIGNvbHVtbk5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYXR0cmlidXRlTmFtZSxcbiAgICAgICAgZmllbGRzOiBhdHRyaWJ1dGVGaWVsZHMsXG4gICAgICAgIGZyb20sXG4gICAgICB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRDb2x1bW5PcHRpb25Gcm9tTGlzdChjb2x1bW5OYW1lLCBmaWVsZHMpXG5cbiAgICAgIGlmICghIWF0dHJpYnV0ZUZpZWxkcyAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIFthdHRyaWJ1dGVOYW1lXTogZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSlcbiAgICAgICAgICAgICAgOiBkYXRhW2NvbHVtbk5hbWVdLm1hcCgodmFsdWUpID0+IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20odmFsdWUsIGF0dHJpYnV0ZUZpZWxkcykpLFxuICAgICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcbiAgICAgICAgICAgICAgOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGRhdGFbY29sdW1uTmFtZV0sIGF0dHJpYnV0ZUZpZWxkcyksXG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoISFmcm9tKSByZXR1cm4geyAuLi5yZXN1bHQsIFthdHRyaWJ1dGVOYW1lXTogZnJvbShkYXRhW2NvbHVtbk5hbWVdLCBkYXRhKSB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJlc3VsdCwgW2F0dHJpYnV0ZU5hbWVdOiBwYXJzZURhdGVUaW1lKGRhdGFbY29sdW1uTmFtZV0pIH1cbiAgICB9LCB7fSlcblxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVUbyA9IDxcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXG4gID4oXG4gICAgaW5zdGFuY2U6IE1vZGVsLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXG4gICAgdXBkYXRlID0gZmFsc2UsXG4gICk6IERhdGFUeXBlID0+IHtcbiAgICBjb25zdCBkYXRhOiBQYXJ0aWFsPE1vZGVsQmFzZVN0cnVjdHVyZT4gPSBpbnN0YW5jZS50b1BsYWluPy4oKSB8fCBpbnN0YW5jZVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBhdHRyaWJ1dGVOYW1lKSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICBmb3JlaWduS2V5Q29sdW1uLFxuICAgICAgICB0byxcbiAgICAgICAgYmluZFBlcnNpc3REYXRhLFxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPiwgZmllbGRzKVxuXG4gICAgICBpZiAoYmluZFBlcnNpc3REYXRhKSByZXR1cm4geyAuLi5yZXN1bHQsIC4uLmJpbmRQZXJzaXN0RGF0YShkYXRhW2F0dHJpYnV0ZU5hbWVdLCBpbnN0YW5jZSkgfVxuICAgICAgaWYgKGlzTmlsKGNvbHVtbk5hbWUpKSByZXR1cm4gcmVzdWx0XG4gICAgICBpZiAoXG4gICAgICAgICEhZm9yZWlnbktleUNvbHVtbiAmJlxuICAgICAgICAhaXNFbXB0eShmb3JlaWduS2V5Q29sdW1uKSAmJlxuICAgICAgICAhT2JqZWN0LmtleXMoZm9yZWlnbktleUNvbHVtbikuZmlsdGVyKChrZXkpID0+ICFkYXRhW2F0dHJpYnV0ZU5hbWVdPy5ba2V5XSkubGVuZ3RoXG4gICAgICApXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhmb3JlaWduS2V5Q29sdW1uKS5yZWR1Y2UoXG4gICAgICAgICAgKG9iamVjdCwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBjb2x1bW5OYW1lOiBmb3JlaWduQ29sdW1uTmFtZSB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgZm9yZWlnbktleUNvbHVtbltjdXJyZW50XSxcbiAgICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICByZXR1cm4geyAuLi5vYmplY3QsIFtmb3JlaWduQ29sdW1uTmFtZV06IGRhdGFbYXR0cmlidXRlTmFtZV0/LltjdXJyZW50XSB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLnJlc3VsdCB9LFxuICAgICAgICApXG5cbiAgICAgIGlmICh1cGRhdGUgJiYgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lXSkgJiYgIWlzTmlsKGF0dHJpYnV0ZUZpZWxkcykgJiYgIWlzRGF0ZShkYXRhW2F0dHJpYnV0ZU5hbWVdKSlcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICAgICBpZiAoISFjb2x1bW5OYW1lICYmIEFycmF5LmlzQXJyYXkoYXR0cmlidXRlRmllbGRzKSAmJiBpc09iamVjdChkYXRhW2F0dHJpYnV0ZU5hbWVdKSkge1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSAhaXNOaWwoY29sdW1uTmFtZSkgJiYgdG8gPyB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIDogZGF0YVthdHRyaWJ1dGVOYW1lXVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIC4uLihjb252ZXJ0ZWQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiB7XG4gICAgICAgICAgICAgICAgICBkYXRhOlxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSBpbnN0YW5jZW9mIEJhc2VNb2RlbFxuICAgICAgICAgICAgICAgICAgICAgID8gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlVG8oZGF0YVthdHRyaWJ1dGVOYW1lXSwgYXR0cmlidXRlRmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgIDogY29udmVydGVkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30pLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghIXRvKSByZXR1cm4geyAuLi5yZXN1bHQsIFtjb2x1bW5OYW1lXTogdG8oaW5zdGFuY2VbYXR0cmlidXRlTmFtZV0sIGluc3RhbmNlKSB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJlc3VsdCwgW2NvbHVtbk5hbWVdOiBkYXRhW2F0dHJpYnV0ZU5hbWVdIH1cbiAgICB9LCB7fSBhcyBEYXRhVHlwZSlcbiAgfVxufVxuIl19
1
+ import { BaseModel, } from '../../../../domain';
2
+ import { isDate, isEmpty, isNil, isObject, isString, parseDateTime } from '../../../../utils';
3
+ import { AttributeOptionHelper } from './attribute-option.helper';
4
+ import { BindFilterQueryHelper } from './bind-filter-query.helper';
5
+ export class GraphQLFieldHelper {
6
+ }
7
+ GraphQLFieldHelper.CheckIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation;
8
+ GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields = (fields) => {
9
+ return fields === null || fields === void 0 ? void 0 : fields.map((field) => {
10
+ if (isString(field))
11
+ return field.toString();
12
+ const fieldName = Object.keys(field).shift();
13
+ const fieldValue = field[fieldName];
14
+ if (Array.isArray(fieldValue))
15
+ return { [fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue) };
16
+ if (!AttributeOptionHelper.CheckIsColumnOption(fieldValue))
17
+ return;
18
+ if (fieldValue.fields)
19
+ return !fieldValue.filters
20
+ ? {
21
+ [fieldValue.columnName || fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
22
+ }
23
+ : {
24
+ operation: fieldValue.columnName || fieldName,
25
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
26
+ variables: {
27
+ [`${fieldValue.columnName}_where`]: {
28
+ name: 'where',
29
+ type: fieldValue.filters.filterType,
30
+ value: BindFilterQueryHelper.MakeGraphQLWhere(fieldValue.filters.filters, fieldValue.fields),
31
+ required: true,
32
+ },
33
+ },
34
+ };
35
+ return fieldValue.columnName;
36
+ }).filter((field) => !!field);
37
+ };
38
+ GraphQLFieldHelper.ConvertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
39
+ const { attributeName, fields: attributeFields, from, } = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields);
40
+ if (!!attributeFields && Array.isArray(attributeFields)) {
41
+ if (Array.isArray(data[columnName]))
42
+ return Object.assign(Object.assign({}, result), { [attributeName]: from
43
+ ? from(data[columnName], data)
44
+ : data[columnName].map((value) => GraphQLFieldHelper.ConvertFieldValueFrom(value, attributeFields)) });
45
+ if (isObject(data[columnName]))
46
+ return Object.assign(Object.assign({}, result), { [attributeName]: !!from
47
+ ? from(data[columnName])
48
+ : GraphQLFieldHelper.ConvertFieldValueFrom(data[columnName], attributeFields) });
49
+ }
50
+ if (!!from)
51
+ return Object.assign(Object.assign({}, result), { [attributeName]: from(data[columnName], data) });
52
+ return Object.assign(Object.assign({}, result), { [attributeName]: parseDateTime(data[columnName]) });
53
+ }, {});
54
+ GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
55
+ var _a;
56
+ const data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
57
+ return Object.keys(data).reduce((result, attributeName) => {
58
+ const { columnName, fields: attributeFields, foreignKeyColumn, to, bindPersistData, } = AttributeOptionHelper.FindByAttribute(attributeName, fields);
59
+ if (bindPersistData)
60
+ return Object.assign(Object.assign({}, result), bindPersistData(data[attributeName], instance));
61
+ if (isNil(columnName))
62
+ return result;
63
+ if (!!foreignKeyColumn &&
64
+ !isEmpty(foreignKeyColumn) &&
65
+ !Object.keys(foreignKeyColumn).filter((key) => { var _a; return !((_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[key]); }).length)
66
+ return Object.keys(foreignKeyColumn).reduce((object, current) => {
67
+ var _a;
68
+ const { columnName: foreignColumnName } = AttributeOptionHelper.FindByAttribute(foreignKeyColumn[current], fields);
69
+ return Object.assign(Object.assign({}, object), { [foreignColumnName]: (_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[current] });
70
+ }, Object.assign({}, result));
71
+ if (update && isObject(data[attributeName]) && !isNil(attributeFields) && !isDate(data[attributeName]))
72
+ return result;
73
+ if (!!columnName && Array.isArray(attributeFields) && isObject(data[attributeName])) {
74
+ const converted = !isNil(columnName) && to ? to(instance[attributeName], instance) : data[attributeName];
75
+ return Object.assign(Object.assign({}, result), (converted !== undefined
76
+ ? {
77
+ [columnName]: {
78
+ data: instance[attributeName] instanceof BaseModel
79
+ ? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
80
+ : converted,
81
+ },
82
+ }
83
+ : {}));
84
+ }
85
+ if (!!to)
86
+ return Object.assign(Object.assign({}, result), { [columnName]: to(instance[attributeName], instance) });
87
+ return Object.assign(Object.assign({}, result), { [columnName]: data[attributeName] });
88
+ }, {});
89
+ };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFbEUsTUFBTSxPQUFPLGtCQUFrQjs7QUFDdEIsdUNBQW9CLEdBQUcsQ0FDNUIsTUFBdUMsRUFDTCxFQUFFLENBQ3BDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFFcEYsb0RBQWlDLEdBQUcsQ0FDekMsTUFBa0MsRUFDMUIsRUFBRTtJQUNWLE9BQU8sTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUNULEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFVBQVUs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QUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxlQUFlLENBQUM7NEJBQzlFLENBQUMsQ0FBQyxTQUFTO3FCQUNoQjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxDQUFDLEVBQUU7WUFBRSx1Q0FBWSxNQUFNLEtBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFFO1FBRW5GLHVDQUFZLE1BQU0sS0FBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBRTtJQUN6RCxDQUFDLEVBQUUsRUFBYyxDQUFDLENBQUE7QUFDcEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBCYXNlTW9kZWwsXHJcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXHJcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0aWVzLFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNEYXRlLCBpc0VtcHR5LCBpc05pbCwgaXNPYmplY3QsIGlzU3RyaW5nLCBwYXJzZURhdGVUaW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IEZpZWxkcywgR3JhcGhRTFBhcmFtcywgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuaW1wb3J0IHsgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9iaW5kLWZpbHRlci1xdWVyeS5oZWxwZXInXHJcblxyXG5leHBvcnQgY2xhc3MgR3JhcGhRTEZpZWxkSGVscGVyIHtcclxuICBzdGF0aWMgQ2hlY2tJc0dyYXBoUUxQYXJhbXMgPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgcGFyYW1zOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1vZGVsPltdLFxyXG4gICk6IHBhcmFtcyBpcyBHcmFwaFFMUGFyYW1zPE1vZGVsPltdID0+XHJcbiAgICAhaXNTdHJpbmcocGFyYW1zKSAmJiBBcnJheS5pc0FycmF5KHBhcmFtcykgJiYgcGFyYW1zLmxlbmd0aCA+PSAwICYmICEhcGFyYW1zWzBdLm9wZXJhdGlvblxyXG5cclxuICBzdGF0aWMgQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXHJcbiAgKTogRmllbGRzID0+IHtcclxuICAgIHJldHVybiBmaWVsZHNcclxuICAgICAgPy5tYXAoKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzU3RyaW5nKGZpZWxkKSkgcmV0dXJuIGZpZWxkLnRvU3RyaW5nKClcclxuXHJcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LmtleXMoZmllbGQpLnNoaWZ0KClcclxuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRbZmllbGROYW1lXVxyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSlcclxuICAgICAgICAgIHJldHVybiB7IFtmaWVsZE5hbWVdOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkVmFsdWUpIH1cclxuICAgICAgICBpZiAoIUF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGZpZWxkVmFsdWUpKSByZXR1cm5cclxuICAgICAgICBpZiAoZmllbGRWYWx1ZS5maWVsZHMpXHJcbiAgICAgICAgICByZXR1cm4gIWZpZWxkVmFsdWUuZmlsdGVyc1xyXG4gICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIFtmaWVsZFZhbHVlLmNvbHVtbk5hbWUgfHwgZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhcclxuICAgICAgICAgICAgICAgICAgZmllbGRWYWx1ZS5maWVsZHMsXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgICBvcGVyYXRpb246IGZpZWxkVmFsdWUuY29sdW1uTmFtZSB8fCBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZS5maWVsZHMpLFxyXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XHJcbiAgICAgICAgICAgICAgICAgIFtgJHtmaWVsZFZhbHVlLmNvbHVtbk5hbWV9X3doZXJlYF06IHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnd2hlcmUnLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGZpZWxkVmFsdWUuZmlsdGVycy5maWx0ZXJUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWVsZFZhbHVlLmZpbHRlcnMuZmlsdGVycywgZmllbGRWYWx1ZS5maWVsZHMpLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmaWVsZFZhbHVlLmNvbHVtbk5hbWVcclxuICAgICAgfSlcclxuICAgICAgLmZpbHRlcigoZmllbGQpID0+ICEhZmllbGQpXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ29udmVydEZpZWxkVmFsdWVGcm9tID0gPFxyXG4gICAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXHJcbiAgPihcclxuICAgIGRhdGE6IHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZSxcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXHJcbiAgKTogUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8TW9kZWw+PiA9PlxyXG4gICAgT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKChyZXN1bHQsIGNvbHVtbk5hbWUpID0+IHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXHJcbiAgICAgICAgZmllbGRzOiBhdHRyaWJ1dGVGaWVsZHMsXHJcbiAgICAgICAgZnJvbSxcclxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QoY29sdW1uTmFtZSwgZmllbGRzKVxyXG5cclxuICAgICAgaWYgKCEhYXR0cmlidXRlRmllbGRzICYmIEFycmF5LmlzQXJyYXkoYXR0cmlidXRlRmllbGRzKSkge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbY29sdW1uTmFtZV0pKVxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06IGZyb21cclxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSlcclxuICAgICAgICAgICAgICA6IGRhdGFbY29sdW1uTmFtZV0ubWFwKCh2YWx1ZSkgPT4gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlRnJvbSh2YWx1ZSwgYXR0cmlidXRlRmllbGRzKSksXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KGRhdGFbY29sdW1uTmFtZV0pKVxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICBbYXR0cmlidXRlTmFtZV06ICEhZnJvbVxyXG4gICAgICAgICAgICAgID8gZnJvbShkYXRhW2NvbHVtbk5hbWVdKVxyXG4gICAgICAgICAgICAgIDogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlRnJvbShkYXRhW2NvbHVtbk5hbWVdLCBhdHRyaWJ1dGVGaWVsZHMpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoISFmcm9tKSByZXR1cm4geyAuLi5yZXN1bHQsIFthdHRyaWJ1dGVOYW1lXTogZnJvbShkYXRhW2NvbHVtbk5hbWVdLCBkYXRhKSB9XHJcblxyXG4gICAgICByZXR1cm4geyAuLi5yZXN1bHQsIFthdHRyaWJ1dGVOYW1lXTogcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdKSB9XHJcbiAgICB9LCB7fSlcclxuXHJcbiAgc3RhdGljIENvbnZlcnRGaWVsZFZhbHVlVG8gPSA8XHJcbiAgICBNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICAgIERhdGFUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgRGF0YVR5cGUgfCBEYXRlPixcclxuICA+KFxyXG4gICAgaW5zdGFuY2U6IE1vZGVsLFxyXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPixcclxuICAgIHVwZGF0ZSA9IGZhbHNlLFxyXG4gICk6IERhdGFUeXBlID0+IHtcclxuICAgIGNvbnN0IGRhdGE6IFBhcnRpYWw8TW9kZWxCYXNlU3RydWN0dXJlPiA9IGluc3RhbmNlLnRvUGxhaW4/LigpIHx8IGluc3RhbmNlXHJcblxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBhdHRyaWJ1dGVOYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBjb2x1bW5OYW1lLFxyXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxyXG4gICAgICAgIGZvcmVpZ25LZXlDb2x1bW4sXHJcbiAgICAgICAgdG8sXHJcbiAgICAgICAgYmluZFBlcnNpc3REYXRhLFxyXG4gICAgICB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+LCBmaWVsZHMpXHJcblxyXG4gICAgICBpZiAoYmluZFBlcnNpc3REYXRhKSByZXR1cm4geyAuLi5yZXN1bHQsIC4uLmJpbmRQZXJzaXN0RGF0YShkYXRhW2F0dHJpYnV0ZU5hbWVdLCBpbnN0YW5jZSkgfVxyXG4gICAgICBpZiAoaXNOaWwoY29sdW1uTmFtZSkpIHJldHVybiByZXN1bHRcclxuICAgICAgaWYgKFxyXG4gICAgICAgICEhZm9yZWlnbktleUNvbHVtbiAmJlxyXG4gICAgICAgICFpc0VtcHR5KGZvcmVpZ25LZXlDb2x1bW4pICYmXHJcbiAgICAgICAgIU9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLmZpbHRlcigoa2V5KSA9PiAhZGF0YVthdHRyaWJ1dGVOYW1lXT8uW2tleV0pLmxlbmd0aFxyXG4gICAgICApXHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLnJlZHVjZShcclxuICAgICAgICAgIChvYmplY3QsIGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2x1bW5OYW1lOiBmb3JlaWduQ29sdW1uTmFtZSB9ID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uW2N1cnJlbnRdLFxyXG4gICAgICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgICAgKVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ub2JqZWN0LCBbZm9yZWlnbkNvbHVtbk5hbWVdOiBkYXRhW2F0dHJpYnV0ZU5hbWVdPy5bY3VycmVudF0gfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgLi4ucmVzdWx0IH0sXHJcbiAgICAgICAgKVxyXG5cclxuICAgICAgaWYgKHVwZGF0ZSAmJiBpc09iamVjdChkYXRhW2F0dHJpYnV0ZU5hbWVdKSAmJiAhaXNOaWwoYXR0cmlidXRlRmllbGRzKSAmJiAhaXNEYXRlKGRhdGFbYXR0cmlidXRlTmFtZV0pKVxyXG4gICAgICAgIHJldHVybiByZXN1bHRcclxuXHJcbiAgICAgIGlmICghIWNvbHVtbk5hbWUgJiYgQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVGaWVsZHMpICYmIGlzT2JqZWN0KGRhdGFbYXR0cmlidXRlTmFtZV0pKSB7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkID0gIWlzTmlsKGNvbHVtbk5hbWUpICYmIHRvID8gdG8oaW5zdGFuY2VbYXR0cmlidXRlTmFtZV0sIGluc3RhbmNlKSA6IGRhdGFbYXR0cmlidXRlTmFtZV1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgIC4uLihjb252ZXJ0ZWQgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIFtjb2x1bW5OYW1lXToge1xyXG4gICAgICAgICAgICAgICAgICBkYXRhOlxyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW2F0dHJpYnV0ZU5hbWVdIGluc3RhbmNlb2YgQmFzZU1vZGVsXHJcbiAgICAgICAgICAgICAgICAgICAgICA/IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGRhdGFbYXR0cmlidXRlTmFtZV0sIGF0dHJpYnV0ZUZpZWxkcylcclxuICAgICAgICAgICAgICAgICAgICAgIDogY29udmVydGVkLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDoge30pLFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhdG8pIHJldHVybiB7IC4uLnJlc3VsdCwgW2NvbHVtbk5hbWVdOiB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIH1cclxuXHJcbiAgICAgIHJldHVybiB7IC4uLnJlc3VsdCwgW2NvbHVtbk5hbWVdOiBkYXRhW2F0dHJpYnV0ZU5hbWVdIH1cclxuICAgIH0sIHt9IGFzIERhdGFUeXBlKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- export * from './attribute-option.helper';
2
- export * from './bind-filter-query.helper';
3
- export * from './filter-option.helper';
4
- export * from './graphql-field.helper';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXG4iXX0=
1
+ export * from './attribute-option.helper';
2
+ export * from './bind-filter-query.helper';
3
+ export * from './filter-option.helper';
4
+ export * from './graphql-field.helper';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuZXhwb3J0ICogZnJvbSAnLi9iaW5kLWZpbHRlci1xdWVyeS5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
- export * from './with-create-hasura-graphql.mixin';
2
- export * from './with-delete-hasura-graphql.mixin';
3
- export * from './with-hasura-graphql.mixin';
4
- export * from './with-update-hasura-graphql.mixin';
5
- export * from './with-get-hasura-graphql.mixin';
6
- export * from './with-find-hasura-graphql.mixin';
7
- export * from './with-crud-hasura-graphql.mixin';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuIl19
1
+ export * from './with-create-hasura-graphql.mixin';
2
+ export * from './with-delete-hasura-graphql.mixin';
3
+ export * from './with-hasura-graphql.mixin';
4
+ export * from './with-update-hasura-graphql.mixin';
5
+ export * from './with-get-hasura-graphql.mixin';
6
+ export * from './with-find-hasura-graphql.mixin';
7
+ export * from './with-crud-hasura-graphql.mixin';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWZpbmQtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG4iXX0=