@infrab4a/connect 4.1.0-beta.9 → 4.1.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.default.js +1 -0
  3. package/index.cjs.js +5720 -0
  4. package/index.cjs.mjs +2 -0
  5. package/index.d.ts +1 -5
  6. package/{fesm2020/infrab4a-connect.mjs → index.esm.js} +1206 -627
  7. package/package.json +12 -17
  8. package/{domain → src/domain}/catalog/models/category-collection-children.d.ts +1 -1
  9. package/{domain → src/domain}/catalog/models/category-filter.d.ts +1 -1
  10. package/{domain → src/domain}/catalog/models/kit-product.d.ts +1 -1
  11. package/src/domain/catalog/models/types/category-condition.type.d.ts +4 -0
  12. package/{domain → src/domain}/catalog/models/types/category-metadata.type.d.ts +1 -1
  13. package/{domain → src/domain}/catalog/models/types/category-product.d.ts +1 -1
  14. package/{domain → src/domain}/catalog/models/types/product-evaluation.type.d.ts +1 -1
  15. package/src/domain/catalog/models/types/product-gender.type.d.ts +1 -0
  16. package/{domain → src/domain}/catalog/models/types/product-metadata.type.d.ts +1 -1
  17. package/{domain → src/domain}/catalog/models/types/product-review.type.d.ts +1 -1
  18. package/{domain → src/domain}/catalog/models/types/shop-description.type.d.ts +1 -1
  19. package/{domain → src/domain}/catalog/models/types/shop-price.type.d.ts +1 -1
  20. package/src/domain/catalog/models/types/stock.type.d.ts +3 -0
  21. package/{domain → src/domain}/catalog/models/types/variant-grade.type.d.ts +1 -1
  22. package/{domain → src/domain}/catalog/models/variant.d.ts +1 -1
  23. package/{domain → src/domain}/catalog/repositories/product.repository.d.ts +2 -2
  24. package/{domain → src/domain}/generic/model/base.model.d.ts +1 -1
  25. package/src/domain/generic/model/types/identifier-model.type.d.ts +8 -0
  26. package/{domain → src/domain}/generic/model/types/model-base-structure.type.d.ts +2 -2
  27. package/src/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
  28. package/src/domain/generic/model/types/non-function-property-name.type.d.ts +13 -0
  29. package/{domain → src/domain}/generic/repository/create.repository.d.ts +1 -1
  30. package/{domain → src/domain}/generic/repository/crud.repository.d.ts +2 -2
  31. package/{domain → src/domain}/generic/repository/delete.repository.d.ts +1 -1
  32. package/{domain → src/domain}/generic/repository/find.repository.d.ts +1 -1
  33. package/{domain → src/domain}/generic/repository/get.repository.d.ts +1 -1
  34. package/{domain → src/domain}/generic/repository/read.repository.d.ts +2 -2
  35. package/{domain → src/domain}/generic/repository/types/repository-find-filters.type.d.ts +4 -4
  36. package/{domain → src/domain}/generic/repository/types/repository-find-result.type.d.ts +2 -2
  37. package/{domain → src/domain}/generic/repository/types/repository-limit-options.type.d.ts +1 -1
  38. package/{domain → src/domain}/generic/repository/types/repository-order-by-list.type.d.ts +2 -2
  39. package/{domain → src/domain}/generic/repository/types/repository-update-params.type.d.ts +3 -3
  40. package/src/domain/generic/repository/types/where-options.type.d.ts +2 -0
  41. package/{domain → src/domain}/generic/repository/update.repository.d.ts +1 -1
  42. package/{domain → src/domain}/location/models/types/location-bound.type.d.ts +1 -1
  43. package/{domain → src/domain}/location/models/types/location-geometry.type.d.ts +1 -1
  44. package/{domain → src/domain}/location/models/types/location-lat-lng.type.d.ts +1 -1
  45. package/{domain → src/domain}/shop-settings/enums/index.d.ts +0 -1
  46. package/{domain → src/domain}/shop-settings/helpers/beauty-questions.helper.d.ts +1 -1
  47. package/{domain → src/domain}/shop-settings/models/index.d.ts +0 -2
  48. package/{domain → src/domain}/shop-settings/models/shop-settings.d.ts +3 -7
  49. package/{domain → src/domain}/shop-settings/models/types/banner.type.d.ts +1 -1
  50. package/{domain → src/domain}/shop-settings/models/types/benefit.type.d.ts +1 -1
  51. package/{domain → src/domain}/shop-settings/models/types/home-data.type.d.ts +3 -3
  52. package/{domain → src/domain}/shop-settings/models/types/index.d.ts +0 -6
  53. package/{domain → src/domain}/shop-settings/models/types/menu-nav.type.d.ts +1 -1
  54. package/src/domain/shop-settings/models/types/shop-banner.type.d.ts +12 -0
  55. package/src/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -0
  56. package/{domain → src/domain}/shop-settings/models/types/shop-section.type.d.ts +1 -4
  57. package/{domain → src/domain}/shop-settings/models/types/sub-menu.type.d.ts +2 -2
  58. package/{domain → src/domain}/shop-settings/repositories/index.d.ts +0 -2
  59. package/{domain → src/domain}/shopping/models/types/payment-address.type.d.ts +1 -1
  60. package/{domain → src/domain}/shopping/models/types/payment-billing.type.d.ts +1 -1
  61. package/{domain → src/domain}/shopping/models/types/payment-card.type.d.ts +1 -1
  62. package/{domain → src/domain}/shopping/models/types/payment-customer.type.d.ts +1 -1
  63. package/{domain → src/domain}/shopping/models/types/payment-document.type.d.ts +1 -1
  64. package/{domain → src/domain}/shopping/models/types/payment-item.type.d.ts +1 -1
  65. package/{domain → src/domain}/shopping/models/types/payment-shipping.type.d.ts +1 -1
  66. package/{domain → src/domain}/users/models/beauty-profile.d.ts +1 -1
  67. package/{domain → src/domain}/users/models/subscription/edition.d.ts +1 -1
  68. package/{domain → src/domain}/users/models/subscription/payment.d.ts +1 -1
  69. package/{domain → src/domain}/users/models/user-address.d.ts +1 -1
  70. package/{domain → src/domain}/users/models/user-payment-method.d.ts +1 -1
  71. package/{domain → src/domain}/users/services/authentication.service.d.ts +1 -1
  72. package/{domain → src/domain}/users/services/register.service.d.ts +1 -1
  73. package/src/domain/users/services/types/basic-user-data.type.d.ts +4 -0
  74. package/{domain → src/domain}/users/use-cases/authentication.d.ts +2 -2
  75. package/{domain → src/domain}/users/use-cases/register.d.ts +1 -1
  76. package/src/index.d.ts +5 -0
  77. package/{infra → src/infra}/elasticsearch/adapters/axios.adapter.d.ts +1 -1
  78. package/{infra → src/infra}/elasticsearch/indexes/products-index.d.ts +1 -1
  79. package/{infra → src/infra}/elasticsearch/types/elastic-search-result.d.ts +1 -1
  80. package/{infra → src/infra}/firebase/auth/types/firebase-user-with-id.type.d.ts +1 -1
  81. package/src/infra/firebase/auth/types/index.d.ts +1 -0
  82. package/{infra → src/infra}/firebase/firestore/mixins/with-firestore.mixin.d.ts +1 -1
  83. package/{infra → src/infra}/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +1 -1
  84. package/{infra → src/infra}/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +1 -1
  85. package/{infra → src/infra}/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +1 -1
  86. package/{infra → src/infra}/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +1 -1
  87. package/{infra → src/infra}/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +2 -2
  88. package/{infra → src/infra}/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +1 -1
  89. package/{infra → src/infra}/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +1 -1
  90. package/{infra → src/infra}/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +1 -1
  91. package/{infra → src/infra}/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +1 -1
  92. package/{infra → src/infra}/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +1 -1
  93. package/{infra → src/infra}/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +1 -1
  94. package/{infra → src/infra}/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +1 -1
  95. package/{infra → src/infra}/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +1 -1
  96. package/{infra → src/infra}/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +1 -1
  97. package/{infra → src/infra}/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +1 -1
  98. package/{infra → src/infra}/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +1 -1
  99. package/{infra → src/infra}/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +1 -1
  100. package/{infra → src/infra}/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +1 -1
  101. package/{infra → src/infra}/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +1 -1
  102. package/{infra → src/infra}/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +2 -2
  103. package/{infra → src/infra}/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +1 -1
  104. package/{infra → src/infra}/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +2 -2
  105. package/{infra → src/infra}/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +2 -2
  106. package/{infra → src/infra}/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +2 -2
  107. package/{infra → src/infra}/firebase/firestore/repositories/users/user-firestore.repository.d.ts +1 -1
  108. package/{infra → src/infra}/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +2 -2
  109. package/{infra → src/infra}/firebase/firestore/types/firestore-interceptors.type.d.ts +1 -1
  110. package/{infra → src/infra}/firebase/firestore/types/firestore-sub.repository.type.d.ts +1 -1
  111. package/{infra → src/infra}/firebase/firestore/types/firestore.repository.type.d.ts +1 -1
  112. package/{infra → src/infra}/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +1 -1
  113. package/{infra → src/infra}/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +1 -1
  114. package/{infra → src/infra}/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -1
  115. package/{infra → src/infra}/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +1 -1
  116. package/{infra → src/infra}/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +1 -1
  117. package/{infra → src/infra}/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +3 -3
  118. package/{infra → src/infra}/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +2 -2
  119. package/{infra → src/infra}/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +1 -1
  120. package/{infra → src/infra}/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +1 -1
  121. package/{infra → src/infra}/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +1 -1
  122. package/{infra → src/infra}/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +1 -1
  123. package/{infra → src/infra}/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +1 -1
  124. package/{infra → src/infra}/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +1 -1
  125. package/{infra → src/infra}/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +1 -1
  126. package/src/infra/hasura-graphql/types/fields.type.d.ts +2 -0
  127. package/{infra → src/infra}/hasura-graphql/types/graphql.repository.type.d.ts +2 -2
  128. package/{infra → src/infra}/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +1 -1
  129. package/{infra → src/infra}/hasura-graphql/types/hasura-graphql-fields.type.d.ts +6 -6
  130. package/{infra → src/infra}/hasura-graphql/types/hasura-graphql-headers.type.d.ts +1 -1
  131. package/{infra → src/infra}/hasura-graphql/types/nested-field.type.d.ts +1 -1
  132. package/{infra → src/infra}/hasura-graphql/types/variable-options.type.d.ts +1 -1
  133. package/{utils → src/utils}/decorators/trace.method.decorator.d.ts +3 -3
  134. package/{utils → src/utils}/helpers/debug-decorator.helper.d.ts +1 -1
  135. package/{utils → src/utils}/helpers/debug.helper.d.ts +3 -3
  136. package/{utils → src/utils}/helpers/reflect.helper.d.ts +7 -7
  137. package/{utils → src/utils}/index.d.ts +1 -1
  138. package/src/utils/mixins/merge-constructor-params.type.d.ts +3 -0
  139. package/src/utils/mixins/mixin-ctor.type.d.ts +1 -0
  140. package/src/utils/types/array-element.type.d.ts +1 -0
  141. package/src/utils/types/prop.type.d.ts +1 -0
  142. package/README.md +0 -24
  143. package/domain/catalog/models/types/category-condition.type.d.ts +0 -4
  144. package/domain/catalog/models/types/product-gender.type.d.ts +0 -1
  145. package/domain/catalog/models/types/stock.type.d.ts +0 -3
  146. package/domain/generic/model/types/identifier-model.type.d.ts +0 -8
  147. package/domain/generic/model/types/non-function-properties.type.d.ts +0 -12
  148. package/domain/generic/model/types/non-function-property-name.type.d.ts +0 -13
  149. package/domain/generic/repository/types/where-options.type.d.ts +0 -2
  150. package/domain/shop-settings/enums/shop-page-name.enum.d.ts +0 -19
  151. package/domain/shop-settings/models/campaign-banner.d.ts +0 -11
  152. package/domain/shop-settings/models/campaign.d.ts +0 -10
  153. package/domain/shop-settings/models/types/campaign-page.d.ts +0 -17
  154. package/domain/shop-settings/models/types/landing-page.d.ts +0 -8
  155. package/domain/shop-settings/models/types/sections.type.d.ts +0 -34
  156. package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -13
  157. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +0 -4
  158. package/domain/shop-settings/models/types/shop-gift.type.d.ts +0 -8
  159. package/domain/shop-settings/models/types/shop-home.d.ts +0 -12
  160. package/domain/shop-settings/models/types/shop-post.type.d.ts +0 -7
  161. package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +0 -4
  162. package/domain/shop-settings/repositories/campaign.repository.d.ts +0 -4
  163. package/domain/users/services/types/basic-user-data.type.d.ts +0 -4
  164. package/esm2020/domain/catalog/helpers/index.mjs +0 -2
  165. package/esm2020/domain/catalog/helpers/round-product-price.helper.mjs +0 -15
  166. package/esm2020/domain/catalog/index.mjs +0 -4
  167. package/esm2020/domain/catalog/models/category-base.mjs +0 -18
  168. package/esm2020/domain/catalog/models/category-collection-children.mjs +0 -13
  169. package/esm2020/domain/catalog/models/category-filter.mjs +0 -19
  170. package/esm2020/domain/catalog/models/category-for-product.mjs +0 -7
  171. package/esm2020/domain/catalog/models/category.mjs +0 -14
  172. package/esm2020/domain/catalog/models/enums/index.mjs +0 -3
  173. package/esm2020/domain/catalog/models/enums/product-genders.enum.mjs +0 -7
  174. package/esm2020/domain/catalog/models/enums/shops.enum.mjs +0 -8
  175. package/esm2020/domain/catalog/models/filter-option.mjs +0 -7
  176. package/esm2020/domain/catalog/models/filter.mjs +0 -7
  177. package/esm2020/domain/catalog/models/index.mjs +0 -12
  178. package/esm2020/domain/catalog/models/kit-product.mjs +0 -18
  179. package/esm2020/domain/catalog/models/product-base.mjs +0 -25
  180. package/esm2020/domain/catalog/models/product-for-category.mjs +0 -14
  181. package/esm2020/domain/catalog/models/product-for-kit.mjs +0 -14
  182. package/esm2020/domain/catalog/models/product.mjs +0 -19
  183. package/esm2020/domain/catalog/models/types/category-condition.type.mjs +0 -2
  184. package/esm2020/domain/catalog/models/types/category-metadata.type.mjs +0 -2
  185. package/esm2020/domain/catalog/models/types/category-product.mjs +0 -2
  186. package/esm2020/domain/catalog/models/types/index.mjs +0 -12
  187. package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +0 -2
  188. package/esm2020/domain/catalog/models/types/product-gender.type.mjs +0 -2
  189. package/esm2020/domain/catalog/models/types/product-metadata.type.mjs +0 -2
  190. package/esm2020/domain/catalog/models/types/product-review.type.mjs +0 -2
  191. package/esm2020/domain/catalog/models/types/shop-description.type.mjs +0 -2
  192. package/esm2020/domain/catalog/models/types/shop-price.type.mjs +0 -2
  193. package/esm2020/domain/catalog/models/types/stock.type.mjs +0 -2
  194. package/esm2020/domain/catalog/models/types/variant-grade.type.mjs +0 -2
  195. package/esm2020/domain/catalog/models/variant.mjs +0 -7
  196. package/esm2020/domain/catalog/models/wishlist.mjs +0 -7
  197. package/esm2020/domain/catalog/repositories/category-collection-children.repository.mjs +0 -2
  198. package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +0 -2
  199. package/esm2020/domain/catalog/repositories/category.repository.mjs +0 -2
  200. package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +0 -2
  201. package/esm2020/domain/catalog/repositories/filter.repository.mjs +0 -2
  202. package/esm2020/domain/catalog/repositories/index.mjs +0 -10
  203. package/esm2020/domain/catalog/repositories/product.repository.mjs +0 -2
  204. package/esm2020/domain/catalog/repositories/subscription-product.repository.mjs +0 -2
  205. package/esm2020/domain/catalog/repositories/variant.repository.mjs +0 -2
  206. package/esm2020/domain/catalog/repositories/wishlist.repository.mjs +0 -2
  207. package/esm2020/domain/generic/index.mjs +0 -3
  208. package/esm2020/domain/generic/model/base.model.mjs +0 -24
  209. package/esm2020/domain/generic/model/identifier-fields.mjs +0 -2
  210. package/esm2020/domain/generic/model/index.mjs +0 -4
  211. package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +0 -2
  212. package/esm2020/domain/generic/model/types/identifier-model.type.mjs +0 -2
  213. package/esm2020/domain/generic/model/types/index.mjs +0 -6
  214. package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +0 -2
  215. package/esm2020/domain/generic/model/types/non-function-properties.type.mjs +0 -2
  216. package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +0 -2
  217. package/esm2020/domain/generic/repository/create.repository.mjs +0 -2
  218. package/esm2020/domain/generic/repository/crud.repository.mjs +0 -2
  219. package/esm2020/domain/generic/repository/delete.repository.mjs +0 -2
  220. package/esm2020/domain/generic/repository/enums/index.mjs +0 -3
  221. package/esm2020/domain/generic/repository/enums/update-option-actions.enum.mjs +0 -9
  222. package/esm2020/domain/generic/repository/enums/where.enum.mjs +0 -16
  223. package/esm2020/domain/generic/repository/find.repository.mjs +0 -2
  224. package/esm2020/domain/generic/repository/get.repository.mjs +0 -2
  225. package/esm2020/domain/generic/repository/index.mjs +0 -10
  226. package/esm2020/domain/generic/repository/read.repository.mjs +0 -2
  227. package/esm2020/domain/generic/repository/types/index.mjs +0 -7
  228. package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +0 -2
  229. package/esm2020/domain/generic/repository/types/repository-find-result.type.mjs +0 -2
  230. package/esm2020/domain/generic/repository/types/repository-limit-options.type.mjs +0 -2
  231. package/esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs +0 -2
  232. package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +0 -2
  233. package/esm2020/domain/generic/repository/types/where-options.type.mjs +0 -2
  234. package/esm2020/domain/generic/repository/update.repository.mjs +0 -2
  235. package/esm2020/domain/index.mjs +0 -7
  236. package/esm2020/domain/location/index.mjs +0 -2
  237. package/esm2020/domain/location/models/address.mjs +0 -7
  238. package/esm2020/domain/location/models/index.mjs +0 -3
  239. package/esm2020/domain/location/models/types/index.mjs +0 -4
  240. package/esm2020/domain/location/models/types/location-bound.type.mjs +0 -2
  241. package/esm2020/domain/location/models/types/location-geometry.type.mjs +0 -2
  242. package/esm2020/domain/location/models/types/location-lat-lng.type.mjs +0 -2
  243. package/esm2020/domain/shop-settings/enums/filter-type.enum.mjs +0 -21
  244. package/esm2020/domain/shop-settings/enums/index.mjs +0 -4
  245. package/esm2020/domain/shop-settings/enums/questions-filters.enum.mjs +0 -21
  246. package/esm2020/domain/shop-settings/enums/shop-page-name.enum.mjs +0 -21
  247. package/esm2020/domain/shop-settings/helpers/beauty-questions.helper.mjs +0 -47
  248. package/esm2020/domain/shop-settings/helpers/index.mjs +0 -2
  249. package/esm2020/domain/shop-settings/index.mjs +0 -5
  250. package/esm2020/domain/shop-settings/models/campaign-banner.mjs +0 -7
  251. package/esm2020/domain/shop-settings/models/campaign.mjs +0 -7
  252. package/esm2020/domain/shop-settings/models/home.mjs +0 -7
  253. package/esm2020/domain/shop-settings/models/index.mjs +0 -7
  254. package/esm2020/domain/shop-settings/models/shop-menu.mjs +0 -7
  255. package/esm2020/domain/shop-settings/models/shop-settings.mjs +0 -7
  256. package/esm2020/domain/shop-settings/models/types/banner.type.mjs +0 -2
  257. package/esm2020/domain/shop-settings/models/types/benefit.type.mjs +0 -2
  258. package/esm2020/domain/shop-settings/models/types/campaign-page.mjs +0 -2
  259. package/esm2020/domain/shop-settings/models/types/home-data.type.mjs +0 -2
  260. package/esm2020/domain/shop-settings/models/types/index.mjs +0 -17
  261. package/esm2020/domain/shop-settings/models/types/landing-page.mjs +0 -2
  262. package/esm2020/domain/shop-settings/models/types/menu-nav.type.mjs +0 -2
  263. package/esm2020/domain/shop-settings/models/types/sections.type.mjs +0 -2
  264. package/esm2020/domain/shop-settings/models/types/shop-banner.type.mjs +0 -2
  265. package/esm2020/domain/shop-settings/models/types/shop-brands.type.mjs +0 -2
  266. package/esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs +0 -2
  267. package/esm2020/domain/shop-settings/models/types/shop-collection.type.mjs +0 -2
  268. package/esm2020/domain/shop-settings/models/types/shop-gift.type.mjs +0 -2
  269. package/esm2020/domain/shop-settings/models/types/shop-home.mjs +0 -2
  270. package/esm2020/domain/shop-settings/models/types/shop-post.type.mjs +0 -2
  271. package/esm2020/domain/shop-settings/models/types/shop-section.type.mjs +0 -2
  272. package/esm2020/domain/shop-settings/models/types/sub-menu.type.mjs +0 -2
  273. package/esm2020/domain/shop-settings/repositories/campaign-banner.repository.mjs +0 -2
  274. package/esm2020/domain/shop-settings/repositories/campaign.repository.mjs +0 -2
  275. package/esm2020/domain/shop-settings/repositories/home.repository.mjs +0 -2
  276. package/esm2020/domain/shop-settings/repositories/index.mjs +0 -6
  277. package/esm2020/domain/shop-settings/repositories/shop-menu.repository.mjs +0 -2
  278. package/esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs +0 -2
  279. package/esm2020/domain/shopping/index.mjs +0 -3
  280. package/esm2020/domain/shopping/models/buy-2-win.mjs +0 -14
  281. package/esm2020/domain/shopping/models/campaign-dashboard.mjs +0 -7
  282. package/esm2020/domain/shopping/models/campaign-hashtag.mjs +0 -7
  283. package/esm2020/domain/shopping/models/checkout.mjs +0 -37
  284. package/esm2020/domain/shopping/models/coupons/coupon.mjs +0 -38
  285. package/esm2020/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs +0 -7
  286. package/esm2020/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs +0 -6
  287. package/esm2020/domain/shopping/models/coupons/enums/coupon-types.enum.mjs +0 -10
  288. package/esm2020/domain/shopping/models/coupons/enums/exclusivities.enum.mjs +0 -10
  289. package/esm2020/domain/shopping/models/coupons/enums/index.mjs +0 -4
  290. package/esm2020/domain/shopping/models/coupons/index.mjs +0 -3
  291. package/esm2020/domain/shopping/models/enums/checkout-types.enum.mjs +0 -7
  292. package/esm2020/domain/shopping/models/enums/index.mjs +0 -3
  293. package/esm2020/domain/shopping/models/enums/order-status.enum.mjs +0 -12
  294. package/esm2020/domain/shopping/models/index.mjs +0 -13
  295. package/esm2020/domain/shopping/models/line-item.mjs +0 -4
  296. package/esm2020/domain/shopping/models/order.mjs +0 -11
  297. package/esm2020/domain/shopping/models/payment.mjs +0 -169
  298. package/esm2020/domain/shopping/models/shipping-method.mjs +0 -7
  299. package/esm2020/domain/shopping/models/subscription/checkout.mjs +0 -28
  300. package/esm2020/domain/shopping/models/subscription/index.mjs +0 -3
  301. package/esm2020/domain/shopping/models/subscription/plan.mjs +0 -7
  302. package/esm2020/domain/shopping/models/types/index.mjs +0 -8
  303. package/esm2020/domain/shopping/models/types/payment-address.type.mjs +0 -2
  304. package/esm2020/domain/shopping/models/types/payment-billing.type.mjs +0 -2
  305. package/esm2020/domain/shopping/models/types/payment-card.type.mjs +0 -2
  306. package/esm2020/domain/shopping/models/types/payment-customer.type.mjs +0 -2
  307. package/esm2020/domain/shopping/models/types/payment-document.type.mjs +0 -2
  308. package/esm2020/domain/shopping/models/types/payment-item.type.mjs +0 -2
  309. package/esm2020/domain/shopping/models/types/payment-shipping.type.mjs +0 -2
  310. package/esm2020/domain/shopping/repositories/buy-2-win.repository.mjs +0 -2
  311. package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +0 -2
  312. package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +0 -2
  313. package/esm2020/domain/shopping/repositories/checkout.repository.mjs +0 -2
  314. package/esm2020/domain/shopping/repositories/coupon.repository.mjs +0 -2
  315. package/esm2020/domain/shopping/repositories/index.mjs +0 -10
  316. package/esm2020/domain/shopping/repositories/legacy-order.repository.mjs +0 -2
  317. package/esm2020/domain/shopping/repositories/order.repository.mjs +0 -2
  318. package/esm2020/domain/shopping/repositories/payment.repository.mjs +0 -2
  319. package/esm2020/domain/shopping/repositories/subscription/checkout.repository.mjs +0 -2
  320. package/esm2020/domain/shopping/repositories/subscription/index.mjs +0 -3
  321. package/esm2020/domain/shopping/repositories/subscription/plan.repository.mjs +0 -2
  322. package/esm2020/domain/users/errors/index.mjs +0 -4
  323. package/esm2020/domain/users/errors/unauthorized.error.mjs +0 -7
  324. package/esm2020/domain/users/errors/user-already-registered.error.mjs +0 -7
  325. package/esm2020/domain/users/errors/weak-password.error.mjs +0 -7
  326. package/esm2020/domain/users/index.mjs +0 -6
  327. package/esm2020/domain/users/models/beauty-profile.mjs +0 -12
  328. package/esm2020/domain/users/models/enums/accessory-importances.enum.mjs +0 -7
  329. package/esm2020/domain/users/models/enums/area.enum.mjs +0 -13
  330. package/esm2020/domain/users/models/enums/beard-problems.enum.mjs +0 -11
  331. package/esm2020/domain/users/models/enums/beard-sizes.enum.mjs +0 -9
  332. package/esm2020/domain/users/models/enums/beauty-product-importances.enum.mjs +0 -8
  333. package/esm2020/domain/users/models/enums/body-problems.enum.mjs +0 -13
  334. package/esm2020/domain/users/models/enums/body-shapes.enum.mjs +0 -9
  335. package/esm2020/domain/users/models/enums/body-tattoos.enum.mjs +0 -7
  336. package/esm2020/domain/users/models/enums/face-skin-oilinesses.enum.mjs +0 -9
  337. package/esm2020/domain/users/models/enums/face-skin-problems.enum.mjs +0 -12
  338. package/esm2020/domain/users/models/enums/face-skin-tones.enum.mjs +0 -10
  339. package/esm2020/domain/users/models/enums/family-incomes.enum.mjs +0 -10
  340. package/esm2020/domain/users/models/enums/fragrance-importances.enum.mjs +0 -7
  341. package/esm2020/domain/users/models/enums/hair-colors.enum.mjs +0 -12
  342. package/esm2020/domain/users/models/enums/hair-problems.enum.mjs +0 -12
  343. package/esm2020/domain/users/models/enums/hair-strands.enum.mjs +0 -10
  344. package/esm2020/domain/users/models/enums/hair-types.enum.mjs +0 -9
  345. package/esm2020/domain/users/models/enums/index.mjs +0 -21
  346. package/esm2020/domain/users/models/enums/office-position.enum.mjs +0 -8
  347. package/esm2020/domain/users/models/enums/product-spents.enum.mjs +0 -10
  348. package/esm2020/domain/users/models/enums/user-type.enum.mjs +0 -10
  349. package/esm2020/domain/users/models/index.mjs +0 -8
  350. package/esm2020/domain/users/models/lead.mjs +0 -7
  351. package/esm2020/domain/users/models/subscription/edition.mjs +0 -7
  352. package/esm2020/domain/users/models/subscription/enums/billing-status.enum.mjs +0 -5
  353. package/esm2020/domain/users/models/subscription/enums/edition-status.enum.mjs +0 -6
  354. package/esm2020/domain/users/models/subscription/enums/index.mjs +0 -5
  355. package/esm2020/domain/users/models/subscription/enums/payment-type.enum.mjs +0 -7
  356. package/esm2020/domain/users/models/subscription/enums/status.enum.mjs +0 -6
  357. package/esm2020/domain/users/models/subscription/index.mjs +0 -5
  358. package/esm2020/domain/users/models/subscription/payment.mjs +0 -14
  359. package/esm2020/domain/users/models/subscription/subscription.mjs +0 -43
  360. package/esm2020/domain/users/models/user-address.mjs +0 -7
  361. package/esm2020/domain/users/models/user-payment-method.mjs +0 -7
  362. package/esm2020/domain/users/models/user.mjs +0 -26
  363. package/esm2020/domain/users/repositories/beauty-profile.repository.mjs +0 -2
  364. package/esm2020/domain/users/repositories/edition.repository.mjs +0 -2
  365. package/esm2020/domain/users/repositories/index.mjs +0 -9
  366. package/esm2020/domain/users/repositories/lead.repository.mjs +0 -2
  367. package/esm2020/domain/users/repositories/subscription-payment.repository.mjs +0 -2
  368. package/esm2020/domain/users/repositories/subscription.repository.mjs +0 -2
  369. package/esm2020/domain/users/repositories/user-address.repository.mjs +0 -2
  370. package/esm2020/domain/users/repositories/user-payment-method.repository.mjs +0 -2
  371. package/esm2020/domain/users/repositories/user.repository.mjs +0 -2
  372. package/esm2020/domain/users/services/authentication.service.mjs +0 -2
  373. package/esm2020/domain/users/services/index.mjs +0 -4
  374. package/esm2020/domain/users/services/register.service.mjs +0 -2
  375. package/esm2020/domain/users/services/types/basic-user-data.type.mjs +0 -2
  376. package/esm2020/domain/users/services/types/index.mjs +0 -2
  377. package/esm2020/domain/users/use-cases/authentication.mjs +0 -43
  378. package/esm2020/domain/users/use-cases/index.mjs +0 -5
  379. package/esm2020/domain/users/use-cases/recovery-password.mjs +0 -9
  380. package/esm2020/domain/users/use-cases/register.mjs +0 -38
  381. package/esm2020/domain/users/use-cases/signout.mjs +0 -9
  382. package/esm2020/errors/duplicated-results.error.mjs +0 -7
  383. package/esm2020/errors/index.mjs +0 -5
  384. package/esm2020/errors/invalid-argument.error.mjs +0 -7
  385. package/esm2020/errors/not-found.error.mjs +0 -7
  386. package/esm2020/errors/required-argument.error.mjs +0 -9
  387. package/esm2020/index.mjs +0 -6
  388. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +0 -67
  389. package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +0 -2
  390. package/esm2020/infra/elasticsearch/adapters/index.mjs +0 -3
  391. package/esm2020/infra/elasticsearch/index.mjs +0 -4
  392. package/esm2020/infra/elasticsearch/indexes/index.mjs +0 -2
  393. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +0 -104
  394. package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +0 -2
  395. package/esm2020/infra/elasticsearch/types/index.mjs +0 -2
  396. package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +0 -41
  397. package/esm2020/infra/firebase/auth/index.mjs +0 -3
  398. package/esm2020/infra/firebase/auth/register-firebase-auth.service.mjs +0 -33
  399. package/esm2020/infra/firebase/auth/types/firebase-user-with-id.type.mjs +0 -2
  400. package/esm2020/infra/firebase/firestore/enums/firestore-field-type.enum.mjs +0 -10
  401. package/esm2020/infra/firebase/firestore/enums/index.mjs +0 -2
  402. package/esm2020/infra/firebase/firestore/index.mjs +0 -4
  403. package/esm2020/infra/firebase/firestore/mixins/index.mjs +0 -10
  404. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +0 -31
  405. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +0 -10
  406. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +0 -18
  407. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +0 -110
  408. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +0 -80
  409. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +0 -23
  410. package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +0 -17
  411. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +0 -13
  412. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +0 -51
  413. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +0 -67
  414. package/esm2020/infra/firebase/firestore/repositories/catalog/index.mjs +0 -5
  415. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +0 -54
  416. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +0 -16
  417. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +0 -14
  418. package/esm2020/infra/firebase/firestore/repositories/index.mjs +0 -5
  419. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +0 -60
  420. package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +0 -4
  421. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +0 -14
  422. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +0 -14
  423. package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +0 -14
  424. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +0 -14
  425. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +0 -14
  426. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +0 -14
  427. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +0 -14
  428. package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +0 -31
  429. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +0 -11
  430. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +0 -11
  431. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +0 -40
  432. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +0 -14
  433. package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +0 -14
  434. package/esm2020/infra/firebase/firestore/repositories/users/index.mjs +0 -9
  435. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +0 -14
  436. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +0 -16
  437. package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +0 -14
  438. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +0 -16
  439. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +0 -16
  440. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +0 -16
  441. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +0 -50
  442. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +0 -16
  443. package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +0 -2
  444. package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +0 -2
  445. package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +0 -2
  446. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +0 -2
  447. package/esm2020/infra/firebase/firestore/types/index.mjs +0 -5
  448. package/esm2020/infra/firebase/index.mjs +0 -3
  449. package/esm2020/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs +0 -13
  450. package/esm2020/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs +0 -17
  451. package/esm2020/infra/hasura-graphql/enums/index.mjs +0 -3
  452. package/esm2020/infra/hasura-graphql/index.mjs +0 -5
  453. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +0 -35
  454. package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +0 -71
  455. package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +0 -22
  456. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +0 -125
  457. package/esm2020/infra/hasura-graphql/mixins/helpers/index.mjs +0 -5
  458. package/esm2020/infra/hasura-graphql/mixins/index.mjs +0 -8
  459. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +0 -39
  460. package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +0 -10
  461. package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +0 -31
  462. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +0 -152
  463. package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +0 -37
  464. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +0 -108
  465. package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +0 -62
  466. package/esm2020/infra/hasura-graphql/models/category-hasura-graphql.mjs +0 -4
  467. package/esm2020/infra/hasura-graphql/models/index.mjs +0 -5
  468. package/esm2020/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs +0 -15
  469. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +0 -11
  470. package/esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs +0 -9
  471. package/esm2020/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +0 -39
  472. package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +0 -107
  473. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +0 -338
  474. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +0 -105
  475. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +0 -22
  476. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +0 -9
  477. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +0 -516
  478. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +0 -114
  479. package/esm2020/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.mjs +0 -238
  480. package/esm2020/infra/hasura-graphql/repositories/index.mjs +0 -2
  481. package/esm2020/infra/hasura-graphql/types/fields.type.mjs +0 -2
  482. package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +0 -2
  483. package/esm2020/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs +0 -2
  484. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +0 -2
  485. package/esm2020/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs +0 -2
  486. package/esm2020/infra/hasura-graphql/types/index.mjs +0 -9
  487. package/esm2020/infra/hasura-graphql/types/nested-field.type.mjs +0 -2
  488. package/esm2020/infra/hasura-graphql/types/query-builder-options.type.mjs +0 -2
  489. package/esm2020/infra/hasura-graphql/types/variable-options.type.mjs +0 -2
  490. package/esm2020/infra/index.mjs +0 -4
  491. package/esm2020/infrab4a-connect.mjs +0 -5
  492. package/esm2020/utils/decorators/debug.class.decorator.mjs +0 -7
  493. package/esm2020/utils/decorators/index.mjs +0 -3
  494. package/esm2020/utils/decorators/trace.method.decorator.mjs +0 -81
  495. package/esm2020/utils/get.mjs +0 -3
  496. package/esm2020/utils/helpers/class-name.helper.mjs +0 -15
  497. package/esm2020/utils/helpers/debug-decorator.helper.mjs +0 -18
  498. package/esm2020/utils/helpers/debug.helper.mjs +0 -150
  499. package/esm2020/utils/helpers/index.mjs +0 -5
  500. package/esm2020/utils/helpers/reflect.helper.mjs +0 -165
  501. package/esm2020/utils/index.mjs +0 -13
  502. package/esm2020/utils/is-uuid.mjs +0 -3
  503. package/esm2020/utils/is.mjs +0 -4
  504. package/esm2020/utils/log.utils.mjs +0 -9
  505. package/esm2020/utils/mixins/base.mixin.mjs +0 -6
  506. package/esm2020/utils/mixins/index.mjs +0 -4
  507. package/esm2020/utils/mixins/merge-constructor-params.type.mjs +0 -2
  508. package/esm2020/utils/mixins/mixin-ctor.type.mjs +0 -2
  509. package/esm2020/utils/parse-datetime.mjs +0 -14
  510. package/esm2020/utils/types/array-element.type.mjs +0 -2
  511. package/esm2020/utils/types/index.mjs +0 -3
  512. package/esm2020/utils/types/prop.type.mjs +0 -2
  513. package/fesm2015/infrab4a-connect.mjs +0 -4976
  514. package/fesm2015/infrab4a-connect.mjs.map +0 -1
  515. package/fesm2020/infrab4a-connect.mjs.map +0 -1
  516. package/infra/hasura-graphql/types/fields.type.d.ts +0 -2
  517. package/utils/mixins/merge-constructor-params.type.d.ts +0 -3
  518. package/utils/mixins/mixin-ctor.type.d.ts +0 -1
  519. package/utils/types/array-element.type.d.ts +0 -1
  520. package/utils/types/prop.type.d.ts +0 -1
  521. /package/{domain → src/domain}/catalog/helpers/index.d.ts +0 -0
  522. /package/{domain → src/domain}/catalog/helpers/round-product-price.helper.d.ts +0 -0
  523. /package/{domain → src/domain}/catalog/index.d.ts +0 -0
  524. /package/{domain → src/domain}/catalog/models/category-base.d.ts +0 -0
  525. /package/{domain → src/domain}/catalog/models/category-for-product.d.ts +0 -0
  526. /package/{domain → src/domain}/catalog/models/category.d.ts +0 -0
  527. /package/{domain → src/domain}/catalog/models/enums/index.d.ts +0 -0
  528. /package/{domain → src/domain}/catalog/models/enums/product-genders.enum.d.ts +0 -0
  529. /package/{domain → src/domain}/catalog/models/enums/shops.enum.d.ts +0 -0
  530. /package/{domain → src/domain}/catalog/models/filter-option.d.ts +0 -0
  531. /package/{domain → src/domain}/catalog/models/filter.d.ts +0 -0
  532. /package/{domain → src/domain}/catalog/models/index.d.ts +0 -0
  533. /package/{domain → src/domain}/catalog/models/product-base.d.ts +0 -0
  534. /package/{domain → src/domain}/catalog/models/product-for-category.d.ts +0 -0
  535. /package/{domain → src/domain}/catalog/models/product-for-kit.d.ts +0 -0
  536. /package/{domain → src/domain}/catalog/models/product.d.ts +0 -0
  537. /package/{domain → src/domain}/catalog/models/types/index.d.ts +0 -0
  538. /package/{domain → src/domain}/catalog/models/wishlist.d.ts +0 -0
  539. /package/{domain → src/domain}/catalog/repositories/category-collection-children.repository.d.ts +0 -0
  540. /package/{domain → src/domain}/catalog/repositories/category-filter.repository.d.ts +0 -0
  541. /package/{domain → src/domain}/catalog/repositories/category.repository.d.ts +0 -0
  542. /package/{domain → src/domain}/catalog/repositories/filter-option.repository.d.ts +0 -0
  543. /package/{domain → src/domain}/catalog/repositories/filter.repository.d.ts +0 -0
  544. /package/{domain → src/domain}/catalog/repositories/index.d.ts +0 -0
  545. /package/{domain → src/domain}/catalog/repositories/subscription-product.repository.d.ts +0 -0
  546. /package/{domain → src/domain}/catalog/repositories/variant.repository.d.ts +0 -0
  547. /package/{domain → src/domain}/catalog/repositories/wishlist.repository.d.ts +0 -0
  548. /package/{domain → src/domain}/generic/index.d.ts +0 -0
  549. /package/{domain → src/domain}/generic/model/identifier-fields.d.ts +0 -0
  550. /package/{domain → src/domain}/generic/model/index.d.ts +0 -0
  551. /package/{domain → src/domain}/generic/model/types/base-model-builder.type.d.ts +0 -0
  552. /package/{domain → src/domain}/generic/model/types/index.d.ts +0 -0
  553. /package/{domain → src/domain}/generic/repository/enums/index.d.ts +0 -0
  554. /package/{domain → src/domain}/generic/repository/enums/update-option-actions.enum.d.ts +0 -0
  555. /package/{domain → src/domain}/generic/repository/enums/where.enum.d.ts +0 -0
  556. /package/{domain → src/domain}/generic/repository/index.d.ts +0 -0
  557. /package/{domain → src/domain}/generic/repository/types/index.d.ts +0 -0
  558. /package/{domain → src/domain}/index.d.ts +0 -0
  559. /package/{domain → src/domain}/location/index.d.ts +0 -0
  560. /package/{domain → src/domain}/location/models/address.d.ts +0 -0
  561. /package/{domain → src/domain}/location/models/index.d.ts +0 -0
  562. /package/{domain → src/domain}/location/models/types/index.d.ts +0 -0
  563. /package/{domain → src/domain}/shop-settings/enums/filter-type.enum.d.ts +0 -0
  564. /package/{domain → src/domain}/shop-settings/enums/questions-filters.enum.d.ts +0 -0
  565. /package/{domain → src/domain}/shop-settings/helpers/index.d.ts +0 -0
  566. /package/{domain → src/domain}/shop-settings/index.d.ts +0 -0
  567. /package/{domain → src/domain}/shop-settings/models/home.d.ts +0 -0
  568. /package/{domain → src/domain}/shop-settings/models/shop-menu.d.ts +0 -0
  569. /package/{domain → src/domain}/shop-settings/models/types/shop-brands.type.d.ts +0 -0
  570. /package/{domain → src/domain}/shop-settings/models/types/shop-collection.type.d.ts +0 -0
  571. /package/{domain → src/domain}/shop-settings/repositories/home.repository.d.ts +0 -0
  572. /package/{domain → src/domain}/shop-settings/repositories/shop-menu.repository.d.ts +0 -0
  573. /package/{domain → src/domain}/shop-settings/repositories/shop-settings.repository.d.ts +0 -0
  574. /package/{domain → src/domain}/shopping/index.d.ts +0 -0
  575. /package/{domain → src/domain}/shopping/models/buy-2-win.d.ts +0 -0
  576. /package/{domain → src/domain}/shopping/models/campaign-dashboard.d.ts +0 -0
  577. /package/{domain → src/domain}/shopping/models/campaign-hashtag.d.ts +0 -0
  578. /package/{domain → src/domain}/shopping/models/checkout.d.ts +0 -0
  579. /package/{domain → src/domain}/shopping/models/coupons/coupon.d.ts +0 -0
  580. /package/{domain → src/domain}/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +0 -0
  581. /package/{domain → src/domain}/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +0 -0
  582. /package/{domain → src/domain}/shopping/models/coupons/enums/coupon-types.enum.d.ts +0 -0
  583. /package/{domain → src/domain}/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -0
  584. /package/{domain → src/domain}/shopping/models/coupons/enums/index.d.ts +0 -0
  585. /package/{domain → src/domain}/shopping/models/coupons/index.d.ts +0 -0
  586. /package/{domain → src/domain}/shopping/models/enums/checkout-types.enum.d.ts +0 -0
  587. /package/{domain → src/domain}/shopping/models/enums/index.d.ts +0 -0
  588. /package/{domain → src/domain}/shopping/models/enums/order-status.enum.d.ts +0 -0
  589. /package/{domain → src/domain}/shopping/models/index.d.ts +0 -0
  590. /package/{domain → src/domain}/shopping/models/line-item.d.ts +0 -0
  591. /package/{domain → src/domain}/shopping/models/order.d.ts +0 -0
  592. /package/{domain → src/domain}/shopping/models/payment.d.ts +0 -0
  593. /package/{domain → src/domain}/shopping/models/shipping-method.d.ts +0 -0
  594. /package/{domain → src/domain}/shopping/models/subscription/checkout.d.ts +0 -0
  595. /package/{domain → src/domain}/shopping/models/subscription/index.d.ts +0 -0
  596. /package/{domain → src/domain}/shopping/models/subscription/plan.d.ts +0 -0
  597. /package/{domain → src/domain}/shopping/models/types/index.d.ts +0 -0
  598. /package/{domain → src/domain}/shopping/repositories/buy-2-win.repository.d.ts +0 -0
  599. /package/{domain → src/domain}/shopping/repositories/campaign-dashboard.repository.d.ts +0 -0
  600. /package/{domain → src/domain}/shopping/repositories/campaign-hashtag.repository.d.ts +0 -0
  601. /package/{domain → src/domain}/shopping/repositories/checkout.repository.d.ts +0 -0
  602. /package/{domain → src/domain}/shopping/repositories/coupon.repository.d.ts +0 -0
  603. /package/{domain → src/domain}/shopping/repositories/index.d.ts +0 -0
  604. /package/{domain → src/domain}/shopping/repositories/legacy-order.repository.d.ts +0 -0
  605. /package/{domain → src/domain}/shopping/repositories/order.repository.d.ts +0 -0
  606. /package/{domain → src/domain}/shopping/repositories/payment.repository.d.ts +0 -0
  607. /package/{domain → src/domain}/shopping/repositories/subscription/checkout.repository.d.ts +0 -0
  608. /package/{domain → src/domain}/shopping/repositories/subscription/index.d.ts +0 -0
  609. /package/{domain → src/domain}/shopping/repositories/subscription/plan.repository.d.ts +0 -0
  610. /package/{domain → src/domain}/users/errors/index.d.ts +0 -0
  611. /package/{domain → src/domain}/users/errors/unauthorized.error.d.ts +0 -0
  612. /package/{domain → src/domain}/users/errors/user-already-registered.error.d.ts +0 -0
  613. /package/{domain → src/domain}/users/errors/weak-password.error.d.ts +0 -0
  614. /package/{domain → src/domain}/users/index.d.ts +0 -0
  615. /package/{domain → src/domain}/users/models/enums/accessory-importances.enum.d.ts +0 -0
  616. /package/{domain → src/domain}/users/models/enums/area.enum.d.ts +0 -0
  617. /package/{domain → src/domain}/users/models/enums/beard-problems.enum.d.ts +0 -0
  618. /package/{domain → src/domain}/users/models/enums/beard-sizes.enum.d.ts +0 -0
  619. /package/{domain → src/domain}/users/models/enums/beauty-product-importances.enum.d.ts +0 -0
  620. /package/{domain → src/domain}/users/models/enums/body-problems.enum.d.ts +0 -0
  621. /package/{domain → src/domain}/users/models/enums/body-shapes.enum.d.ts +0 -0
  622. /package/{domain → src/domain}/users/models/enums/body-tattoos.enum.d.ts +0 -0
  623. /package/{domain → src/domain}/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -0
  624. /package/{domain → src/domain}/users/models/enums/face-skin-problems.enum.d.ts +0 -0
  625. /package/{domain → src/domain}/users/models/enums/face-skin-tones.enum.d.ts +0 -0
  626. /package/{domain → src/domain}/users/models/enums/family-incomes.enum.d.ts +0 -0
  627. /package/{domain → src/domain}/users/models/enums/fragrance-importances.enum.d.ts +0 -0
  628. /package/{domain → src/domain}/users/models/enums/hair-colors.enum.d.ts +0 -0
  629. /package/{domain → src/domain}/users/models/enums/hair-problems.enum.d.ts +0 -0
  630. /package/{domain → src/domain}/users/models/enums/hair-strands.enum.d.ts +0 -0
  631. /package/{domain → src/domain}/users/models/enums/hair-types.enum.d.ts +0 -0
  632. /package/{domain → src/domain}/users/models/enums/index.d.ts +0 -0
  633. /package/{domain → src/domain}/users/models/enums/office-position.enum.d.ts +0 -0
  634. /package/{domain → src/domain}/users/models/enums/product-spents.enum.d.ts +0 -0
  635. /package/{domain → src/domain}/users/models/enums/user-type.enum.d.ts +0 -0
  636. /package/{domain → src/domain}/users/models/index.d.ts +0 -0
  637. /package/{domain → src/domain}/users/models/lead.d.ts +0 -0
  638. /package/{domain → src/domain}/users/models/subscription/enums/billing-status.enum.d.ts +0 -0
  639. /package/{domain → src/domain}/users/models/subscription/enums/edition-status.enum.d.ts +0 -0
  640. /package/{domain → src/domain}/users/models/subscription/enums/index.d.ts +0 -0
  641. /package/{domain → src/domain}/users/models/subscription/enums/payment-type.enum.d.ts +0 -0
  642. /package/{domain → src/domain}/users/models/subscription/enums/status.enum.d.ts +0 -0
  643. /package/{domain → src/domain}/users/models/subscription/index.d.ts +0 -0
  644. /package/{domain → src/domain}/users/models/subscription/subscription.d.ts +0 -0
  645. /package/{domain → src/domain}/users/models/user.d.ts +0 -0
  646. /package/{domain → src/domain}/users/repositories/beauty-profile.repository.d.ts +0 -0
  647. /package/{domain → src/domain}/users/repositories/edition.repository.d.ts +0 -0
  648. /package/{domain → src/domain}/users/repositories/index.d.ts +0 -0
  649. /package/{domain → src/domain}/users/repositories/lead.repository.d.ts +0 -0
  650. /package/{domain → src/domain}/users/repositories/subscription-payment.repository.d.ts +0 -0
  651. /package/{domain → src/domain}/users/repositories/subscription.repository.d.ts +0 -0
  652. /package/{domain → src/domain}/users/repositories/user-address.repository.d.ts +0 -0
  653. /package/{domain → src/domain}/users/repositories/user-payment-method.repository.d.ts +0 -0
  654. /package/{domain → src/domain}/users/repositories/user.repository.d.ts +0 -0
  655. /package/{domain → src/domain}/users/services/index.d.ts +0 -0
  656. /package/{domain → src/domain}/users/services/types/index.d.ts +0 -0
  657. /package/{domain → src/domain}/users/use-cases/index.d.ts +0 -0
  658. /package/{domain → src/domain}/users/use-cases/recovery-password.d.ts +0 -0
  659. /package/{domain → src/domain}/users/use-cases/signout.d.ts +0 -0
  660. /package/{errors → src/errors}/duplicated-results.error.d.ts +0 -0
  661. /package/{errors → src/errors}/index.d.ts +0 -0
  662. /package/{errors → src/errors}/invalid-argument.error.d.ts +0 -0
  663. /package/{errors → src/errors}/not-found.error.d.ts +0 -0
  664. /package/{errors → src/errors}/required-argument.error.d.ts +0 -0
  665. /package/{infra → src/infra}/elasticsearch/adapters/elastic-search.adapter.d.ts +0 -0
  666. /package/{infra → src/infra}/elasticsearch/adapters/index.d.ts +0 -0
  667. /package/{infra → src/infra}/elasticsearch/index.d.ts +0 -0
  668. /package/{infra → src/infra}/elasticsearch/indexes/index.d.ts +0 -0
  669. /package/{infra → src/infra}/elasticsearch/types/index.d.ts +0 -0
  670. /package/{infra → src/infra}/firebase/auth/authentication-firebase-auth.service.d.ts +0 -0
  671. /package/{infra → src/infra}/firebase/auth/index.d.ts +0 -0
  672. /package/{infra → src/infra}/firebase/auth/register-firebase-auth.service.d.ts +0 -0
  673. /package/{infra → src/infra}/firebase/firestore/enums/firestore-field-type.enum.d.ts +0 -0
  674. /package/{infra → src/infra}/firebase/firestore/enums/index.d.ts +0 -0
  675. /package/{infra → src/infra}/firebase/firestore/index.d.ts +0 -0
  676. /package/{infra → src/infra}/firebase/firestore/mixins/index.d.ts +0 -0
  677. /package/{infra → src/infra}/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +0 -0
  678. /package/{infra → src/infra}/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +0 -0
  679. /package/{infra → src/infra}/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +0 -0
  680. /package/{infra → src/infra}/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +0 -0
  681. /package/{infra → src/infra}/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +0 -0
  682. /package/{infra → src/infra}/firebase/firestore/mixins/with-helpers.mixin.d.ts +0 -0
  683. /package/{infra → src/infra}/firebase/firestore/repositories/catalog/index.d.ts +0 -0
  684. /package/{infra → src/infra}/firebase/firestore/repositories/index.d.ts +0 -0
  685. /package/{infra → src/infra}/firebase/firestore/repositories/shop-settings/index.d.ts +0 -0
  686. /package/{infra → src/infra}/firebase/firestore/repositories/shopping/index.d.ts +0 -0
  687. /package/{infra → src/infra}/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -0
  688. /package/{infra → src/infra}/firebase/firestore/repositories/users/index.d.ts +0 -0
  689. /package/{infra → src/infra}/firebase/firestore/types/firestore.helpers.type.d.ts +0 -0
  690. /package/{infra → src/infra}/firebase/firestore/types/index.d.ts +0 -0
  691. /package/{infra → src/infra}/firebase/index.d.ts +0 -0
  692. /package/{infra → src/infra}/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +0 -0
  693. /package/{infra → src/infra}/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +0 -0
  694. /package/{infra → src/infra}/hasura-graphql/enums/index.d.ts +0 -0
  695. /package/{infra → src/infra}/hasura-graphql/index.d.ts +0 -0
  696. /package/{infra → src/infra}/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +0 -0
  697. /package/{infra → src/infra}/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +0 -0
  698. /package/{infra → src/infra}/hasura-graphql/mixins/helpers/index.d.ts +0 -0
  699. /package/{infra → src/infra}/hasura-graphql/mixins/index.d.ts +0 -0
  700. /package/{infra → src/infra}/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +0 -0
  701. /package/{infra → src/infra}/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +0 -0
  702. /package/{infra → src/infra}/hasura-graphql/models/category-hasura-graphql.d.ts +0 -0
  703. /package/{infra → src/infra}/hasura-graphql/models/index.d.ts +0 -0
  704. /package/{infra → src/infra}/hasura-graphql/models/kit-product-hasura-graphql.d.ts +0 -0
  705. /package/{infra → src/infra}/hasura-graphql/models/product-hasura-graphql.d.ts +0 -0
  706. /package/{infra → src/infra}/hasura-graphql/models/variant-hasura-graphql.d.ts +0 -0
  707. /package/{infra → src/infra}/hasura-graphql/repositories/catalog/index.d.ts +0 -0
  708. /package/{infra → src/infra}/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +0 -0
  709. /package/{infra → src/infra}/hasura-graphql/repositories/index.d.ts +0 -0
  710. /package/{infra → src/infra}/hasura-graphql/types/index.d.ts +0 -0
  711. /package/{infra → src/infra}/hasura-graphql/types/query-builder-options.type.d.ts +0 -0
  712. /package/{infra → src/infra}/index.d.ts +0 -0
  713. /package/{utils → src/utils}/decorators/debug.class.decorator.d.ts +0 -0
  714. /package/{utils → src/utils}/decorators/index.d.ts +0 -0
  715. /package/{utils → src/utils}/get.d.ts +0 -0
  716. /package/{utils → src/utils}/helpers/class-name.helper.d.ts +0 -0
  717. /package/{utils → src/utils}/helpers/index.d.ts +0 -0
  718. /package/{utils → src/utils}/is-uuid.d.ts +0 -0
  719. /package/{utils → src/utils}/is.d.ts +0 -0
  720. /package/{utils → src/utils}/log.utils.d.ts +0 -0
  721. /package/{utils → src/utils}/mixins/base.mixin.d.ts +0 -0
  722. /package/{utils → src/utils}/mixins/index.d.ts +0 -0
  723. /package/{utils → src/utils}/parse-datetime.d.ts +0 -0
  724. /package/{utils → src/utils}/types/index.d.ts +0 -0
@@ -1,152 +0,0 @@
1
- import { DebugHelper, isNil, set } from '../../../utils';
2
- import { AttributeOptionHelper, BindFilterQueryHelper } from './helpers';
3
- export const withFindHasuraGraphQL = (MixinBase) => {
4
- return class FindHasuraGraphQLMixin extends MixinBase {
5
- constructor() {
6
- super(...arguments);
7
- this.bindOrderByAttributes = (orderBy, fields) => Object.keys(orderBy).reduce((acc, current) => [
8
- ...acc,
9
- {
10
- [AttributeOptionHelper.FindByAttribute(current, fields)
11
- .columnName]: orderBy[current] === 'asc'
12
- ? 'asc_nulls_last'
13
- : 'desc_nulls_last',
14
- },
15
- ], []);
16
- this.bindAggretageAttributes = (aggregates, fields) => [
17
- ...(aggregates?.minimal?.length
18
- ? [
19
- {
20
- min: this.bindAttributesToColumns(aggregates?.minimal, fields),
21
- },
22
- ]
23
- : []),
24
- ...(aggregates?.maximum?.length
25
- ? [
26
- {
27
- max: this.bindAttributesToColumns(aggregates?.maximum, fields),
28
- },
29
- ]
30
- : []),
31
- ];
32
- this.bindDistinctAttributes = (distinct, fields) => this.bindAttributesToColumns(distinct, fields);
33
- this.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)?.columnName || attr);
34
- }
35
- async find(params) {
36
- this.logger = DebugHelper.from(this, 'find');
37
- const { filters, limits, orderBy, options } = params || {};
38
- const enableCount = options?.enableCount ?? true;
39
- const variablesFilters = isNil(filters)
40
- ? {}
41
- : {
42
- where: {
43
- value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
44
- type: `${this.tableName}_bool_exp`,
45
- required: true,
46
- },
47
- };
48
- const variablesCount = {
49
- ...(isNil(orderBy)
50
- ? {}
51
- : {
52
- order_by: {
53
- type: `${this.tableName}_order_by!`,
54
- list: true,
55
- value: this.bindOrderByAttributes(orderBy, this.fields),
56
- },
57
- }),
58
- ...variablesFilters,
59
- };
60
- const variables = {
61
- ...(isNil(limits) ? {} : limits),
62
- ...variablesCount,
63
- };
64
- const aggregateFields = [
65
- ...(enableCount ? ['count'] : []),
66
- ...this.bindAggretageAttributes(params.options, this.fields),
67
- ];
68
- const result = await this.query([
69
- {
70
- operation: this.tableName,
71
- fields: params.fields
72
- ? params.fields
73
- .map((fieldName) => this.fields.find((fieldOption) => fieldOption === fieldName) ??
74
- this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName))
75
- .filter(Boolean)
76
- : this.fields,
77
- variables,
78
- },
79
- ...(aggregateFields.length > 0
80
- ? [
81
- {
82
- operation: `${this.tableName}_aggregate`,
83
- fields: [
84
- {
85
- aggregate: aggregateFields,
86
- },
87
- ],
88
- variables: variablesCount,
89
- },
90
- ]
91
- : []),
92
- ...((!params.limits?.offset &&
93
- params.options?.distinct?.map((distinct) => {
94
- const distinctOption = this.fields.find((fieldOption) => fieldOption === distinct) ??
95
- this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === distinct);
96
- const fieldName = Object.values(distinctOption).shift()?.columnName || distinct;
97
- return {
98
- operation: {
99
- name: `${this.tableName}`,
100
- alias: `${this.tableName}_${distinct.toString()}_distinct`,
101
- },
102
- fields: [distinctOption],
103
- variables: {
104
- ...variablesFilters,
105
- [`${this.tableName}_${fieldName}_distinct`]: {
106
- type: `${this.tableName}_select_column!`,
107
- list: true,
108
- value: fieldName,
109
- name: 'distinct_on',
110
- },
111
- },
112
- };
113
- })) ||
114
- []),
115
- ]);
116
- const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
117
- return {
118
- data,
119
- count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity,
120
- ...(options?.minimal?.length
121
- ? {
122
- minimal: options.minimal.reduce((minimals, current) => ({
123
- ...minimals,
124
- ...set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
125
- }), {}),
126
- }
127
- : {}),
128
- ...(options?.maximum?.length
129
- ? {
130
- maximum: options.maximum.reduce((maximums, current) => ({
131
- ...maximums,
132
- ...set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)?.columnName || current]),
133
- }), {}),
134
- }
135
- : {}),
136
- ...(!params.limits?.offset &&
137
- options?.distinct?.length && {
138
- distinct: options?.distinct.reduce((distinct, current) => {
139
- const distinctOption = this.fields.find((fieldOption) => fieldOption === current) ??
140
- this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === current);
141
- const fieldName = Object.values(distinctOption).shift()?.columnName || current;
142
- return {
143
- ...distinct,
144
- [current.toString()]: result[`${this.tableName}_${current.toString()}_distinct`].map((obj) => obj[fieldName]),
145
- };
146
- }, {}),
147
- }),
148
- };
149
- }
150
- };
151
- };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FJbkMsU0FBMkQsRUFDM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFBdUIsU0FBUSxTQUFTO1FBQTlDOztZQTBKTCwwQkFBcUIsR0FBRyxDQUFDLE9BQWlDLEVBQUUsTUFBa0MsRUFBRSxFQUFFLENBQ2hHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN6QixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixHQUFHLEdBQUc7Z0JBQ047b0JBQ0UsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7eUJBQ3BHLFVBQVUsQ0FBQyxFQUNaLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLEtBQUssS0FBSzt3QkFDeEUsQ0FBQyxDQUFDLGdCQUFnQjt3QkFDbEIsQ0FBQyxDQUFDLGlCQUFpQjtpQkFDeEI7YUFDRixFQUNELEVBQUUsQ0FDSCxDQUFBO1lBRUgsNEJBQXVCLEdBQUcsQ0FDeEIsVUFHQyxFQUNELE1BQWtDLEVBQ2xDLEVBQUUsQ0FBQztnQkFDSCxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNO29CQUM3QixDQUFDLENBQUM7d0JBQ0U7NEJBQ0UsR0FBRyxF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O2dCQUNQLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTTtvQkFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUk7b0JBQzNCLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTt3QkFDdkQsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDOzRCQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQTt3QkFDakYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLElBQUksT0FBTyxDQUFBO3dCQUU5RSxPQUFPOzRCQUNMLEdBQUcsUUFBUTs0QkFDWCxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQ2xGLENBQUMsR0FBb0MsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUN6RDt5QkFDRixDQUFBO29CQUNILENBQUMsRUFBRSxFQUFTLENBQUM7aUJBQ2QsQ0FBQzthQUNMLENBQUE7UUFDSCxDQUFDO0tBd0RGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEZpbmRSZXBvc2l0b3J5LFxyXG4gIEZpbmRSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgRGVidWdIZWxwZXIsIGlzTmlsLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIsIEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2UsIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+LFxyXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PixcclxuPihcclxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+ICYgVE1peGluQmFzZSxcclxuKSA9PiB7XHJcbiAgcmV0dXJuIGNsYXNzIEZpbmRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgYXN5bmMgZmluZChwYXJhbXM/OiBGaW5kUmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PE1CYXNlPj4ge1xyXG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ2ZpbmQnKVxyXG5cclxuICAgICAgY29uc3QgeyBmaWx0ZXJzLCBsaW1pdHMsIG9yZGVyQnksIG9wdGlvbnMgfSA9IHBhcmFtcyB8fCB7fVxyXG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcclxuICAgICAgY29uc3QgdmFyaWFibGVzRmlsdGVycyA9IGlzTmlsKGZpbHRlcnMpXHJcbiAgICAgICAgPyB7fVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICB3aGVyZToge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcclxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKG9yZGVyQnkpXHJcbiAgICAgICAgICA/IHt9XHJcbiAgICAgICAgICA6IHtcclxuICAgICAgICAgICAgICBvcmRlcl9ieToge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X29yZGVyX2J5IWAsXHJcbiAgICAgICAgICAgICAgICBsaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuYmluZE9yZGVyQnlBdHRyaWJ1dGVzKG9yZGVyQnksIHRoaXMuZmllbGRzKSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAuLi52YXJpYWJsZXNGaWx0ZXJzLFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcclxuICAgICAgICAuLi4oaXNOaWwobGltaXRzKSA/IHt9IDogbGltaXRzKSxcclxuICAgICAgICAuLi52YXJpYWJsZXNDb3VudCxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBhZ2dyZWdhdGVGaWVsZHMgPSBbXHJcbiAgICAgICAgLi4uKGVuYWJsZUNvdW50ID8gWydjb3VudCddIDogW10pLFxyXG4gICAgICAgIC4uLnRoaXMuYmluZEFnZ3JldGFnZUF0dHJpYnV0ZXMocGFyYW1zLm9wdGlvbnMsIHRoaXMuZmllbGRzKSxcclxuICAgICAgXVxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxyXG4gICAgICAgICAgZmllbGRzOiBwYXJhbXMuZmllbGRzXHJcbiAgICAgICAgICAgID8gcGFyYW1zLmZpZWxkc1xyXG4gICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGZpZWxkTmFtZSkgPz9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGZpZWxkTmFtZSksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgICAgICAgIDogdGhpcy5maWVsZHMsXHJcbiAgICAgICAgICB2YXJpYWJsZXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi4oYWdncmVnYXRlRmllbGRzLmxlbmd0aCA+IDBcclxuICAgICAgICAgID8gW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWAsXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZTogYWdncmVnYXRlRmllbGRzLFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzQ291bnQsXHJcbiAgICAgICAgICAgICAgfSBhcyBHcmFwaFFMUGFyYW1zPE1CYXNlPixcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgOiBbXSksXHJcbiAgICAgICAgLi4uKCghcGFyYW1zLmxpbWl0cz8ub2Zmc2V0ICYmXHJcbiAgICAgICAgICBwYXJhbXMub3B0aW9ucz8uZGlzdGluY3Q/Lm1hcCgoZGlzdGluY3QpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGlzdGluY3RPcHRpb24gPVxyXG4gICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gZGlzdGluY3QpID8/XHJcbiAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBkaXN0aW5jdClcclxuICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LnZhbHVlcyhkaXN0aW5jdE9wdGlvbikuc2hpZnQoKT8uY29sdW1uTmFtZSB8fCBkaXN0aW5jdFxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBvcGVyYXRpb246IHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IGAke3RoaXMudGFibGVOYW1lfWAsXHJcbiAgICAgICAgICAgICAgICBhbGlhczogYCR7dGhpcy50YWJsZU5hbWV9XyR7ZGlzdGluY3QudG9TdHJpbmcoKX1fZGlzdGluY3RgLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBbZGlzdGluY3RPcHRpb25dLFxyXG4gICAgICAgICAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgICAgICAgICAgLi4udmFyaWFibGVzRmlsdGVycyxcclxuICAgICAgICAgICAgICAgIFtgJHt0aGlzLnRhYmxlTmFtZX1fJHtmaWVsZE5hbWV9X2Rpc3RpbmN0YF06IHtcclxuICAgICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X3NlbGVjdF9jb2x1bW4hYCxcclxuICAgICAgICAgICAgICAgICAgbGlzdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkTmFtZSxcclxuICAgICAgICAgICAgICAgICAgbmFtZTogJ2Rpc3RpbmN0X29uJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSBhcyBHcmFwaFFMUGFyYW1zPE1CYXNlPlxyXG4gICAgICAgICAgfSkpIHx8XHJcbiAgICAgICAgICBbXSksXHJcbiAgICAgIF0pXHJcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSA9PlxyXG4gICAgICAgIHRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJvdyksXHJcbiAgICAgIClcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBjb3VudDogZW5hYmxlQ291bnQgPyByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5jb3VudCA6IEluZmluaXR5LFxyXG4gICAgICAgIC4uLihvcHRpb25zPy5taW5pbWFsPy5sZW5ndGhcclxuICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgIG1pbmltYWw6IG9wdGlvbnMubWluaW1hbC5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAobWluaW1hbHMsIGN1cnJlbnQpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLihtaW5pbWFscyBhcyBhbnkpLFxyXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgbWluaW1hbHMgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1pbltcclxuICAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgKGN1cnJlbnQgYXMgYW55KVxyXG4gICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICkgYXMgUmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+WydtaW5pbWFsJ10sXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDoge30pLFxyXG4gICAgICAgIC4uLihvcHRpb25zPy5tYXhpbXVtPy5sZW5ndGhcclxuICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgIG1heGltdW06IG9wdGlvbnMubWF4aW11bS5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAobWF4aW11bXMsIGN1cnJlbnQpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLihtYXhpbXVtcyBhcyBhbnkpLFxyXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bXMgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1heFtcclxuICAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgKGN1cnJlbnQgYXMgYW55KVxyXG4gICAgICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICkgYXMgUmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+WydtYXhpbXVtJ10sXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDoge30pLFxyXG4gICAgICAgIC4uLighcGFyYW1zLmxpbWl0cz8ub2Zmc2V0ICYmXHJcbiAgICAgICAgICBvcHRpb25zPy5kaXN0aW5jdD8ubGVuZ3RoICYmIHtcclxuICAgICAgICAgICAgZGlzdGluY3Q6IG9wdGlvbnM/LmRpc3RpbmN0LnJlZHVjZSgoZGlzdGluY3QsIGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkaXN0aW5jdE9wdGlvbiA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gZmllbGRPcHRpb24gPT09IGN1cnJlbnQpID8/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGN1cnJlbnQpXHJcbiAgICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LnZhbHVlcyhkaXN0aW5jdE9wdGlvbikuc2hpZnQoKT8uY29sdW1uTmFtZSB8fCBjdXJyZW50XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5kaXN0aW5jdCxcclxuICAgICAgICAgICAgICAgIFtjdXJyZW50LnRvU3RyaW5nKCldOiByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9XyR7Y3VycmVudC50b1N0cmluZygpfV9kaXN0aW5jdGBdLm1hcChcclxuICAgICAgICAgICAgICAgICAgKG9iajogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPikgPT4gb2JqW2ZpZWxkTmFtZV0sXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwge30gYXMgYW55KSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmluZE9yZGVyQnlBdHRyaWJ1dGVzID0gKG9yZGVyQnk6IFJlcG9zaXRvcnlPcmRlckJ5PE1CYXNlPiwgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPikgPT5cclxuICAgICAgT2JqZWN0LmtleXMob3JkZXJCeSkucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGN1cnJlbnQpID0+IFtcclxuICAgICAgICAgIC4uLmFjYyxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgW0F0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiwgZmllbGRzKVxyXG4gICAgICAgICAgICAgIC5jb2x1bW5OYW1lXTpcclxuICAgICAgICAgICAgICBvcmRlckJ5W2N1cnJlbnQgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dID09PSAnYXNjJ1xyXG4gICAgICAgICAgICAgICAgPyAnYXNjX251bGxzX2xhc3QnXHJcbiAgICAgICAgICAgICAgICA6ICdkZXNjX251bGxzX2xhc3QnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIFtdLFxyXG4gICAgICApXHJcblxyXG4gICAgYmluZEFnZ3JldGFnZUF0dHJpYnV0ZXMgPSAoXHJcbiAgICAgIGFnZ3JlZ2F0ZXM6IHtcclxuICAgICAgICBtaW5pbWFsPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ21pbmltYWwnXVxyXG4gICAgICAgIG1heGltdW0/OiBGaW5kUmVwb3NpdG9yeVBhcmFtczxNQmFzZT5bJ29wdGlvbnMnXVsnbWF4aW11bSddXHJcbiAgICAgIH0sXHJcbiAgICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICApID0+IFtcclxuICAgICAgLi4uKGFnZ3JlZ2F0ZXM/Lm1pbmltYWw/Lmxlbmd0aFxyXG4gICAgICAgID8gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbWluOiB0aGlzLmJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zKGFnZ3JlZ2F0ZXM/Lm1pbmltYWwsIGZpZWxkcyksXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgOiBbXSksXHJcbiAgICAgIC4uLihhZ2dyZWdhdGVzPy5tYXhpbXVtPy5sZW5ndGhcclxuICAgICAgICA/IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIG1heDogdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhhZ2dyZWdhdGVzPy5tYXhpbXVtLCBmaWVsZHMpLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXVxyXG4gICAgICAgIDogW10pLFxyXG4gICAgXVxyXG5cclxuICAgIGJpbmREaXN0aW5jdEF0dHJpYnV0ZXMgPSAoXHJcbiAgICAgIGRpc3RpbmN0OiBGaW5kUmVwb3NpdG9yeVBhcmFtczxNQmFzZT5bJ29wdGlvbnMnXVsnZGlzdGluY3QnXSxcclxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICAgICkgPT4gdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhkaXN0aW5jdCwgZmllbGRzKVxyXG5cclxuICAgIGJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zID0gKFxyXG4gICAgICBhdHRyaWJ1dGVzOiBBcnJheTxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiB8IHt9PixcclxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICAgICkgPT5cclxuICAgICAgYXR0cmlidXRlcy5tYXAoXHJcbiAgICAgICAgKGF0dHIpID0+XHJcbiAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxyXG4gICAgICAgICAgICBhdHRyLnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5wb3AoKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgICAgZmllbGRzLFxyXG4gICAgICAgICAgKT8uY29sdW1uTmFtZSB8fCBhdHRyLFxyXG4gICAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { NotFoundError } from '../../../errors';
2
- import { DebugHelper, isNil } from '../../../utils';
3
- import { AttributeOptionHelper } from './helpers';
4
- export const withGetHasuraGraphQL = (MixinBase) => {
5
- return class GetHasuraGraphQLMixin extends MixinBase {
6
- constructor(...params) {
7
- const options = params?.[0];
8
- super(...params);
9
- this.getGraphQLOperation = options?.getGraphQLOperation || `${this.tableName}_by_pk`;
10
- }
11
- async get(identifiers) {
12
- this.logger = DebugHelper.from(this, 'get');
13
- const instance = this.model.toInstance(identifiers);
14
- const result = await this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce((ids, identifier) => {
15
- const identifierBinded = identifier;
16
- if (isNil(instance[identifierBinded]))
17
- return ids;
18
- const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
19
- const value = columnOption?.to?.(identifiers[identifier], instance) ||
20
- identifiers[identifier];
21
- return {
22
- ...ids,
23
- [columnOption.columnName]: {
24
- type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
25
- value,
26
- required: true,
27
- },
28
- };
29
- }, {}));
30
- const data = result[this.getGraphQLOperation];
31
- if (isNil(data))
32
- throw new NotFoundError(`${instance.constructor.name} not found`);
33
- return this.convertDataFromHasura(result[this.getGraphQLOperation]);
34
- }
35
- };
36
- };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQWEsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBSWxDLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0scUJBQXNCLFNBQVEsU0FBUztRQUdsRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBeUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFakQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUN0RixDQUFDO1FBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUF1QztZQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBRTNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUN0RCxNQUFNLGdCQUFnQixHQUdsQixVQUFVLENBQUE7Z0JBRWQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQUUsT0FBTyxHQUFHLENBQUE7Z0JBRWpELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixNQUFNLEtBQUssR0FDVCxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQXNDLENBQUMsRUFBRSxRQUFRLENBQUM7b0JBQ2pGLFdBQVcsQ0FBQyxVQUFzQyxDQUFDLENBQUE7Z0JBRXJELE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO3dCQUNoRSxLQUFLO3dCQUNMLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGLENBQUE7WUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQTtZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtZQUU3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQTtZQUVsRixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgR2V0UmVwb3NpdG9yeSxcclxuICBHZXRSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycydcclxuaW1wb3J0IHsgRGVidWdIZWxwZXIsIE1peGluQ3RvciwgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbnN0cnVjdG9yUGFyYW1zID0ge1xyXG4gIGdldEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhHZXRIYXN1cmFHcmFwaFFMID0gPFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbikgPT4ge1xyXG4gIHJldHVybiBjbGFzcyBHZXRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHZXRSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICBnZXRHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcclxuXHJcbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cclxuXHJcbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcclxuXHJcbiAgICAgIHRoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmdldEdyYXBoUUxPcGVyYXRpb24gfHwgYCR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChpZGVudGlmaWVyczogR2V0UmVwb3NpdG9yeVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XHJcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZ2V0JylcclxuXHJcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzKVxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFxyXG4gICAgICAgIHRoaXMuZ2V0R3JhcGhRTE9wZXJhdGlvbixcclxuICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLnJlZHVjZSgoaWRzLCBpZGVudGlmaWVyKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpZGVudGlmaWVyQmluZGVkOiBFeHRyYWN0PFxyXG4gICAgICAgICAgICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgICAgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXVxyXG4gICAgICAgICAgPiA9IGlkZW50aWZpZXJcclxuXHJcbiAgICAgICAgICBpZiAoaXNOaWwoaW5zdGFuY2VbaWRlbnRpZmllckJpbmRlZF0pKSByZXR1cm4gaWRzXHJcblxyXG4gICAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShpZGVudGlmaWVyLCB0aGlzLmZpZWxkcylcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID1cclxuICAgICAgICAgICAgY29sdW1uT3B0aW9uPy50bz8uKGlkZW50aWZpZXJzW2lkZW50aWZpZXIgYXMga2V5b2YgdHlwZW9mIGlkZW50aWZpZXJzXSwgaW5zdGFuY2UpIHx8XHJcbiAgICAgICAgICAgIGlkZW50aWZpZXJzW2lkZW50aWZpZXIgYXMga2V5b2YgdHlwZW9mIGlkZW50aWZpZXJzXVxyXG5cclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmlkcyxcclxuICAgICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXToge1xyXG4gICAgICAgICAgICAgIHR5cGU6IHRoaXMuZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZihjb2x1bW5PcHRpb24udHlwZSB8fCB2YWx1ZSksXHJcbiAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwge30pLFxyXG4gICAgICApXHJcbiAgICAgIGNvbnN0IGRhdGEgPSByZXN1bHRbdGhpcy5nZXRHcmFwaFFMT3BlcmF0aW9uXVxyXG5cclxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgJHtpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lfSBub3QgZm91bmRgKVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJlc3VsdFt0aGlzLmdldEdyYXBoUUxPcGVyYXRpb25dKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,108 +0,0 @@
1
- import axios from 'axios';
2
- import { mutation, query } from 'gql-query-builder';
3
- import { DebugHelper, isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
4
- import { GraphQLFieldHelper } from './helpers';
5
- export const withHasuraGraphQL = (MixinBase) => {
6
- return class HasuraGraphQLMixin extends MixinBase {
7
- constructor(...params) {
8
- const options = params[0];
9
- super(...params);
10
- this.tableName = options.tableName;
11
- this.endpoint = options.endpoint;
12
- this.authOptions = options.authOptions;
13
- this.model = options.model;
14
- this.fields = options.fields || this.model.identifiersFields;
15
- this.logger = DebugHelper.from(this);
16
- }
17
- get headers() {
18
- return {
19
- 'Content-Type': 'application/json',
20
- ...(isNil(this.authOptions?.authToken) ? {} : { Authorization: this.authOptions?.authToken }),
21
- ...(isNil(this.authOptions?.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions?.adminSecret }),
22
- ...(isNil(this.authOptions?.authRole)
23
- ? {}
24
- : {
25
- 'X-Hasura-Role': this.authOptions.authRole.role,
26
- 'X-Hasura-User-Id': this.authOptions?.authRole?.userId,
27
- }),
28
- };
29
- }
30
- async mutation(operation, fields, variables) {
31
- const resultQuery = mutation({
32
- operation,
33
- variables,
34
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
35
- });
36
- return this.fetch(resultQuery);
37
- }
38
- async query(operation, fields, variables) {
39
- const builded = this.buildHasuraQueryFields({
40
- operation,
41
- fields: fields,
42
- variables,
43
- });
44
- const interpected = (await this.interceptors?.request?.(builded)) || builded;
45
- const resultQuery = query(interpected);
46
- const result = await this.fetch(resultQuery);
47
- return (await this.interceptors?.response?.(result, interpected)) || result;
48
- }
49
- async fetch(params) {
50
- this.logger.with('params').log(params);
51
- const headers = this.headers;
52
- const { data: result } = await axios({
53
- url: `${this.endpoint}`,
54
- method: 'POST',
55
- data: params,
56
- headers,
57
- });
58
- if (!isNil(result.errors))
59
- throw new Error(JSON.stringify(result.errors));
60
- this.logger.with('returns').log(result);
61
- return result.data;
62
- }
63
- getAttributeGraphQLTypeOf(value) {
64
- if (isUUID(value))
65
- return 'uuid';
66
- if (isString(value))
67
- return 'String';
68
- if (isBoolean(value))
69
- return 'Boolean';
70
- if (value instanceof Date)
71
- return 'timestamptz';
72
- if (isInteger(value))
73
- return 'Int';
74
- if (isNumber(value))
75
- return 'numeric';
76
- throw new Error('Type not implemented yet');
77
- }
78
- checkIfIsDateTimeAndParse(value) {
79
- if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value))
80
- return value;
81
- const date = parseISO(value);
82
- if (isNaN(date.getTime()))
83
- return value;
84
- return date;
85
- }
86
- convertDataFromHasura(data, fields) {
87
- const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, fields || this.fields);
88
- return this.model.toInstance(plain);
89
- }
90
- convertDataToHasura(instance, update = false) {
91
- return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
92
- }
93
- buildHasuraQueryFields({ operation, fields, variables, }) {
94
- return GraphQLFieldHelper.CheckIsGraphQLParams(operation)
95
- ? operation.map((option) => ({
96
- operation: option.operation,
97
- variables: option.variables,
98
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
99
- }))
100
- : {
101
- operation,
102
- variables,
103
- fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
104
- };
105
- }
106
- };
107
- };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR25ELE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQXNCOUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FJL0IsU0FBWSxFQUMwRixFQUFFO0lBQ3hHLE9BQU8sTUFBTSxrQkFBbUIsU0FBUSxTQUFTO1FBdUIvQyxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBbUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBRXpELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUE7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFBO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBZ0Qs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QTtRQUNyQyxDQUFDO1FBRUQsbUJBQW1CLENBQUMsUUFBZSxFQUFFLE1BQU0sR0FBRyxLQUFLO1lBQ2pELE9BQU8sa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDOUUsQ0FBQztRQUVELHNCQUFzQixDQUFDLEVBQ3JCLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxHQUtWO1lBQ0MsT0FBTyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQzNCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztvQkFDM0IsTUFBTSxFQUFFLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7aUJBQzVFLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUM7b0JBQ0UsU0FBUztvQkFDVCxTQUFTO29CQUNULE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQUM7aUJBQ3JFLENBQUE7UUFDUCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcyBmcm9tICdheGlvcydcclxuaW1wb3J0IHsgbXV0YXRpb24sIHF1ZXJ5IH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXHJcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICdncWwtcXVlcnktYnVpbGRlci9idWlsZC9JUXVlcnlCdWlsZGVyT3B0aW9ucydcclxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQge1xyXG4gIERlYnVnSGVscGVyLFxyXG4gIGlzQm9vbGVhbixcclxuICBpc0ludGVnZXIsXHJcbiAgaXNOYU4sXHJcbiAgaXNOaWwsXHJcbiAgaXNOdW1iZXIsXHJcbiAgaXNTdHJpbmcsXHJcbiAgaXNVVUlELFxyXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXHJcbiAgTWl4aW5DdG9yLFxyXG4gIHBhcnNlSVNPLFxyXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQge1xyXG4gIEZpZWxkcyxcclxuICBHcmFwaFFMUGFyYW1zLFxyXG4gIEdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcclxuICBIYXN1cmFHcmFwaFFMRmllbGRzLFxyXG4gIEhhc3VyYUdyYXBoUUxIZWFkZXJzLFxyXG4gIFZhcmlhYmxlT3B0aW9ucyxcclxufSBmcm9tICcuLi90eXBlcydcclxuaW1wb3J0IHsgR3JhcGhRTEZpZWxkSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxudHlwZSBRdWVyeUJ1aWxkZXJPcHRpb25zID0ge1xyXG4gIG9wZXJhdGlvbjogc3RyaW5nIHwgSU9wZXJhdGlvblxyXG4gIGZpZWxkczogRmllbGRzXHJcbiAgdmFyaWFibGVzPzogVmFyaWFibGVPcHRpb25zXHJcbn1cclxuXHJcbnR5cGUgSGFzdXJhR3JhcGhRTEludGVyY2VwdG9yczxQID0gUXVlcnlCdWlsZGVyT3B0aW9ucyB8IFF1ZXJ5QnVpbGRlck9wdGlvbnNbXT4gPSB7XHJcbiAgcmVxdWVzdD86IDxSPihyZXF1ZXN0OiBQKSA9PiBQcm9taXNlPFAgJiBSPlxyXG4gIHJlc3BvbnNlPzogPFI+KHJlc3BvbnNlOiBSLCByZXF1ZXN0OiBQKSA9PiBQcm9taXNlPFI+XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1vZGVsLCBNb2RlbFsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPj4gPSB7XHJcbiAgdGFibGVOYW1lOiBzdHJpbmdcclxuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cclxuICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+XHJcbiAgZW5kcG9pbnQ6IHN0cmluZ1xyXG4gIGludGVyY2VwdG9ycz86IEhhc3VyYUdyYXBoUUxJbnRlcmNlcHRvcnNcclxuICBhdXRoT3B0aW9uczogSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoSGFzdXJhR3JhcGhRTCA9IDxcclxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXHJcbiAgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3RvcixcclxuPihcclxuICBNaXhpbkJhc2U6IFQsXHJcbik6IE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4sIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8YW55W10sIEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPltdPj4gPT4ge1xyXG4gIHJldHVybiBjbGFzcyBIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgdGFibGVOYW1lOiBzdHJpbmdcclxuICAgIGVuZHBvaW50OiBzdHJpbmdcclxuICAgIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcclxuICAgIGludGVyY2VwdG9yczogSGFzdXJhR3JhcGhRTEludGVyY2VwdG9yc1xyXG4gICAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TUJhc2U+XHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+XHJcbiAgICBsb2dnZXI6IERlYnVnSGVscGVyXHJcblxyXG4gICAgZ2V0IGhlYWRlcnMoKTogSGFzdXJhR3JhcGhRTEhlYWRlcnMge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnM/LmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucz8uYXV0aFRva2VuIH0pLFxyXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zPy5hZG1pblNlY3JldCkgPyB7fSA6IHsgJ1gtSGFzdXJhLUFkbWluLVNlY3JldCc6IHRoaXMuYXV0aE9wdGlvbnM/LmFkbWluU2VjcmV0IH0pLFxyXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zPy5hdXRoUm9sZSlcclxuICAgICAgICAgID8ge31cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICdYLUhhc3VyYS1Sb2xlJzogdGhpcy5hdXRoT3B0aW9ucy5hdXRoUm9sZS5yb2xlLFxyXG4gICAgICAgICAgICAgICdYLUhhc3VyYS1Vc2VyLUlkJzogdGhpcy5hdXRoT3B0aW9ucz8uYXV0aFJvbGU/LnVzZXJJZCxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxyXG5cclxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxyXG5cclxuICAgICAgdGhpcy50YWJsZU5hbWUgPSBvcHRpb25zLnRhYmxlTmFtZVxyXG4gICAgICB0aGlzLmVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludFxyXG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xyXG4gICAgICB0aGlzLm1vZGVsID0gb3B0aW9ucy5tb2RlbFxyXG4gICAgICB0aGlzLmZpZWxkcyA9IG9wdGlvbnMuZmllbGRzIHx8ICh0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KVxyXG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcylcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtdXRhdGlvbjxSZXR1cm5GaWVsZHMgPSBhbnk+KFxyXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IElPcGVyYXRpb24sXHJcbiAgICAgIGZpZWxkcz86IHN0cmluZ1tdIHwgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcclxuICAgICk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xyXG4gICAgICAgIG9wZXJhdGlvbixcclxuICAgICAgICB2YXJpYWJsZXMsXHJcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPiksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBxdWVyeTxSZXR1cm5GaWVsZHMgPSBhbnk+KFxyXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IElPcGVyYXRpb24gfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdLFxyXG4gICAgICBmaWVsZHM/OiBzdHJpbmdbXSB8IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXHJcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xyXG4gICAgICBjb25zdCBidWlsZGVkID0gdGhpcy5idWlsZEhhc3VyYVF1ZXJ5RmllbGRzKHtcclxuICAgICAgICBvcGVyYXRpb24sXHJcbiAgICAgICAgZmllbGRzOiBmaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICAgICAgdmFyaWFibGVzLFxyXG4gICAgICB9KVxyXG4gICAgICBjb25zdCBpbnRlcnBlY3RlZCA9IChhd2FpdCB0aGlzLmludGVyY2VwdG9ycz8ucmVxdWVzdD8uKGJ1aWxkZWQpKSB8fCBidWlsZGVkXHJcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gcXVlcnkoaW50ZXJwZWN0ZWQpXHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXHJcblxyXG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW50ZXJjZXB0b3JzPy5yZXNwb25zZT8uKHJlc3VsdCwgaW50ZXJwZWN0ZWQpKSB8fCByZXN1bHRcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmZXRjaDxSZXR1cm5GaWVsZHMgPSBhbnk+KHBhcmFtczogeyB2YXJpYWJsZXM6IGFueTsgcXVlcnk6IHN0cmluZyB9KTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcclxuICAgICAgdGhpcy5sb2dnZXIud2l0aCgncGFyYW1zJykubG9nKHBhcmFtcylcclxuXHJcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnNcclxuICAgICAgY29uc3QgeyBkYXRhOiByZXN1bHQgfSA9IGF3YWl0IGF4aW9zKHtcclxuICAgICAgICB1cmw6IGAke3RoaXMuZW5kcG9pbnR9YCxcclxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICBkYXRhOiBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGlmICghaXNOaWwocmVzdWx0LmVycm9ycykpIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShyZXN1bHQuZXJyb3JzKSlcclxuXHJcbiAgICAgIHRoaXMubG9nZ2VyLndpdGgoJ3JldHVybnMnKS5sb2cocmVzdWx0KVxyXG5cclxuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZjxGaWVsZFR5cGU+KHZhbHVlOiBGaWVsZFR5cGUpOiBzdHJpbmcge1xyXG4gICAgICBpZiAoaXNVVUlEKHZhbHVlIGFzIGFueSkpIHJldHVybiAndXVpZCdcclxuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXHJcbiAgICAgIGlmIChpc0Jvb2xlYW4odmFsdWUpKSByZXR1cm4gJ0Jvb2xlYW4nXHJcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHJldHVybiAndGltZXN0YW1wdHonXHJcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcclxuICAgICAgaWYgKGlzTnVtYmVyKHZhbHVlKSkgcmV0dXJuICdudW1lcmljJ1xyXG5cclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xyXG4gICAgICBpZiAoIS9eXFxkezR9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSkkLy50ZXN0KHZhbHVlKSkgcmV0dXJuIHZhbHVlXHJcblxyXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXHJcblxyXG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gdmFsdWVcclxuXHJcbiAgICAgIHJldHVybiBkYXRlXHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydERhdGFGcm9tSGFzdXJhKFxyXG4gICAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+LFxyXG4gICAgICBmaWVsZHM/OiBzdHJpbmdbXSB8IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgKTogTUJhc2Uge1xyXG4gICAgICBjb25zdCBwbGFpbiA9IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICAoZmllbGRzIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KSB8fCB0aGlzLmZpZWxkcyxcclxuICAgICAgKVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbilcclxuICAgIH1cclxuXHJcbiAgICBjb252ZXJ0RGF0YVRvSGFzdXJhKGluc3RhbmNlOiBNQmFzZSwgdXBkYXRlID0gZmFsc2UpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+IHtcclxuICAgICAgcmV0dXJuIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGluc3RhbmNlLCB0aGlzLmZpZWxkcywgdXBkYXRlKVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkSGFzdXJhUXVlcnlGaWVsZHMoe1xyXG4gICAgICBvcGVyYXRpb24sXHJcbiAgICAgIGZpZWxkcyxcclxuICAgICAgdmFyaWFibGVzLFxyXG4gICAgfToge1xyXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IElPcGVyYXRpb24gfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdXHJcbiAgICAgIGZpZWxkcz86IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+XHJcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9uc1xyXG4gICAgfSk6IFF1ZXJ5QnVpbGRlck9wdGlvbnMgfCBRdWVyeUJ1aWxkZXJPcHRpb25zW10ge1xyXG4gICAgICByZXR1cm4gR3JhcGhRTEZpZWxkSGVscGVyLkNoZWNrSXNHcmFwaFFMUGFyYW1zKG9wZXJhdGlvbilcclxuICAgICAgICA/IG9wZXJhdGlvbi5tYXAoKG9wdGlvbikgPT4gKHtcclxuICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxyXG4gICAgICAgICAgICB2YXJpYWJsZXM6IG9wdGlvbi52YXJpYWJsZXMsXHJcbiAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhvcHRpb24uZmllbGRzKSxcclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICBvcGVyYXRpb24sXHJcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXHJcbiAgICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,62 +0,0 @@
1
- import { BaseModel, UpdateOptionActions, } from '../../../domain';
2
- import { DebugHelper, is, isNil } from '../../../utils';
3
- import { AttributeOptionHelper } from './helpers';
4
- export const withUpdateHasuraGraphQL = (MixinBase) => {
5
- const getValueByAction = (options) => {
6
- if (options instanceof BaseModel)
7
- return options.toPlain();
8
- if (isNil(options?.action))
9
- return options;
10
- if ([UpdateOptionActions.REMOVE_FIELD.toString(), UpdateOptionActions.NULL.toString()].includes(options.action))
11
- return null;
12
- return options.value;
13
- };
14
- return class UpdateHasuraGraphQLMixin extends MixinBase {
15
- constructor(...params) {
16
- const options = params?.[0];
17
- super(...params);
18
- this.updateGraphQLOperation = options?.updateGraphQLOperation || `update_${this.tableName}_by_pk`;
19
- this.updateGraphQLObjectType = options?.updateGraphQLObjectType || `${this.tableName}_set_input`;
20
- this.updateGraphQLPKType = options?.updateGraphQLPKType || `${this.tableName}_pk_columns_input`;
21
- }
22
- async update(data) {
23
- this.logger = DebugHelper.from(this, 'update');
24
- const plainData = this.paramsToPlain(data);
25
- await this.mutation(this.updateGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), {
26
- _set: {
27
- type: this.updateGraphQLObjectType,
28
- value: this.convertDataToHasura(this.model.toInstance(plainData), true),
29
- required: true,
30
- },
31
- pk_columns: { type: this.updateGraphQLPKType, value: this.getUpdateModelKeys(plainData), required: true },
32
- });
33
- return this.model.toInstance(plainData);
34
- }
35
- paramsToPlain(params) {
36
- const model = this.model;
37
- if (model.isModel(params))
38
- return params.toPlain();
39
- return Object.keys(params).reduce((data, currentKey) => ({
40
- ...data,
41
- ...(params[currentKey] !== undefined && {
42
- [currentKey]: getValueByAction(is(params[currentKey])),
43
- }),
44
- }), {});
45
- }
46
- getUpdateModelKeys(data) {
47
- const instance = this.model.toInstance(data);
48
- return this.model.identifiersFields.reduce((ids, identifier) => {
49
- const identifierBinded = identifier;
50
- if (isNil(instance.identifier[identifierBinded]))
51
- return ids;
52
- const columnOption = AttributeOptionHelper.FindByAttribute(identifierBinded, this.fields);
53
- const value = columnOption?.to?.(data[identifierBinded], instance) || data[columnOption.attributeName];
54
- return {
55
- ...ids,
56
- [columnOption.columnName]: value,
57
- };
58
- }, {});
59
- }
60
- };
61
- };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFLVCxtQkFBbUIsR0FHcEIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFHMUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBY2pELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBNkIsRUFBVyxFQUFFO1FBQ2xFLElBQUksT0FBTyxZQUFZLFNBQVM7WUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMxRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUE7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUM3RyxPQUFPLElBQUksQ0FBQTtRQUViLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUN0QixDQUFDLENBQUE7SUFFRCxPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUtyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFcEQs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QUFDLE1BQU0sQ0FDWixDQUFBO2dCQUNELE1BQU0sS0FBSyxHQUFHLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUV0RyxPQUFPO29CQUNMLEdBQUcsR0FBRztvQkFDTixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO2lCQUNqQyxDQUFBO1lBQ0gsQ0FBQyxFQUFFLEVBQStDLENBQUMsQ0FBQTtRQUNyRCxDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQmFzZU1vZGVsLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzLFxyXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXHJcbiAgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtcyxcclxuICBVcGRhdGVPcHRpb25BY3Rpb25zLFxyXG4gIFVwZGF0ZU9wdGlvbnMsXHJcbiAgVXBkYXRlUmVwb3NpdG9yeSxcclxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IERlYnVnSGVscGVyLCBpcywgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlUeXBlPFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcclxuPiA9IFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+ICYge1xyXG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xyXG4gIHVwZGF0ZUdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcclxuICB1cGRhdGVHcmFwaFFMT2JqZWN0VHlwZT86IHN0cmluZ1xyXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlPixcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbik6IE1peGluQ3RvcjxcclxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+LFxyXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8W1VwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLCAuLi5hbnlbXV0sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cclxuPiA9PiB7XHJcbiAgY29uc3QgZ2V0VmFsdWVCeUFjdGlvbiA9IChvcHRpb25zOiBVcGRhdGVPcHRpb25zPE1CYXNlPik6IHVua25vd24gPT4ge1xyXG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBCYXNlTW9kZWwpIHJldHVybiBvcHRpb25zLnRvUGxhaW4oKVxyXG4gICAgaWYgKGlzTmlsKG9wdGlvbnM/LmFjdGlvbikpIHJldHVybiBvcHRpb25zXHJcbiAgICBpZiAoW1VwZGF0ZU9wdGlvbkFjdGlvbnMuUkVNT1ZFX0ZJRUxELnRvU3RyaW5nKCksIFVwZGF0ZU9wdGlvbkFjdGlvbnMuTlVMTC50b1N0cmluZygpXS5pbmNsdWRlcyhvcHRpb25zLmFjdGlvbikpXHJcbiAgICAgIHJldHVybiBudWxsXHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbnMudmFsdWVcclxuICB9XHJcblxyXG4gIHJldHVybiBjbGFzcyBVcGRhdGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBVcGRhdGVSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcclxuICAgIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlOiBzdHJpbmdcclxuICAgIHVwZGF0ZUdyYXBoUUxQS1R5cGU6IHN0cmluZ1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtczogYW55W10pIHtcclxuICAgICAgY29uc3Qgb3B0aW9uczogVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxyXG5cclxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTE9wZXJhdGlvbiB8fCBgdXBkYXRlXyR7dGhpcy50YWJsZU5hbWV9X2J5X3BrYFxyXG4gICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTE9iamVjdFR5cGUgfHwgYCR7dGhpcy50YWJsZU5hbWV9X3NldF9pbnB1dGBcclxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTFBLVHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fcGtfY29sdW1uc19pbnB1dGBcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGUoZGF0YTogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XHJcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAndXBkYXRlJylcclxuXHJcbiAgICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbihkYXRhKVxyXG5cclxuICAgICAgYXdhaXQgdGhpcy5tdXRhdGlvbihcclxuICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24sXHJcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXHJcbiAgICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxyXG4gICAgICAgICkgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgX3NldDoge1xyXG4gICAgICAgICAgICB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlLFxyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5jb252ZXJ0RGF0YVRvSGFzdXJhKHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbkRhdGEpLCB0cnVlKSxcclxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcGtfY29sdW1uczogeyB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxQS1R5cGUsIHZhbHVlOiB0aGlzLmdldFVwZGF0ZU1vZGVsS2V5cyhwbGFpbkRhdGEpLCByZXF1aXJlZDogdHJ1ZSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIClcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKVxyXG4gICAgfVxyXG5cclxuICAgIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+IHtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXHJcblxyXG4gICAgICBpZiAobW9kZWwuaXNNb2RlbChwYXJhbXMpKSByZXR1cm4gcGFyYW1zLnRvUGxhaW4oKVxyXG5cclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKFxyXG4gICAgICAgIChkYXRhLCBjdXJyZW50S2V5KSA9PiAoe1xyXG4gICAgICAgICAgLi4uZGF0YSxcclxuICAgICAgICAgIC4uLihwYXJhbXNbY3VycmVudEtleSBhcyBrZXlvZiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPl0gIT09IHVuZGVmaW5lZCAmJiB7XHJcbiAgICAgICAgICAgIFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihcclxuICAgICAgICAgICAgICBpczxVcGRhdGVPcHRpb25zPE1CYXNlPj4ocGFyYW1zW2N1cnJlbnRLZXkgYXMga2V5b2YgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT5dKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHt9LFxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXBkYXRlTW9kZWxLZXlzKGRhdGE6IFBhcnRpYWw8TUJhc2U+KTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4ge1xyXG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMubW9kZWwudG9JbnN0YW5jZShkYXRhKVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcclxuICAgICAgICBjb25zdCBpZGVudGlmaWVyQmluZGVkOiBFeHRyYWN0PFxyXG4gICAgICAgICAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdXHJcbiAgICAgICAgPiA9IGlkZW50aWZpZXJcclxuXHJcbiAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlLmlkZW50aWZpZXJbaWRlbnRpZmllckJpbmRlZF0pKSByZXR1cm4gaWRzXHJcblxyXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2UsIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+PihcclxuICAgICAgICAgIGlkZW50aWZpZXJCaW5kZWQsXHJcbiAgICAgICAgICB0aGlzLmZpZWxkcyxcclxuICAgICAgICApXHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24/LnRvPy4oZGF0YVtpZGVudGlmaWVyQmluZGVkXSwgaW5zdGFuY2UpIHx8IGRhdGFbY29sdW1uT3B0aW9uLmF0dHJpYnV0ZU5hbWVdXHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pZHMsXHJcbiAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB2YWx1ZSxcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHt9IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8TUJhc2U+KVxyXG4gICAgfVxyXG4gIH0gYXMgYW55XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- import { Category } from '../../../domain';
2
- export class CategoryHasuraGraphQL extends Category {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTFDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxRQUFRO0NBSWxEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcblxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMIGV4dGVuZHMgQ2F0ZWdvcnkge1xyXG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXHJcbiAgYnJhbmRDb25kaXRpb24/OiBzdHJpbmdcclxuICB0YWdDb25kaXRpb24/OiBzdHJpbmdbXVxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './category-hasura-graphql';
2
- export * from './kit-product-hasura-graphql';
3
- export * from './product-hasura-graphql';
4
- export * from './variant-hasura-graphql';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwnXHJcbmV4cG9ydCAqIGZyb20gJy4va2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwnXHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbCdcclxuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsJ1xyXG4iXX0=
@@ -1,15 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { KitProduct } from '../../../domain';
4
- import { ProductHasuraGraphQL } from './product-hasura-graphql';
5
- export class KitProductHasuraGraphQL extends KitProduct {
6
- }
7
- __decorate([
8
- Type(() => ProductHasuraGraphQL),
9
- __metadata("design:type", ProductHasuraGraphQL)
10
- ], KitProductHasuraGraphQL.prototype, "kit", void 0);
11
- __decorate([
12
- Type(() => ProductHasuraGraphQL),
13
- __metadata("design:type", ProductHasuraGraphQL)
14
- ], KitProductHasuraGraphQL.prototype, "product", void 0);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMva2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQVU7Q0FNdEQ7QUFMQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFDbkIsb0JBQW9CO29EQUFBO0FBRWxDO0lBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOzhCQUNmLG9CQUFvQjt3REFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcclxuXHJcbmltcG9ydCB7IEtpdFByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcblxyXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbCdcclxuXHJcbmV4cG9ydCBjbGFzcyBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIEtpdFByb2R1Y3Qge1xyXG4gIEBUeXBlKCgpID0+IFByb2R1Y3RIYXN1cmFHcmFwaFFMKVxyXG4gIG92ZXJyaWRlIGtpdDogUHJvZHVjdEhhc3VyYUdyYXBoUUxcclxuXHJcbiAgQFR5cGUoKCkgPT4gUHJvZHVjdEhhc3VyYUdyYXBoUUwpXHJcbiAgb3ZlcnJpZGUgcHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUxcclxufVxyXG4iXX0=
@@ -1,11 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { Product } from '../../../domain';
4
- import { KitProductHasuraGraphQL } from './kit-product-hasura-graphql';
5
- export class ProductHasuraGraphQL extends Product {
6
- }
7
- __decorate([
8
- Type(() => KitProductHasuraGraphQL),
9
- __metadata("design:type", Array)
10
- ], ProductHasuraGraphQL.prototype, "kitProducts", void 0);
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFPO0NBaUJoRDtBQUZDO0lBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzt5REFDWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcclxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL2tpdC1wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RIYXN1cmFHcmFwaFFMIGV4dGVuZHMgUHJvZHVjdCB7XHJcbiAgZmlyZXN0b3JlSWQ/OiBzdHJpbmdcclxuICBmdWxsUHJpY2U/OiBudW1iZXJcclxuICBzdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlPzogbnVtYmVyXHJcbiAgc3Vic2NyaWJlclByaWNlPzogbnVtYmVyXHJcbiAgcHJvZHVjdElkPzogbnVtYmVyXHJcbiAgZGlmZmVyZW50aWFscz86IHN0cmluZ1xyXG4gIHdob011c3RVc2U/OiBzdHJpbmdcclxuICBob3dUb1VzZT86IHN0cmluZ1xyXG4gIGJyYW5kRGVzY3JpcHRpb24/OiBzdHJpbmdcclxuICBjYXRlZ29yeUlkPzogbnVtYmVyXHJcbiAgaW5ncmVkaWVudHM/OiBzdHJpbmdcclxuICBoYXNTdG9jaz86IGJvb2xlYW5cclxuICBpbnRHZW5kZXI/OiBudW1iZXJcclxuXHJcbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUwpXHJcbiAgb3ZlcnJpZGUga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTFtdXHJcbn1cclxuIl19
@@ -1,9 +0,0 @@
1
- import { Variant } from '../../../domain';
2
- export class VariantHasuraGraphQL extends Variant {
3
- constructor() {
4
- super(...arguments);
5
- this.name = '';
6
- this.hasVariants = false;
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy92YXJpYW50LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV6QyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTztJQUFqRDs7UUFPRSxTQUFJLEdBQUksRUFBRSxDQUFBO1FBQ1YsZ0JBQVcsR0FBSSxLQUFLLENBQUE7SUFDdEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuXHJcbmV4cG9ydCBjbGFzcyBWYXJpYW50SGFzdXJhR3JhcGhRTCBleHRlbmRzIFZhcmlhbnQge1xyXG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXHJcbiAgZnVsbFByaWNlPzogbnVtYmVyXHJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxyXG4gIHN1YnNjcmliZXJQcmljZT86IG51bWJlclxyXG4gIGhhc1N0b2NrPzogYm9vbGVhblxyXG5cclxuICBuYW1lPyA9ICcnXHJcbiAgaGFzVmFyaWFudHM/ID0gZmFsc2VcclxufVxyXG4iXX0=
@@ -1,39 +0,0 @@
1
- import { CategoryCollectionChildren } from '../../../../domain';
2
- import { Base } from '../../../../utils';
3
- import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
4
- export class CategoryCollectionChildrenHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
5
- constructor({ endpoint, authOptions, interceptors, }) {
6
- super({
7
- tableName: 'category_collection_children',
8
- model: CategoryCollectionChildren,
9
- endpoint,
10
- authOptions,
11
- interceptors,
12
- fields: [
13
- { collectionId: { columnName: 'collection_id' } },
14
- { categoryId: { columnName: 'category_id' } },
15
- 'name',
16
- 'slug',
17
- 'reference',
18
- { parentCollectionId: { columnName: 'parent_collection_id' } },
19
- { parentCategoryId: { columnName: 'parent_category_id' } },
20
- {
21
- parent: {
22
- columnName: 'parent',
23
- foreignKeyColumn: { collectionId: 'parentCollectionId', categoryId: 'parentCategoryId' },
24
- fields: [
25
- { collectionId: { columnName: 'collection_id' } },
26
- { categoryId: { columnName: 'category_id' } },
27
- 'name',
28
- 'slug',
29
- 'reference',
30
- { parentCollectionId: { columnName: 'parent_collection_id' } },
31
- { parentCategoryId: { columnName: 'parent_category_id' } },
32
- ],
33
- },
34
- },
35
- ],
36
- });
37
- }
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktY29sbGVjdGlvbi1jaGlsZHJlbi1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvY2F0ZWdvcnktY29sbGVjdGlvbi1jaGlsZHJlbi1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRS9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRWhHLE1BQU0sT0FBTyxpREFDWCxTQUFRLHFCQUFxQixDQUFDLGlCQUFpQixDQUE2QixJQUFJLENBQUMsQ0FBQztJQUdsRixZQUFZLEVBQ1YsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEdBQzJGO1FBQ3ZHLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsS0FBSyxFQUFFLDBCQUEwQjtZQUNqQyxRQUFRO1lBQ1IsV0FBVztZQUNYLFlBQVk7WUFDWixNQUFNLEVBQUU7Z0JBQ04sRUFBRSxZQUFZLEVBQUUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLEVBQUU7Z0JBQ2pELEVBQUUsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFO2dCQUM3QyxNQUFNO2dCQUNOLE1BQU07Z0JBQ04sV0FBVztnQkFDWCxFQUFFLGtCQUFrQixFQUFFLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFFLEVBQUU7Z0JBQzlELEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsRUFBRTtnQkFDMUQ7b0JBQ0UsTUFBTSxFQUFFO3dCQUNOLFVBQVUsRUFBRSxRQUFRO3dCQUNwQixnQkFBZ0IsRUFBRSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUU7d0JBQ3hGLE1BQU0sRUFBRTs0QkFDTixFQUFFLFlBQVksRUFBRSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsRUFBRTs0QkFDakQsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEVBQUU7NEJBQzdDLE1BQU07NEJBQ04sTUFBTTs0QkFDTixXQUFXOzRCQUNYLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRTs0QkFDOUQsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxFQUFFO3lCQUMzRDtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuUmVwb3NpdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXRhbG9nL3JlcG9zaXRvcmllcy9jYXRlZ29yeS1jb2xsZWN0aW9uLWNoaWxkcmVuLnJlcG9zaXRvcnknXHJcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgSGFzdXJhQ29uc3RydWN0b3JQYXJhbXMsIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCwgd2l0aEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9taXhpbnMnXHJcblxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlDb2xsZWN0aW9uQ2hpbGRyZW5IYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxyXG4gIGV4dGVuZHMgd2l0aENydWRIYXN1cmFHcmFwaFFMKHdpdGhIYXN1cmFHcmFwaFFMPENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuPihCYXNlKSlcclxuICBpbXBsZW1lbnRzIENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuUmVwb3NpdG9yeVxyXG57XHJcbiAgY29uc3RydWN0b3Ioe1xyXG4gICAgZW5kcG9pbnQsXHJcbiAgICBhdXRoT3B0aW9ucyxcclxuICAgIGludGVyY2VwdG9ycyxcclxuICB9OiBQaWNrPEhhc3VyYUNvbnN0cnVjdG9yUGFyYW1zPENhdGVnb3J5Q29sbGVjdGlvbkNoaWxkcmVuPiwgJ2VuZHBvaW50JyB8ICdhdXRoT3B0aW9ucycgfCAnaW50ZXJjZXB0b3JzJz4pIHtcclxuICAgIHN1cGVyKHtcclxuICAgICAgdGFibGVOYW1lOiAnY2F0ZWdvcnlfY29sbGVjdGlvbl9jaGlsZHJlbicsXHJcbiAgICAgIG1vZGVsOiBDYXRlZ29yeUNvbGxlY3Rpb25DaGlsZHJlbixcclxuICAgICAgZW5kcG9pbnQsXHJcbiAgICAgIGF1dGhPcHRpb25zLFxyXG4gICAgICBpbnRlcmNlcHRvcnMsXHJcbiAgICAgIGZpZWxkczogW1xyXG4gICAgICAgIHsgY29sbGVjdGlvbklkOiB7IGNvbHVtbk5hbWU6ICdjb2xsZWN0aW9uX2lkJyB9IH0sXHJcbiAgICAgICAgeyBjYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdjYXRlZ29yeV9pZCcgfSB9LFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgICAnc2x1ZycsXHJcbiAgICAgICAgJ3JlZmVyZW5jZScsXHJcbiAgICAgICAgeyBwYXJlbnRDb2xsZWN0aW9uSWQ6IHsgY29sdW1uTmFtZTogJ3BhcmVudF9jb2xsZWN0aW9uX2lkJyB9IH0sXHJcbiAgICAgICAgeyBwYXJlbnRDYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdwYXJlbnRfY2F0ZWdvcnlfaWQnIH0gfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYXJlbnQ6IHtcclxuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3BhcmVudCcsXHJcbiAgICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW46IHsgY29sbGVjdGlvbklkOiAncGFyZW50Q29sbGVjdGlvbklkJywgY2F0ZWdvcnlJZDogJ3BhcmVudENhdGVnb3J5SWQnIH0sXHJcbiAgICAgICAgICAgIGZpZWxkczogW1xyXG4gICAgICAgICAgICAgIHsgY29sbGVjdGlvbklkOiB7IGNvbHVtbk5hbWU6ICdjb2xsZWN0aW9uX2lkJyB9IH0sXHJcbiAgICAgICAgICAgICAgeyBjYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdjYXRlZ29yeV9pZCcgfSB9LFxyXG4gICAgICAgICAgICAgICduYW1lJyxcclxuICAgICAgICAgICAgICAnc2x1ZycsXHJcbiAgICAgICAgICAgICAgJ3JlZmVyZW5jZScsXHJcbiAgICAgICAgICAgICAgeyBwYXJlbnRDb2xsZWN0aW9uSWQ6IHsgY29sdW1uTmFtZTogJ3BhcmVudF9jb2xsZWN0aW9uX2lkJyB9IH0sXHJcbiAgICAgICAgICAgICAgeyBwYXJlbnRDYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdwYXJlbnRfY2F0ZWdvcnlfaWQnIH0gfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==