@infrab4a/connect 4.0.0-beta.28 → 4.0.0-beta.3

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 (278) hide show
  1. package/domain/catalog/index.d.ts +0 -1
  2. package/domain/catalog/models/category.d.ts +5 -10
  3. package/domain/catalog/models/index.d.ts +0 -4
  4. package/domain/catalog/models/kit-product.d.ts +1 -1
  5. package/domain/catalog/models/product.d.ts +3 -8
  6. package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
  7. package/domain/catalog/models/types/index.d.ts +1 -2
  8. package/domain/catalog/models/variant.d.ts +2 -1
  9. package/domain/catalog/repositories/category.repository.d.ts +3 -4
  10. package/domain/catalog/repositories/index.d.ts +0 -4
  11. package/domain/catalog/repositories/product.repository.d.ts +0 -1
  12. package/domain/generic/model/base.model.d.ts +5 -9
  13. package/domain/generic/model/types/base-model-builder.type.d.ts +2 -4
  14. package/domain/generic/model/types/identifier-model.type.d.ts +5 -6
  15. package/domain/generic/model/types/model-base-structure.type.d.ts +3 -9
  16. package/domain/generic/model/types/non-function-property-name.type.d.ts +3 -12
  17. package/domain/generic/repository/find.repository.d.ts +0 -3
  18. package/domain/generic/repository/get.repository.d.ts +2 -2
  19. package/domain/generic/repository/types/repository-find-filters.type.d.ts +3 -3
  20. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +2 -2
  21. package/domain/generic/repository/types/repository-update-params.type.d.ts +2 -2
  22. package/domain/location/models/address.d.ts +3 -5
  23. package/domain/shop-settings/models/index.d.ts +0 -1
  24. package/domain/shop-settings/models/types/index.d.ts +1 -6
  25. package/domain/shop-settings/repositories/index.d.ts +0 -1
  26. package/domain/shopping/models/buy-2-win.d.ts +1 -3
  27. package/domain/shopping/models/checkout.d.ts +6 -5
  28. package/domain/shopping/models/index.d.ts +4 -5
  29. package/domain/shopping/models/subscription/checkout.d.ts +4 -3
  30. package/domain/shopping/repositories/index.d.ts +2 -4
  31. package/domain/users/models/lead.d.ts +0 -1
  32. package/domain/users/models/subscription/subscription.d.ts +3 -3
  33. package/domain/users/models/user-address.d.ts +2 -1
  34. package/domain/users/models/user.d.ts +3 -2
  35. package/esm2020/domain/catalog/index.mjs +1 -2
  36. package/esm2020/domain/catalog/models/category.mjs +4 -12
  37. package/esm2020/domain/catalog/models/index.mjs +1 -5
  38. package/esm2020/domain/catalog/models/kit-product.mjs +2 -2
  39. package/esm2020/domain/catalog/models/product.mjs +3 -23
  40. package/esm2020/domain/catalog/models/types/category-filter.type.mjs +2 -0
  41. package/esm2020/domain/catalog/models/types/index.mjs +2 -3
  42. package/esm2020/domain/catalog/models/variant.mjs +4 -1
  43. package/esm2020/domain/catalog/repositories/category.repository.mjs +1 -1
  44. package/esm2020/domain/catalog/repositories/index.mjs +1 -5
  45. package/esm2020/domain/catalog/repositories/product.repository.mjs +1 -1
  46. package/esm2020/domain/generic/model/base.model.mjs +2 -3
  47. package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +1 -1
  48. package/esm2020/domain/generic/model/types/identifier-model.type.mjs +1 -1
  49. package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +1 -1
  50. package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +1 -1
  51. package/esm2020/domain/generic/repository/find.repository.mjs +1 -1
  52. package/esm2020/domain/generic/repository/get.repository.mjs +1 -1
  53. package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +1 -1
  54. package/esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs +1 -1
  55. package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +1 -1
  56. package/esm2020/domain/location/models/address.mjs +2 -2
  57. package/esm2020/domain/shop-settings/models/index.mjs +1 -2
  58. package/esm2020/domain/shop-settings/models/types/index.mjs +2 -7
  59. package/esm2020/domain/shop-settings/repositories/index.mjs +1 -2
  60. package/esm2020/domain/shopping/models/buy-2-win.mjs +2 -2
  61. package/esm2020/domain/shopping/models/checkout.mjs +7 -6
  62. package/esm2020/domain/shopping/models/index.mjs +5 -6
  63. package/esm2020/domain/shopping/models/order.mjs +1 -1
  64. package/esm2020/domain/shopping/models/subscription/checkout.mjs +6 -6
  65. package/esm2020/domain/shopping/repositories/index.mjs +3 -5
  66. package/esm2020/domain/users/models/lead.mjs +1 -1
  67. package/esm2020/domain/users/models/subscription/edition.mjs +1 -1
  68. package/esm2020/domain/users/models/subscription/payment.mjs +1 -1
  69. package/esm2020/domain/users/models/subscription/subscription.mjs +6 -6
  70. package/esm2020/domain/users/models/user-address.mjs +1 -1
  71. package/esm2020/domain/users/models/user-payment-method.mjs +1 -1
  72. package/esm2020/domain/users/models/user.mjs +3 -3
  73. package/esm2020/domain/users/use-cases/authentication.mjs +2 -2
  74. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +11 -28
  75. package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +1 -1
  76. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +51 -58
  77. package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +1 -1
  78. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +4 -8
  79. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +1 -1
  80. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +2 -6
  81. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +7 -10
  82. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +4 -27
  83. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +3 -6
  84. package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +1 -1
  85. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +3 -5
  86. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +4 -7
  87. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +8 -15
  88. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +6 -11
  89. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +8 -10
  90. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +6 -8
  91. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +30 -36
  92. package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +1 -2
  93. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +6 -8
  94. package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +6 -8
  95. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +6 -8
  96. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +6 -8
  97. package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +6 -8
  98. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +4 -6
  99. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +4 -6
  100. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +9 -11
  101. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +6 -8
  102. package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +6 -8
  103. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +6 -8
  104. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +8 -10
  105. package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +6 -8
  106. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +8 -10
  107. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +8 -10
  108. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +8 -10
  109. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +6 -8
  110. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +8 -10
  111. package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +1 -1
  112. package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +1 -1
  113. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +1 -1
  114. package/esm2020/infra/firebase/firestore/types/index.mjs +3 -4
  115. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +2 -2
  116. package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +4 -5
  117. package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +1 -1
  118. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +25 -36
  119. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +4 -6
  120. package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +1 -1
  121. package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +3 -5
  122. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +15 -36
  123. package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +3 -5
  124. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +24 -40
  125. package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +5 -7
  126. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +1 -1
  127. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +12 -130
  128. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +1 -5
  129. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +16 -43
  130. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +7 -8
  131. package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +1 -1
  132. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +1 -1
  133. package/esm2020/utils/index.mjs +4 -6
  134. package/fesm2015/infrab4a-connect.mjs +386 -1498
  135. package/fesm2015/infrab4a-connect.mjs.map +1 -1
  136. package/fesm2020/infrab4a-connect.mjs +392 -1474
  137. package/fesm2020/infrab4a-connect.mjs.map +1 -1
  138. package/infra/elasticsearch/adapters/axios.adapter.d.ts +5 -7
  139. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +2 -3
  140. package/infra/elasticsearch/indexes/products-index.d.ts +10 -8
  141. package/infra/elasticsearch/types/elastic-search-result.d.ts +0 -2
  142. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +2 -2
  143. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +1 -2
  144. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +2 -2
  145. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +2 -2
  146. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -13
  147. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +2 -2
  148. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +2 -2
  149. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +4 -8
  150. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +3 -3
  151. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +5 -6
  152. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +4 -4
  153. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -3
  154. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +4 -3
  155. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +4 -4
  156. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -1
  157. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +4 -3
  158. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +4 -3
  159. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +4 -3
  160. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +4 -3
  161. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +4 -4
  162. package/infra/firebase/firestore/repositories/shopping/index.d.ts +3 -5
  163. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +4 -3
  164. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +4 -4
  165. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +4 -3
  166. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +4 -3
  167. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +4 -3
  168. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +4 -3
  169. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +4 -3
  170. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +4 -3
  171. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -3
  172. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -3
  173. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +4 -4
  174. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -3
  175. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
  176. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +5 -5
  177. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +1 -3
  178. package/infra/firebase/firestore/types/index.d.ts +2 -3
  179. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +3 -9
  180. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +5 -5
  181. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +2 -4
  182. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +5 -8
  183. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -2
  184. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +3 -3
  185. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +1 -1
  186. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +15 -12
  187. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +6 -7
  188. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +3 -14
  189. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +2 -2
  190. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +0 -1
  191. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +5 -10
  192. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -4
  193. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +3 -4
  194. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +4 -4
  195. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +5 -7
  196. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +3 -7
  197. package/package.json +1 -2
  198. package/utils/index.d.ts +22 -5
  199. package/domain/catalog/helpers/RoundProdutcPriceHelper.d.ts +0 -4
  200. package/domain/catalog/helpers/index.d.ts +0 -1
  201. package/domain/catalog/models/category-collection-children.d.ts +0 -13
  202. package/domain/catalog/models/category-filter.d.ts +0 -11
  203. package/domain/catalog/models/filter-option.d.ts +0 -9
  204. package/domain/catalog/models/filter.d.ts +0 -12
  205. package/domain/catalog/models/types/category-product.d.ts +0 -4
  206. package/domain/catalog/models/types/product-evaluation.type.d.ts +0 -6
  207. package/domain/catalog/repositories/category-collection-children.repository.d.ts +0 -4
  208. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -5
  209. package/domain/catalog/repositories/filter-option.repository.d.ts +0 -4
  210. package/domain/catalog/repositories/filter.repository.d.ts +0 -4
  211. package/domain/shop-settings/models/shop-settings.d.ts +0 -9
  212. package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -12
  213. package/domain/shop-settings/models/types/shop-brands.type.d.ts +0 -10
  214. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +0 -5
  215. package/domain/shop-settings/models/types/shop-collection.type.d.ts +0 -9
  216. package/domain/shop-settings/models/types/shop-section.type.d.ts +0 -9
  217. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +0 -4
  218. package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
  219. package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
  220. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
  221. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
  222. package/esm2020/domain/catalog/helpers/RoundProdutcPriceHelper.mjs +0 -15
  223. package/esm2020/domain/catalog/helpers/index.mjs +0 -2
  224. package/esm2020/domain/catalog/models/category-collection-children.mjs +0 -13
  225. package/esm2020/domain/catalog/models/category-filter.mjs +0 -14
  226. package/esm2020/domain/catalog/models/filter-option.mjs +0 -7
  227. package/esm2020/domain/catalog/models/filter.mjs +0 -7
  228. package/esm2020/domain/catalog/models/types/category-product.mjs +0 -2
  229. package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +0 -2
  230. package/esm2020/domain/catalog/repositories/category-collection-children.repository.mjs +0 -2
  231. package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +0 -2
  232. package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +0 -2
  233. package/esm2020/domain/catalog/repositories/filter.repository.mjs +0 -2
  234. package/esm2020/domain/shop-settings/models/shop-settings.mjs +0 -7
  235. package/esm2020/domain/shop-settings/models/types/shop-banner.type.mjs +0 -2
  236. package/esm2020/domain/shop-settings/models/types/shop-brands.type.mjs +0 -2
  237. package/esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs +0 -2
  238. package/esm2020/domain/shop-settings/models/types/shop-collection.type.mjs +0 -2
  239. package/esm2020/domain/shop-settings/models/types/shop-section.type.mjs +0 -2
  240. package/esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs +0 -2
  241. package/esm2020/domain/shopping/models/campaign-dashboard.mjs +0 -7
  242. package/esm2020/domain/shopping/models/campaign-hashtag.mjs +0 -7
  243. package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +0 -2
  244. package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +0 -2
  245. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +0 -14
  246. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +0 -14
  247. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +0 -14
  248. package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +0 -2
  249. package/esm2020/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +0 -38
  250. package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +0 -56
  251. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +0 -105
  252. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +0 -22
  253. package/esm2020/utils/decorators/debug.class.decorator.mjs +0 -7
  254. package/esm2020/utils/decorators/index.mjs +0 -3
  255. package/esm2020/utils/decorators/trace.method.decorator.mjs +0 -81
  256. package/esm2020/utils/helpers/class-name.helper.mjs +0 -15
  257. package/esm2020/utils/helpers/debug-decorator.helper.mjs +0 -18
  258. package/esm2020/utils/helpers/debug.helper.mjs +0 -150
  259. package/esm2020/utils/helpers/index.mjs +0 -5
  260. package/esm2020/utils/helpers/reflect.helper.mjs +0 -165
  261. package/esm2020/utils/log.utils.mjs +0 -9
  262. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +0 -7
  263. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +0 -8
  264. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +0 -8
  265. package/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +0 -14
  266. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +0 -10
  267. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -11
  268. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +0 -18
  269. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +0 -10
  270. package/utils/decorators/debug.class.decorator.d.ts +0 -2
  271. package/utils/decorators/index.d.ts +0 -2
  272. package/utils/decorators/trace.method.decorator.d.ts +0 -14
  273. package/utils/helpers/class-name.helper.d.ts +0 -3
  274. package/utils/helpers/debug-decorator.helper.d.ts +0 -9
  275. package/utils/helpers/debug.helper.d.ts +0 -60
  276. package/utils/helpers/index.d.ts +0 -4
  277. package/utils/helpers/reflect.helper.d.ts +0 -50
  278. package/utils/log.utils.d.ts +0 -7
@@ -1,14 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Type } from 'class-transformer';
3
3
  import { isNil } from '../../../utils';
4
- import { BaseModel } from '../../generic';
4
+ import { BaseModel } from '../../generic/model/base.model';
5
5
  import { BeautyProfile } from './beauty-profile';
6
6
  export class User extends BaseModel {
7
7
  static toInstance(data) {
8
8
  const instance = super.toInstance(data);
9
9
  if (!isNil(data.firstName))
10
10
  instance.displayName = `${data.firstName}${!isNil(data.lastName) ? ` ${data.lastName}` : ''}`;
11
- return;
11
+ return instance;
12
12
  }
13
13
  toPlain() {
14
14
  const plain = super.toPlain();
@@ -23,4 +23,4 @@ __decorate([
23
23
  Type(() => BeautyProfile),
24
24
  __metadata("design:type", BeautyProfile)
25
25
  ], User.prototype, "beautyProfile", void 0);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUF5RCxNQUFNLGVBQWUsQ0FBQTtBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHaEQsTUFBTSxPQUFPLElBQUssU0FBUSxTQUFlO0lBdUJ2QyxNQUFNLENBQVUsVUFBVSxDQUF1QixJQUF3RDtRQUN2RyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBb0IsQ0FBQTtRQUUxRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFL0YsT0FBTTtJQUNSLENBQUM7SUFFUSxPQUFPO1FBQ2QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQTtRQUUxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQXZCQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7OEJBQ1YsYUFBYTsyQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vZ2VuZXJpYydcbmltcG9ydCB7IEJlYXV0eVByb2ZpbGUgfSBmcm9tICcuL2JlYXV0eS1wcm9maWxlJ1xuaW1wb3J0IHsgQXJlYSwgT2ZmaWNlUG9zaXRpb24sIFVzZXJUeXBlIH0gZnJvbSAnLi9lbnVtcydcblxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWw8VXNlcj4ge1xuICBpZDogc3RyaW5nXG4gIGNwZj86IHN0cmluZ1xuICBlbWFpbDogc3RyaW5nXG4gIGZpcnN0TmFtZT86IHN0cmluZ1xuICBsYXN0TmFtZT86IHN0cmluZ1xuICBkaXNwbGF5TmFtZT86IHN0cmluZ1xuICBwaG9uZT86IHN0cmluZ1xuICBiaXJ0aGRheT86IERhdGVcbiAgYWNjZXB0c05ld3NsZXR0ZXI/OiBib29sZWFuXG4gIHR5cGU/OiBVc2VyVHlwZVxuICBhcmVhPzogQXJlYVxuICBvZmZpY2VQb3NpdGlvbj86IE9mZmljZVBvc2l0aW9uXG4gIGlzU3Vic2NyaWJlcj86IGJvb2xlYW5cbiAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZ1xuICBiYWRnZUlkPzogbnVtYmVyXG4gIGJhZGdlTXVsdGlwbGllcj86IG51bWJlclxuICBkYXRlQ3JlYXRlZD86IERhdGVcbiAgZGF0ZU1vZGlmaWVkPzogRGF0ZVxuXG4gIEBUeXBlKCgpID0+IEJlYXV0eVByb2ZpbGUpXG4gIGJlYXV0eVByb2ZpbGU/OiBCZWF1dHlQcm9maWxlXG5cbiAgc3RhdGljIG92ZXJyaWRlIHRvSW5zdGFuY2U8VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE/OiBQYXJ0aWFsPE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8VXNlcj4+KTogVCB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBzdXBlci50b0luc3RhbmNlKGRhdGEpIGFzIHVua25vd24gYXMgVXNlclxuXG4gICAgaWYgKCFpc05pbChkYXRhLmZpcnN0TmFtZSkpXG4gICAgICBpbnN0YW5jZS5kaXNwbGF5TmFtZSA9IGAke2RhdGEuZmlyc3ROYW1lfSR7IWlzTmlsKGRhdGEubGFzdE5hbWUpID8gYCAke2RhdGEubGFzdE5hbWV9YCA6ICcnfWBcblxuICAgIHJldHVyblxuICB9XG5cbiAgb3ZlcnJpZGUgdG9QbGFpbigpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBwbGFpbiA9IHN1cGVyLnRvUGxhaW4oKVxuXG4gICAgZGVsZXRlIHBsYWluLmJlYXV0eVByb2ZpbGVcblxuICAgIHJldHVybiBwbGFpblxuICB9XG5cbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi91c2Vycy9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGdDQUFnQyxDQUFBO0FBRzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUdoRCxNQUFNLE9BQU8sSUFBSyxTQUFRLFNBQWU7SUF1QnZDLE1BQU0sQ0FBVSxVQUFVLENBRXhCLElBQTJDO1FBRTNDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFTLENBQUE7UUFFL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFBO1FBRS9GLE9BQU8sUUFBZSxDQUFBO0lBQ3hCLENBQUM7SUFFUSxPQUFPO1FBQ2QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQTtRQUUxQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQTFCQztJQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7OEJBQ1YsYUFBYTsyQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsL2Jhc2UubW9kZWwnXG5pbXBvcnQgeyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIE5vbkZ1bmN0aW9uUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwvdHlwZXMnXG5cbmltcG9ydCB7IEJlYXV0eVByb2ZpbGUgfSBmcm9tICcuL2JlYXV0eS1wcm9maWxlJ1xuaW1wb3J0IHsgQXJlYSwgT2ZmaWNlUG9zaXRpb24sIFVzZXJUeXBlIH0gZnJvbSAnLi9lbnVtcydcblxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWw8VXNlcj4ge1xuICBpZDogc3RyaW5nXG4gIGNwZj86IHN0cmluZ1xuICBlbWFpbDogc3RyaW5nXG4gIGZpcnN0TmFtZT86IHN0cmluZ1xuICBsYXN0TmFtZT86IHN0cmluZ1xuICBkaXNwbGF5TmFtZT86IHN0cmluZ1xuICBwaG9uZT86IHN0cmluZ1xuICBiaXJ0aGRheT86IERhdGVcbiAgYWNjZXB0c05ld3NsZXR0ZXI/OiBib29sZWFuXG4gIHR5cGU/OiBVc2VyVHlwZVxuICBhcmVhPzogQXJlYVxuICBvZmZpY2VQb3NpdGlvbj86IE9mZmljZVBvc2l0aW9uXG4gIGlzU3Vic2NyaWJlcj86IGJvb2xlYW5cbiAgc3Vic2NyaXB0aW9uUGxhbj86IHN0cmluZ1xuICBiYWRnZUlkPzogbnVtYmVyXG4gIGJhZGdlTXVsdGlwbGllcj86IG51bWJlclxuICBkYXRlQ3JlYXRlZD86IERhdGVcbiAgZGF0ZU1vZGlmaWVkPzogRGF0ZVxuXG4gIEBUeXBlKCgpID0+IEJlYXV0eVByb2ZpbGUpXG4gIGJlYXV0eVByb2ZpbGU/OiBCZWF1dHlQcm9maWxlXG5cbiAgc3RhdGljIG92ZXJyaWRlIHRvSW5zdGFuY2U8VCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxVc2VyPj4oXG4gICAgdGhpczogbmV3ICgpID0+IFQsXG4gICAgZGF0YT86IFBhcnRpYWw8Tm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPFVzZXI+PixcbiAgKTogVCB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBzdXBlci50b0luc3RhbmNlKGRhdGEpIGFzIFVzZXJcblxuICAgIGlmICghaXNOaWwoZGF0YS5maXJzdE5hbWUpKVxuICAgICAgaW5zdGFuY2UuZGlzcGxheU5hbWUgPSBgJHtkYXRhLmZpcnN0TmFtZX0keyFpc05pbChkYXRhLmxhc3ROYW1lKSA/IGAgJHtkYXRhLmxhc3ROYW1lfWAgOiAnJ31gXG5cbiAgICByZXR1cm4gaW5zdGFuY2UgYXMgYW55XG4gIH1cblxuICBvdmVycmlkZSB0b1BsYWluKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IHBsYWluID0gc3VwZXIudG9QbGFpbigpXG5cbiAgICBkZWxldGUgcGxhaW4uYmVhdXR5UHJvZmlsZVxuXG4gICAgcmV0dXJuIHBsYWluXG4gIH1cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
@@ -14,7 +14,7 @@ export class Authentication {
14
14
  async signIn({ email, password }, signInMethod) {
15
15
  const method = this.getServiceByMethod(signInMethod);
16
16
  const userAuth = await this.authService[method]({ email, password });
17
- const user = this.userRepository.get({ id: userAuth.id });
17
+ const user = this.userRepository.get(userAuth);
18
18
  if (!isNil(user))
19
19
  return user;
20
20
  if (/^.+@b4a.com.br$/.test(userAuth.email))
@@ -40,4 +40,4 @@ export class Authentication {
40
40
  return this.userRepository.create(person);
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvdXNlLWNhc2VzL2F1dGhlbnRpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBSWhFLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsa0RBQWlDLENBQUE7SUFDakMsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBU0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBNkIsV0FBa0MsRUFBbUIsY0FBOEI7UUFBbkYsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQW1CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFcEgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWdCLEVBQUUsWUFBMEI7UUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3BELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRXpELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDN0IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXpGLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsWUFBMEI7UUFFMUIsT0FBTyxZQUFZLEtBQUssYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFBO0lBQzFHLENBQUM7SUFFTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBbUI7UUFDdkQsTUFBTSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzdCLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxFQUFFO1lBQ1AsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3BCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDeEIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQ3JDLElBQUksRUFBRSxRQUFRLENBQUMsWUFBWTtTQUM1QixDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBVbmF1dGhvcml6ZWRFcnJvciB9IGZyb20gJy4uL2Vycm9ycy91bmF1dGhvcml6ZWQuZXJyb3InXG5pbXBvcnQgeyBBcmVhLCBPZmZpY2VQb3NpdGlvbiwgVXNlciwgVXNlclR5cGUgfSBmcm9tICcuLi9tb2RlbHMnXG5pbXBvcnQgeyBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJy4uL3JlcG9zaXRvcmllcy91c2VyLnJlcG9zaXRvcnknXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJ1xuXG5leHBvcnQgZW51bSBTaWduSW5NZXRob2RzIHtcbiAgRU1BSUxfUEFTU1dPUkQgPSAnZW1haWxfcGFzc3dvcmQnLFxuICBHT09HTEUgPSAnZ29vZ2xlJyxcbn1cblxudHlwZSBTaWduSW5NZXRob2QgPSBMb3dlcmNhc2U8a2V5b2YgdHlwZW9mIFNpZ25Jbk1ldGhvZHM+XG5cbnR5cGUgU2lnbkluUGFyYW1zID0ge1xuICBlbWFpbD86IHN0cmluZ1xuICBwYXNzd29yZD86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIHNpZ25Jbih7IGVtYWlsLCBwYXNzd29yZCB9OiBTaWduSW5QYXJhbXMsIHNpZ25Jbk1ldGhvZDogU2lnbkluTWV0aG9kKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgY29uc3QgbWV0aG9kID0gdGhpcy5nZXRTZXJ2aWNlQnlNZXRob2Qoc2lnbkluTWV0aG9kKVxuICAgIGNvbnN0IHVzZXJBdXRoID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZVttZXRob2RdKHsgZW1haWwsIHBhc3N3b3JkIH0pXG4gICAgY29uc3QgdXNlciA9IHRoaXMudXNlclJlcG9zaXRvcnkuZ2V0KHsgaWQ6IHVzZXJBdXRoLmlkIH0pXG5cbiAgICBpZiAoIWlzTmlsKHVzZXIpKSByZXR1cm4gdXNlclxuICAgIGlmICgvXi4rQGI0YS5jb20uYnIkLy50ZXN0KHVzZXJBdXRoLmVtYWlsKSkgcmV0dXJuIHRoaXMuY3JlYXRlc1VzZXJCeUNyZWRlbnRpYWwodXNlckF1dGgpXG5cbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IoJ0ludmFsaWQgY3JlZGVudGlhbHMnKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXJ2aWNlQnlNZXRob2QoXG4gICAgc2lnbkluTWV0aG9kOiBTaWduSW5NZXRob2QsXG4gICk6IGtleW9mIFBpY2s8QXV0aGVudGljYXRpb25TZXJ2aWNlLCAnc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQnIHwgJ3NpZ25JbldpdGhHb29nbGUnPiB7XG4gICAgcmV0dXJuIHNpZ25Jbk1ldGhvZCA9PT0gU2lnbkluTWV0aG9kcy5FTUFJTF9QQVNTV09SRCA/ICdzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCcgOiAnc2lnbkluV2l0aEdvb2dsZSdcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlc1VzZXJCeUNyZWRlbnRpYWwodXNlcjogUGFydGlhbDxVc2VyPik6IFByb21pc2U8VXNlcj4ge1xuICAgIGNvbnN0IFtmaXJzdE5hbWUsIGxhc3ROYW1lXSA9IHVzZXIuZGlzcGxheU5hbWU/LnNwbGl0KC9cXHMvKVxuICAgIGNvbnN0IHBlcnNvbiA9IFVzZXIudG9JbnN0YW5jZSh7XG4gICAgICAuLi51c2VyLFxuICAgICAgY3BmOiAnJyxcbiAgICAgIGJpcnRoZGF5OiBuZXcgRGF0ZSgpLFxuICAgICAgZmlyc3ROYW1lLFxuICAgICAgbGFzdE5hbWUsXG4gICAgICBhY2NlcHRzTmV3c2xldHRlcjogZmFsc2UsXG4gICAgICBhcmVhOiBBcmVhLlRyYW5zYWN0aW9uYWwsXG4gICAgICBvZmZpY2VQb3NpdGlvbjogT2ZmaWNlUG9zaXRpb24uSW50ZXJuLFxuICAgICAgdHlwZTogVXNlclR5cGUuQ29sbGFib3JhdG9yLFxuICAgIH0pXG5cbiAgICByZXR1cm4gdGhpcy51c2VyUmVwb3NpdG9yeS5jcmVhdGUocGVyc29uKVxuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vdXNlcnMvdXNlLWNhc2VzL2F1dGhlbnRpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBSWhFLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsa0RBQWlDLENBQUE7SUFDakMsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBU0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBNkIsV0FBa0MsRUFBbUIsY0FBOEI7UUFBbkYsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQW1CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFcEgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWdCLEVBQUUsWUFBMEI7UUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3BELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQVMsQ0FBQyxDQUFBO1FBQzNFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRTlDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDN0IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXpGLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsWUFBMEI7UUFFMUIsT0FBTyxZQUFZLEtBQUssYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFBO0lBQzFHLENBQUM7SUFFTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBbUI7UUFDdkQsTUFBTSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzdCLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxFQUFFO1lBQ1AsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3BCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDeEIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQ3JDLElBQUksRUFBRSxRQUFRLENBQUMsWUFBWTtTQUM1QixDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBVbmF1dGhvcml6ZWRFcnJvciB9IGZyb20gJy4uL2Vycm9ycy91bmF1dGhvcml6ZWQuZXJyb3InXG5pbXBvcnQgeyBBcmVhLCBPZmZpY2VQb3NpdGlvbiwgVXNlciwgVXNlclR5cGUgfSBmcm9tICcuLi9tb2RlbHMnXG5pbXBvcnQgeyBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJy4uL3JlcG9zaXRvcmllcy91c2VyLnJlcG9zaXRvcnknXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJ1xuXG5leHBvcnQgZW51bSBTaWduSW5NZXRob2RzIHtcbiAgRU1BSUxfUEFTU1dPUkQgPSAnZW1haWxfcGFzc3dvcmQnLFxuICBHT09HTEUgPSAnZ29vZ2xlJyxcbn1cblxudHlwZSBTaWduSW5NZXRob2QgPSBMb3dlcmNhc2U8a2V5b2YgdHlwZW9mIFNpZ25Jbk1ldGhvZHM+XG5cbnR5cGUgU2lnbkluUGFyYW1zID0ge1xuICBlbWFpbD86IHN0cmluZ1xuICBwYXNzd29yZD86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KSB7fVxuXG4gIGFzeW5jIHNpZ25Jbih7IGVtYWlsLCBwYXNzd29yZCB9OiBTaWduSW5QYXJhbXMsIHNpZ25Jbk1ldGhvZDogU2lnbkluTWV0aG9kKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgY29uc3QgbWV0aG9kID0gdGhpcy5nZXRTZXJ2aWNlQnlNZXRob2Qoc2lnbkluTWV0aG9kKVxuICAgIGNvbnN0IHVzZXJBdXRoID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZVttZXRob2RdKHsgZW1haWwsIHBhc3N3b3JkIH0gYXMgYW55KVxuICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJSZXBvc2l0b3J5LmdldCh1c2VyQXV0aClcblxuICAgIGlmICghaXNOaWwodXNlcikpIHJldHVybiB1c2VyXG4gICAgaWYgKC9eLitAYjRhLmNvbS5iciQvLnRlc3QodXNlckF1dGguZW1haWwpKSByZXR1cm4gdGhpcy5jcmVhdGVzVXNlckJ5Q3JlZGVudGlhbCh1c2VyQXV0aClcblxuICAgIHRocm93IG5ldyBVbmF1dGhvcml6ZWRFcnJvcignSW52YWxpZCBjcmVkZW50aWFscycpXG4gIH1cblxuICBwcml2YXRlIGdldFNlcnZpY2VCeU1ldGhvZChcbiAgICBzaWduSW5NZXRob2Q6IFNpZ25Jbk1ldGhvZCxcbiAgKToga2V5b2YgUGljazxBdXRoZW50aWNhdGlvblNlcnZpY2UsICdzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCcgfCAnc2lnbkluV2l0aEdvb2dsZSc+IHtcbiAgICByZXR1cm4gc2lnbkluTWV0aG9kID09PSBTaWduSW5NZXRob2RzLkVNQUlMX1BBU1NXT1JEID8gJ3NpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkJyA6ICdzaWduSW5XaXRoR29vZ2xlJ1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVzVXNlckJ5Q3JlZGVudGlhbCh1c2VyOiBQYXJ0aWFsPFVzZXI+KTogUHJvbWlzZTxVc2VyPiB7XG4gICAgY29uc3QgW2ZpcnN0TmFtZSwgbGFzdE5hbWVdID0gdXNlci5kaXNwbGF5TmFtZT8uc3BsaXQoL1xccy8pXG4gICAgY29uc3QgcGVyc29uID0gVXNlci50b0luc3RhbmNlKHtcbiAgICAgIC4uLnVzZXIsXG4gICAgICBjcGY6ICcnLFxuICAgICAgYmlydGhkYXk6IG5ldyBEYXRlKCksXG4gICAgICBmaXJzdE5hbWUsXG4gICAgICBsYXN0TmFtZSxcbiAgICAgIGFjY2VwdHNOZXdzbGV0dGVyOiBmYWxzZSxcbiAgICAgIGFyZWE6IEFyZWEuVHJhbnNhY3Rpb25hbCxcbiAgICAgIG9mZmljZVBvc2l0aW9uOiBPZmZpY2VQb3NpdGlvbi5JbnRlcm4sXG4gICAgICB0eXBlOiBVc2VyVHlwZS5Db2xsYWJvcmF0b3IsXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLnVzZXJSZXBvc2l0b3J5LmNyZWF0ZShwZXJzb24pXG4gIH1cbn1cbiJdfQ==
@@ -4,16 +4,12 @@ export class AxiosAdapter {
4
4
  constructor(config) {
5
5
  this.config = config;
6
6
  }
7
- async get(index, id) {
7
+ async get(index) {
8
8
  try {
9
9
  const { data } = await axios({
10
- url: `${this.config.url}/${index}/_doc/${id}`,
10
+ url: `${this.config.url}/${index}`,
11
11
  method: 'GET',
12
- responseType: 'json',
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- Authorization: `ApiKey ${this.config.credential}`,
16
- },
12
+ headers: { Authorization: `Basic ${this.config.credential}` },
17
13
  });
18
14
  return data._source;
19
15
  }
@@ -25,14 +21,9 @@ export class AxiosAdapter {
25
21
  }
26
22
  async query(index, query) {
27
23
  const { data } = await axios({
28
- url: `${this.config.url}/${index}/_search`,
24
+ url: `${this.config.url}/${index}`,
29
25
  method: 'POST',
30
- responseType: 'json',
31
- headers: {
32
- Accept: 'application/vnd.elasticsearch+json;compatible-with=7',
33
- 'Content-Type': 'application/vnd.elasticsearch+json;compatible-with=7',
34
- Authorization: `ApiKey ${this.config.credential}`,
35
- },
26
+ headers: { Authorization: `Basic ${this.config.credential}` },
36
27
  data: query,
37
28
  });
38
29
  return {
@@ -42,26 +33,18 @@ export class AxiosAdapter {
42
33
  }
43
34
  async save(index, data) {
44
35
  await axios({
45
- url: `${this.config.url}/${index}/_doc`,
46
- method: 'POST',
47
- headers: { Authorization: `ApiKey ${this.config.credential}` },
48
- data,
49
- });
50
- }
51
- async update(index, id, data) {
52
- await axios({
53
- url: `${this.config.url}/${index}/_update/${id}`,
36
+ url: `${this.config.url}/${index}`,
54
37
  method: 'PUT',
55
- headers: { Authorization: `ApiKey ${this.config.credential}` },
38
+ headers: { Authorization: `Basic ${this.config.credential}` },
56
39
  data,
57
40
  });
58
41
  }
59
- async delete(index, id) {
42
+ async delete(index) {
60
43
  await axios({
61
- url: `${this.config.url}/${index}/_doc/${id}`,
44
+ url: `${this.config.url}/${index}`,
62
45
  method: 'DELETE',
63
- headers: { Authorization: `ApiKey ${this.config.credential}` },
46
+ headers: { Authorization: `Basic ${this.config.credential}` },
64
47
  });
65
48
  }
66
49
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvYXhpb3MuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFFekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBUy9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQTZCLE1BQWdDO1FBQWhDLFdBQU0sR0FBTixNQUFNLENBQTBCO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFVO1FBQ2pDLElBQUk7WUFDRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUM7Z0JBQzNCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssU0FBUyxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFlBQVksRUFBRSxNQUFNO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtvQkFDbEMsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7aUJBQ2xEO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1NBQ3BCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDO2dCQUFFLE1BQU0sS0FBSyxDQUFBO1lBRTFDLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLEtBQVU7UUFDbkMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDO1lBQzNCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssVUFBVTtZQUMxQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsc0RBQXNEO2dCQUM5RCxjQUFjLEVBQUUsc0RBQXNEO2dCQUN0RSxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTthQUNsRDtZQUNELElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO1FBRUYsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7U0FDckIsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUN4QyxNQUFNLEtBQUssQ0FBQztZQUNWLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssT0FBTztZQUN2QyxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDOUQsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxFQUFVLEVBQUUsSUFBZ0I7UUFDdEQsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLFlBQVksRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM5RCxJQUFJO1NBQ0wsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBYSxFQUFFLEVBQVU7UUFDcEMsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLFNBQVMsRUFBRSxFQUFFO1lBQzdDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7U0FDL0QsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTm90Rm91bmRFcnJvciB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IEVsYXN0aWNTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi90eXBlcy9lbGFzdGljLXNlYXJjaC1yZXN1bHQnXG5pbXBvcnQgeyBFbGFzdGljU2VhcmNoQWRhcHRlciB9IGZyb20gJy4vZWxhc3RpYy1zZWFyY2guYWRhcHRlcidcblxuZXhwb3J0IHR5cGUgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnID0ge1xuICB1cmw6IHN0cmluZ1xuICBjcmVkZW50aWFsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIEF4aW9zQWRhcHRlcjxUIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFQ+PiBpbXBsZW1lbnRzIEVsYXN0aWNTZWFyY2hBZGFwdGVyPFQ+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZykge31cblxuICBhc3luYyBnZXQoaW5kZXg6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9L19kb2MvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEFwaUtleSAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBkYXRhLl9zb3VyY2VcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHRocm93IGVycm9yXG5cbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcXVlcnkoaW5kZXg6IHN0cmluZywgcXVlcnk6IGFueSk6IFByb21pc2U8RWxhc3RpY1NlYXJjaFJlc3VsdDxUPj4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9L19zZWFyY2hgLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vdm5kLmVsYXN0aWNzZWFyY2granNvbjtjb21wYXRpYmxlLXdpdGg9NycsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vdm5kLmVsYXN0aWNzZWFyY2granNvbjtjb21wYXRpYmxlLXdpdGg9NycsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBBcGlLZXkgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAsXG4gICAgICB9LFxuICAgICAgZGF0YTogcXVlcnksXG4gICAgfSlcblxuICAgIHJldHVybiB7XG4gICAgICB0b3RhbDogZGF0YS5oaXRzLnRvdGFsLnZhbHVlLFxuICAgICAgaGl0czogZGF0YS5oaXRzLmhpdHMsXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZShpbmRleDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9L19kb2NgLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBBcGlLZXkgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIGRhdGEsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9L191cGRhdGUvJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIGhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEFwaUtleSAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCB9LFxuICAgICAgZGF0YSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGluZGV4OiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBheGlvcyh7XG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlnLnVybH0vJHtpbmRleH0vX2RvYy8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQXBpS2V5ICR7dGhpcy5jb25maWcuY3JlZGVudGlhbH1gIH0sXG4gICAgfSlcbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvYXhpb3MuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBUS9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQTZCLE1BQWdDO1FBQWhDLFdBQU0sR0FBTixNQUFNLENBQTBCO0lBQUcsQ0FBQztJQUVqRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQWE7UUFDckIsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQztnQkFDM0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSztnQkFDYixPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO2FBQzlELENBQUMsQ0FBQTtZQUVGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtTQUNwQjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQztnQkFBRSxNQUFNLEtBQUssQ0FBQTtZQUUxQyxNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUN2QztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFVO1FBQ25DLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQztZQUMzQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDbEMsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzdELElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO1FBRUYsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7U0FDckIsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUN4QyxNQUFNLEtBQUssQ0FBQztZQUNWLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRTtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDN0QsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQWE7UUFDeEIsTUFBTSxLQUFLLENBQUM7WUFDVixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDbEMsTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtTQUM5RCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5cbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBFbGFzdGljU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vdHlwZXMvZWxhc3RpYy1zZWFyY2gtcmVzdWx0J1xuXG5leHBvcnQgdHlwZSBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcgPSB7XG4gIHVybDogc3RyaW5nXG4gIGNyZWRlbnRpYWw6IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgQXhpb3NBZGFwdGVyPFQgZXh0ZW5kcyBCYXNlTW9kZWw8VD4+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZykge31cblxuICBhc3luYyBnZXQoaW5kZXg6IHN0cmluZyk6IFByb21pc2U8UGFydGlhbDxUPj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9YCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBkYXRhLl9zb3VyY2VcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHRocm93IGVycm9yXG5cbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcXVlcnkoaW5kZXg6IHN0cmluZywgcXVlcnk6IGFueSk6IFByb21pc2U8RWxhc3RpY1NlYXJjaFJlc3VsdDxQYXJ0aWFsPFQ+Pj4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9YCxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIGRhdGE6IHF1ZXJ5LFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG90YWw6IGRhdGEuaGl0cy50b3RhbC52YWx1ZSxcbiAgICAgIGhpdHM6IGRhdGEuaGl0cy5oaXRzLFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNhdmUoaW5kZXg6IHN0cmluZywgZGF0YTogUGFydGlhbDxUPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgIHVybDogYCR7dGhpcy5jb25maWcudXJsfS8ke2luZGV4fWAsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHt0aGlzLmNvbmZpZy5jcmVkZW50aWFsfWAgfSxcbiAgICAgIGRhdGEsXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShpbmRleDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgYXhpb3Moe1xuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZy51cmx9LyR7aW5kZXh9YCxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCYXNpYyAke3RoaXMuY29uZmlnLmNyZWRlbnRpYWx9YCB9LFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2guYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvZWxhc3RpYy1zZWFyY2guYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxhc3RpY1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsYXN0aWMtc2VhcmNoLXJlc3VsdCdcblxuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljU2VhcmNoQWRhcHRlcjxUID0gYW55PiB7XG4gIGdldChpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTxUPlxuICBxdWVyeShpbmRleDogc3RyaW5nLCBxdWVyeTogYW55KTogUHJvbWlzZTxFbGFzdGljU2VhcmNoUmVzdWx0PFQ+PlxuICBzYXZlKGluZGV4OiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+XG4gIHVwZGF0ZShpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KTogUHJvbWlzZTx2b2lkPlxuICBkZWxldGUoaW5kZXg6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2guYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2VsYXN0aWNzZWFyY2gvYWRhcHRlcnMvZWxhc3RpYy1zZWFyY2guYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxhc3RpY1NlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL2VsYXN0aWMtc2VhcmNoLXJlc3VsdCdcblxuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljU2VhcmNoQWRhcHRlcjxUID0gYW55PiB7XG4gIGdldChpbmRleDogc3RyaW5nKTogUHJvbWlzZTxUPlxuICBxdWVyeShpbmRleDogc3RyaW5nLCBxdWVyeTogYW55KTogUHJvbWlzZTxFbGFzdGljU2VhcmNoUmVzdWx0PFQ+PlxuICBzYXZlKGluZGV4OiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pOiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZShpbmRleDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPlxufVxuIl19
@@ -1,17 +1,14 @@
1
- import { Product, Shops } from '../../../domain';
1
+ import { Product } from '../../../domain';
2
2
  export class ProductsIndex {
3
3
  constructor(adapter) {
4
4
  this.adapter = adapter;
5
- this.index = `products`;
6
5
  }
7
- async getById(id) {
8
- const data = await this.adapter.get(this.index, id);
6
+ async get(id) {
7
+ const data = await this.adapter.get(`products/_doc/${id}`);
9
8
  return Product.toInstance(data);
10
9
  }
11
- async search(searchTerm, total, shop) {
12
- const size = total >= 10 ? 500 : 9;
10
+ async findById(ids, options) {
13
11
  const fields = [
14
- 'EAN',
15
12
  'brand',
16
13
  'id',
17
14
  'images',
@@ -22,78 +19,74 @@ export class ProductsIndex {
22
19
  'stock',
23
20
  'slug',
24
21
  'reviews',
22
+ 'pricePaid',
23
+ 'isGift',
24
+ 'stock',
25
+ 'weight',
26
+ 'tags',
25
27
  'hasVariants',
26
- 'rate',
28
+ 'type',
27
29
  ];
28
- const filter = [{ term: { published: true } }];
29
- if (size > 9) {
30
- fields.push(...['pricePaid', 'isGift', 'stock', 'weight', 'tags']);
31
- }
32
- else {
33
- filter.push({ term: { tags: shop == Shops.GLAMSHOP ? 'feminino' : 'masculino' } });
34
- }
35
- const search = await this.adapter.query(this.index, {
36
- size,
30
+ const { hits } = await this.adapter.query('products/_search', {
37
31
  _source: fields,
38
32
  query: {
39
33
  bool: {
40
- must: {
41
- multi_match: {
42
- query: `${searchTerm}`,
43
- type: 'bool_prefix',
44
- fields: [
45
- 'name',
46
- 'name.folded',
47
- 'name.search',
48
- 'description',
49
- 'description.search',
50
- 'description.folded',
51
- 'brand',
52
- 'brand.search',
53
- 'brand.folded',
54
- ],
55
- fuzziness: 2,
34
+ filter: [
35
+ {
36
+ terms: {
37
+ _id: ids,
38
+ },
56
39
  },
57
- },
58
- should: {
59
- match_phrase_prefix: {
60
- 'name.search': {
61
- query: `${searchTerm}`,
62
- slop: 10,
40
+ {
41
+ term: {
42
+ published: true,
63
43
  },
64
44
  },
65
- },
66
- filter,
45
+ ...(options?.hasStock
46
+ ? [
47
+ {
48
+ range: {
49
+ 'stock.quantity': {
50
+ gt: 0,
51
+ },
52
+ },
53
+ },
54
+ ]
55
+ : []),
56
+ ],
67
57
  },
68
58
  },
59
+ ...(options?.size ? { size: options?.size } : {}),
69
60
  });
70
- search.hits = search.hits.filter((e) => e._source.name !== '');
71
- return search;
61
+ return hits.map((hit) => Product.toInstance(hit._source));
72
62
  }
73
63
  async save(product) {
64
+ delete product.createdAt;
65
+ delete product.updatedAt;
66
+ delete product.kitProducts;
74
67
  try {
75
- const { createdAt, updatedAt, kitProducts, ...data } = product;
76
- this.adapter.save(this.index, data);
77
- }
78
- catch (error) {
79
- console.error(error);
80
- }
81
- }
82
- async update(product) {
83
- try {
84
- await this.adapter.update(this.index, product.id, product);
68
+ if (!product.firestoreId)
69
+ throw new Error('Is not a product from firestore');
70
+ await this.get(product.firestoreId);
71
+ await this.adapter.save(`products/_doc/${product.firestoreId}`, product.toPlain());
85
72
  }
86
73
  catch (error) {
87
- console.error(error);
74
+ if (!(error instanceof Error))
75
+ throw error;
76
+ console.error(error.message);
77
+ await this.adapter.save(`products/_doc/${product.id}`, product.toPlain());
88
78
  }
89
79
  }
90
- async delete(id) {
80
+ async delete(product) {
81
+ if (!product.firestoreId)
82
+ return;
91
83
  try {
92
- await this.adapter.delete(this.index, id);
84
+ await this.get(product.firestoreId);
85
+ await this.adapter.delete(`products/_doc/${product.firestoreId}`);
93
86
  }
94
87
  catch (error) {
95
- console.error(error);
88
+ await this.adapter.delete(`products/_doc/${product.id}`);
96
89
  }
97
90
  }
98
91
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUloRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUE2QixPQUFzQztRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUQzRCxVQUFLLEdBQUcsVUFBVSxDQUFBO0lBQzRDLENBQUM7SUFFdkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNuRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBa0IsRUFBRSxLQUFhLEVBQUUsSUFBWTtRQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxQyxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUs7WUFDTCxPQUFPO1lBQ1AsSUFBSTtZQUNKLFFBQVE7WUFDUixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxLQUFLO1lBQ0wsT0FBTztZQUNQLE1BQU07WUFDTixTQUFTO1lBQ1QsYUFBYTtZQUNiLE1BQU07U0FDUCxDQUFBO1FBRUQsTUFBTSxNQUFNLEdBQWtFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTdHLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1NBQ25FO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUNuRjtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsRCxJQUFJO1lBQ0osT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUU7NEJBQ1gsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFOzRCQUN0QixJQUFJLEVBQUUsYUFBYTs0QkFDbkIsTUFBTSxFQUFFO2dDQUNOLE1BQU07Z0NBQ04sYUFBYTtnQ0FDYixhQUFhO2dDQUNiLGFBQWE7Z0NBQ2Isb0JBQW9CO2dDQUNwQixvQkFBb0I7Z0NBQ3BCLE9BQU87Z0NBQ1AsY0FBYztnQ0FDZCxjQUFjOzZCQUNmOzRCQUNELFNBQVMsRUFBRSxDQUFDO3lCQUNiO3FCQUNGO29CQUNELE1BQU0sRUFBRTt3QkFDTixtQkFBbUIsRUFBRTs0QkFDbkIsYUFBYSxFQUFFO2dDQUNiLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRTtnQ0FDdEIsSUFBSSxFQUFFLEVBQUU7NkJBQ1Q7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsTUFBTTtpQkFDUDthQUNGO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7UUFFbkUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUN0QyxJQUFJO1lBQ0YsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFBO1lBRTlELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7U0FDcEM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUE2QjtRQUN4QyxJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDM0Q7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFVO1FBQ3JCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDMUM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0LCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vaGFzdXJhLWdyYXBocWwnXG5pbXBvcnQgeyBFbGFzdGljU2VhcmNoQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNJbmRleCB7XG4gIHByaXZhdGUgaW5kZXggPSBgcHJvZHVjdHNgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRhcHRlcjogRWxhc3RpY1NlYXJjaEFkYXB0ZXI8UHJvZHVjdD4pIHt9XG5cbiAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5nZXQodGhpcy5pbmRleCwgaWQpXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxuICB9XG5cbiAgYXN5bmMgc2VhcmNoKHNlYXJjaFRlcm06IHN0cmluZywgdG90YWw6IG51bWJlciwgc2hvcDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdG90YWwgPj0gMTAgPyA1MDAgOiA5XG5cbiAgICBjb25zdCBmaWVsZHMgPSBbXG4gICAgICAnRUFOJyxcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICdyYXRlJyxcbiAgICBdXG5cbiAgICBjb25zdCBmaWx0ZXI6IEFycmF5PHsgdGVybTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIH0gfT4gPSBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dXG5cbiAgICBpZiAoc2l6ZSA+IDkpIHtcbiAgICAgIGZpZWxkcy5wdXNoKC4uLlsncHJpY2VQYWlkJywgJ2lzR2lmdCcsICdzdG9jaycsICd3ZWlnaHQnLCAndGFncyddKVxuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXIucHVzaCh7IHRlcm06IHsgdGFnczogc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1pbmlubycgOiAnbWFzY3VsaW5vJyB9IH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcbiAgICAgIHNpemUsXG4gICAgICBfc291cmNlOiBmaWVsZHMsXG4gICAgICBxdWVyeToge1xuICAgICAgICBib29sOiB7XG4gICAgICAgICAgbXVzdDoge1xuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcbiAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcbiAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xfcHJlZml4JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICduYW1lLmZvbGRlZCcsXG4gICAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJyxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5zZWFyY2gnLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5mb2xkZWQnLFxuICAgICAgICAgICAgICAgICdicmFuZCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLnNlYXJjaCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLmZvbGRlZCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGZ1enppbmVzczogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzaG91bGQ6IHtcbiAgICAgICAgICAgIG1hdGNoX3BocmFzZV9wcmVmaXg6IHtcbiAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJzoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXG4gICAgICAgICAgICAgICAgc2xvcDogMTAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0cy5maWx0ZXIoKGU6IGFueSkgPT4gZS5fc291cmNlLm5hbWUgIT09ICcnKVxuXG4gICAgcmV0dXJuIHNlYXJjaFxuICB9XG5cbiAgYXN5bmMgc2F2ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNyZWF0ZWRBdCwgdXBkYXRlZEF0LCBraXRQcm9kdWN0cywgLi4uZGF0YSB9ID0gcHJvZHVjdFxuXG4gICAgICB0aGlzLmFkYXB0ZXIuc2F2ZSh0aGlzLmluZGV4LCBkYXRhKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudXBkYXRlKHRoaXMuaW5kZXgsIHByb2R1Y3QuaWQsIHByb2R1Y3QpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLmRlbGV0ZSh0aGlzLmluZGV4LCBpZClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBUyxNQUFNLGlCQUFpQixDQUFBO0FBSWhELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQTZCLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQztJQUUvRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQVU7UUFDbEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUUxRCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBYSxFQUFFLE9BQTBEO1FBQ3RGLE1BQU0sTUFBTSxHQUFHO1lBQ2IsT0FBTztZQUNQLElBQUk7WUFDSixRQUFRO1lBQ1IsWUFBWTtZQUNaLE1BQU07WUFDTixPQUFPO1lBQ1AsS0FBSztZQUNMLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULFdBQVc7WUFDWCxRQUFRO1lBQ1IsT0FBTztZQUNQLFFBQVE7WUFDUixNQUFNO1lBQ04sYUFBYTtZQUNiLE1BQU07U0FDUCxDQUFBO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUU7WUFDNUQsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTjs0QkFDRSxLQUFLLEVBQUU7Z0NBQ0wsR0FBRyxFQUFFLEdBQUc7NkJBQ1Q7eUJBQ0Y7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFO2dDQUNKLFNBQVMsRUFBRSxJQUFJOzZCQUNoQjt5QkFDRjt3QkFDRCxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVE7NEJBQ25CLENBQUMsQ0FBQztnQ0FDRTtvQ0FDRSxLQUFLLEVBQUU7d0NBQ0wsZ0JBQWdCLEVBQUU7NENBQ2hCLEVBQUUsRUFBRSxDQUFDO3lDQUNOO3FDQUNGO2lDQUNGOzZCQUNGOzRCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7cUJBQ1I7aUJBQ0Y7YUFDRjtZQUNELEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNsRCxDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBNkI7UUFDdEMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFBO1FBQ3hCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUE7UUFFMUIsSUFBSTtZQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7WUFFNUUsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUVuQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7U0FDbkY7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUM7Z0JBQUUsTUFBTSxLQUFLLENBQUE7WUFFMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFNUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1NBQzFFO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBNkI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQUUsT0FBTTtRQUVoQyxJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUVuQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtTQUNsRTtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDekQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0LCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vaGFzdXJhLWdyYXBocWwnXG5pbXBvcnQgeyBBeGlvc0FkYXB0ZXIgfSBmcm9tICcuLi9hZGFwdGVycydcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzSW5kZXgge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI6IEF4aW9zQWRhcHRlcjxQcm9kdWN0Pikge31cblxuICBhc3luYyBnZXQoaWQ6IHN0cmluZyk6IFByb21pc2U8UHJvZHVjdD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFkYXB0ZXIuZ2V0KGBwcm9kdWN0cy9fZG9jLyR7aWR9YClcblxuICAgIHJldHVybiBQcm9kdWN0LnRvSW5zdGFuY2UoZGF0YSlcbiAgfVxuXG4gIGFzeW5jIGZpbmRCeUlkKGlkczogc3RyaW5nW10sIG9wdGlvbnM/OiB7IGhhc1N0b2NrOiBib29sZWFuOyBzaXplOiBudW1iZXI7IHNob3A6IFNob3BzIH0pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGNvbnN0IGZpZWxkcyA9IFtcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ3ByaWNlUGFpZCcsXG4gICAgICAnaXNHaWZ0JyxcbiAgICAgICdzdG9jaycsXG4gICAgICAnd2VpZ2h0JyxcbiAgICAgICd0YWdzJyxcbiAgICAgICdoYXNWYXJpYW50cycsXG4gICAgICAndHlwZScsXG4gICAgXVxuICAgIGNvbnN0IHsgaGl0cyB9ID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KCdwcm9kdWN0cy9fc2VhcmNoJywge1xuICAgICAgX3NvdXJjZTogZmllbGRzLFxuICAgICAgcXVlcnk6IHtcbiAgICAgICAgYm9vbDoge1xuICAgICAgICAgIGZpbHRlcjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXJtczoge1xuICAgICAgICAgICAgICAgIF9pZDogaWRzLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVybToge1xuICAgICAgICAgICAgICAgIHB1Ymxpc2hlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi4ob3B0aW9ucz8uaGFzU3RvY2tcbiAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgJ3N0b2NrLnF1YW50aXR5Jzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Q6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLihvcHRpb25zPy5zaXplID8geyBzaXplOiBvcHRpb25zPy5zaXplIH0gOiB7fSksXG4gICAgfSlcblxuICAgIHJldHVybiBoaXRzLm1hcCgoaGl0KSA9PiBQcm9kdWN0LnRvSW5zdGFuY2UoaGl0Ll9zb3VyY2UpKVxuICB9XG5cbiAgYXN5bmMgc2F2ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGRlbGV0ZSBwcm9kdWN0LmNyZWF0ZWRBdFxuICAgIGRlbGV0ZSBwcm9kdWN0LnVwZGF0ZWRBdFxuICAgIGRlbGV0ZSBwcm9kdWN0LmtpdFByb2R1Y3RzXG5cbiAgICB0cnkge1xuICAgICAgaWYgKCFwcm9kdWN0LmZpcmVzdG9yZUlkKSB0aHJvdyBuZXcgRXJyb3IoJ0lzIG5vdCBhIHByb2R1Y3QgZnJvbSBmaXJlc3RvcmUnKVxuXG4gICAgICBhd2FpdCB0aGlzLmdldChwcm9kdWN0LmZpcmVzdG9yZUlkKVxuXG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIuc2F2ZShgcHJvZHVjdHMvX2RvYy8ke3Byb2R1Y3QuZmlyZXN0b3JlSWR9YCwgcHJvZHVjdC50b1BsYWluKCkpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBlcnJvclxuXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpXG5cbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5zYXZlKGBwcm9kdWN0cy9fZG9jLyR7cHJvZHVjdC5pZH1gLCBwcm9kdWN0LnRvUGxhaW4oKSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXByb2R1Y3QuZmlyZXN0b3JlSWQpIHJldHVyblxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2V0KHByb2R1Y3QuZmlyZXN0b3JlSWQpXG5cbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUoYHByb2R1Y3RzL19kb2MvJHtwcm9kdWN0LmZpcmVzdG9yZUlkfWApXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUoYHByb2R1Y3RzL19kb2MvJHtwcm9kdWN0LmlkfWApXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2gtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZWxhc3RpY3NlYXJjaC90eXBlcy9lbGFzdGljLXNlYXJjaC1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVsYXN0aWNTZWFyY2hSZXN1bHQ8VD4gPSB7XG4gIHRvdGFsOiBudW1iZXJcbiAgaGl0czoge1xuICAgIF9pbmRleDogc3RyaW5nXG4gICAgX2lkOiBzdHJpbmdcbiAgICBfc2NvcmU6IG51bWJlclxuICAgIF9zb3VyY2U6IFRcbiAgfVtdXG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1zZWFyY2gtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZWxhc3RpY3NlYXJjaC90eXBlcy9lbGFzdGljLXNlYXJjaC1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVsYXN0aWNTZWFyY2hSZXN1bHQ8VD4gPSB7XG4gIHRvdGFsOiBudW1iZXJcbiAgaGl0czoge1xuICAgIF9pbmRleDogc3RyaW5nXG4gICAgX3NvdXJjZTogVFxuICB9W11cbn1cbiJdfQ==
@@ -3,16 +3,12 @@ import { isEmpty } from '../../../../utils';
3
3
  export const withCreateFirestore = (MixinBase) => {
4
4
  return class CreateFirestore extends MixinBase {
5
5
  async create(data) {
6
- const instance = this.model.toInstance(data);
7
- const intercepted = await this.interceptors?.request?.({ instance });
8
- const builded = intercepted?.instance || instance;
9
- const docRef = await this.save(builded);
6
+ const docRef = await this.save(this.model.toInstance(data));
10
7
  const doc = await getDoc(docRef);
11
- const docBuilded = (await this.interceptors?.response?.(doc.data(), intercepted)) || doc.data();
12
- return docBuilded;
8
+ return doc.data();
13
9
  }
14
10
  async save(data) {
15
- const id = Object.values(data.identifier)?.shift()?.toString();
11
+ const id = data.identifier[data.identifiersFields?.shift()]?.toString();
16
12
  const collectionPath = this.buildCollectionPathForAdd(data);
17
13
  const collection = this.collection(collectionPath);
18
14
  if (isEmpty(id))
@@ -28,4 +24,4 @@ export const withCreateFirestore = (MixinBase) => {
28
24
  }
29
25
  };
30
26
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUduRixPQUFPLEVBQUUsT0FBTyxFQUFhLE1BQU0sbUJBQW1CLENBQUE7QUFHdEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FJakMsU0FBZ0YsRUFJaEYsRUFBRTtJQUNGLE9BQU8sTUFBTSxlQUFnQixTQUFRLFNBQVM7UUFDNUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFtQztZQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFXLENBQUMsQ0FBQTtZQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ3BFLE1BQU0sT0FBTyxHQUFHLFdBQVcsRUFBRSxRQUFRLElBQUksUUFBUSxDQUFBO1lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7WUFFL0YsT0FBTyxVQUFVLENBQUE7UUFDbkIsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBVztZQUNwQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQTtZQUM5RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUVsRCxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQUUsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRWhELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbEMsTUFBTSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRTFCLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztRQUVELHlCQUF5QixDQUFDLFdBQTJCO1lBQ25ELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZERvYywgZG9jLCBEb2N1bWVudFJlZmVyZW5jZSwgZ2V0RG9jLCBzZXREb2MgfSBmcm9tICdmaXJlYmFzZS9maXJlc3RvcmUnXG5cbmltcG9ydCB7IENyZWF0ZVJlcG9zaXRvcnksIENyZWF0ZVJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzRW1wdHksIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIENyZWF0ZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgW11cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3JlYXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgQ3JlYXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPik6IFByb21pc2U8VEJhc2U+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGRhdGEgYXMgYW55KVxuICAgICAgY29uc3QgaW50ZXJjZXB0ZWQgPSBhd2FpdCB0aGlzLmludGVyY2VwdG9ycz8ucmVxdWVzdD8uKHsgaW5zdGFuY2UgfSlcbiAgICAgIGNvbnN0IGJ1aWxkZWQgPSBpbnRlcmNlcHRlZD8uaW5zdGFuY2UgfHwgaW5zdGFuY2VcbiAgICAgIGNvbnN0IGRvY1JlZiA9IGF3YWl0IHRoaXMuc2F2ZShidWlsZGVkKVxuICAgICAgY29uc3QgZG9jID0gYXdhaXQgZ2V0RG9jKGRvY1JlZilcbiAgICAgIGNvbnN0IGRvY0J1aWxkZWQgPSAoYXdhaXQgdGhpcy5pbnRlcmNlcHRvcnM/LnJlc3BvbnNlPy4oZG9jLmRhdGEoKSwgaW50ZXJjZXB0ZWQpKSB8fCBkb2MuZGF0YSgpXG5cbiAgICAgIHJldHVybiBkb2NCdWlsZGVkXG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShkYXRhOiBUQmFzZSk6IFByb21pc2U8RG9jdW1lbnRSZWZlcmVuY2U8VEJhc2U+PiB7XG4gICAgICBjb25zdCBpZCA9IE9iamVjdC52YWx1ZXMoZGF0YS5pZGVudGlmaWVyKT8uc2hpZnQoKT8udG9TdHJpbmcoKVxuICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSB0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JBZGQoZGF0YSlcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rpb24oY29sbGVjdGlvblBhdGgpXG5cbiAgICAgIGlmIChpc0VtcHR5KGlkKSkgcmV0dXJuIGFkZERvYyhjb2xsZWN0aW9uLCBkYXRhKVxuXG4gICAgICBjb25zdCBkb2NSZWYgPSBkb2MoY29sbGVjdGlvbiwgaWQpXG4gICAgICBhd2FpdCBzZXREb2MoZG9jUmVmLCBkYXRhKVxuXG4gICAgICByZXR1cm4gZG9jUmVmXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvckFkZChpZGVudGlmaWVyczogUGFydGlhbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUduRixPQUFPLEVBQUUsT0FBTyxFQUFxQyxNQUFNLG1CQUFtQixDQUFBO0FBRzlFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBSWpDLFNBQWdGLEVBSWhGLEVBQUU7SUFDRixPQUFPLE1BQU0sZUFBZ0IsU0FBUSxTQUFTO1FBQzVDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBbUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQVcsQ0FBQyxDQUFDLENBQUE7WUFDbEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7WUFFaEMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDbkIsQ0FBQztRQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBVztZQUNwQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBO1lBQ3ZFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMzRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1lBRWxELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFaEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNsQyxNQUFNLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFMUIsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO1FBRUQseUJBQXlCLENBQUMsV0FBMkI7WUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRG9jLCBkb2MsIERvY3VtZW50UmVmZXJlbmNlLCBnZXREb2MsIHNldERvYyB9IGZyb20gJ2ZpcmViYXNlL2ZpcmVzdG9yZSdcblxuaW1wb3J0IHsgQ3JlYXRlUmVwb3NpdG9yeSwgQ3JlYXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNFbXB0eSwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCB3aXRoQ3JlYXRlRmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBDcmVhdGVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8W10sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3JlYXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgQ3JlYXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPik6IFByb21pc2U8VEJhc2U+IHtcbiAgICAgIGNvbnN0IGRvY1JlZiA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSBhcyBhbnkpKVxuICAgICAgY29uc3QgZG9jID0gYXdhaXQgZ2V0RG9jKGRvY1JlZilcblxuICAgICAgcmV0dXJuIGRvYy5kYXRhKClcbiAgICB9XG5cbiAgICBhc3luYyBzYXZlKGRhdGE6IFRCYXNlKTogUHJvbWlzZTxEb2N1bWVudFJlZmVyZW5jZTxUQmFzZT4+IHtcbiAgICAgIGNvbnN0IGlkID0gZGF0YS5pZGVudGlmaWVyW2RhdGEuaWRlbnRpZmllcnNGaWVsZHM/LnNoaWZ0KCldPy50b1N0cmluZygpXG4gICAgICBjb25zdCBjb2xsZWN0aW9uUGF0aCA9IHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckFkZChkYXRhKVxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuY29sbGVjdGlvbihjb2xsZWN0aW9uUGF0aClcblxuICAgICAgaWYgKGlzRW1wdHkoaWQpKSByZXR1cm4gYWRkRG9jKGNvbGxlY3Rpb24sIGRhdGEpXG5cbiAgICAgIGNvbnN0IGRvY1JlZiA9IGRvYyhjb2xsZWN0aW9uLCBpZClcbiAgICAgIGF3YWl0IHNldERvYyhkb2NSZWYsIGRhdGEpXG5cbiAgICAgIHJldHVybiBkb2NSZWZcbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yQWRkKGlkZW50aWZpZXJzOiBQYXJ0aWFsPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5pc1N1YkNvbGxlY3Rpb24odGhpcylcbiAgICAgICAgPyBgJHt0aGlzLnBhcmVudFJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7aWRlbnRpZmllcnNbdGhpcy5wYXJlbnRJZEZpZWxkXX0vJHt0aGlzLmNvbGxlY3Rpb25OYW1lfWBcbiAgICAgICAgOiB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
@@ -7,4 +7,4 @@ export const withCrudFirestore = (MixinBase) => {
7
7
  return class CrudFirestore extends withUpdateFirestore(withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase))))) {
8
8
  };
9
9
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVuRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGFBQ1gsU0FBUSxtQkFBbUIsQ0FDekIsZ0JBQWdCLENBQ2QsaUJBQWlCLENBQ2YsbUJBQW1CLENBQ2pCLG1CQUFtQixDQUFDLFNBQXFFLENBQUMsQ0FDM0YsQ0FDRixDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyB3aXRoQ3JlYXRlRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4nXG5pbXBvcnQgeyB3aXRoRGVsZXRlRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4nXG5pbXBvcnQgeyB3aXRoRmluZEZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IEZpcmVzdG9yZUNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi93aXRoLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhHZXRGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtZ2V0LWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhVcGRhdGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtdXBkYXRlLWZpcmVzdG9yZS5taXhpbidcblxuZXhwb3J0IGNvbnN0IHdpdGhDcnVkRmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxUQmFzZT4sXG4gIFJlcG9zaXRvcnkgPSBDcnVkUmVwb3NpdG9yeTxUQmFzZT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3IgPSBNaXhpbkN0b3IsXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBSZXBvc2l0b3J5ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxbRmlyZXN0b3JlQ29uc3RydWN0b3JQYXJhbXM8VEJhc2U+LCAuLi5hbnlbXV0sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3J1ZEZpcmVzdG9yZVxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUZpcmVzdG9yZShcbiAgICAgIHdpdGhHZXRGaXJlc3RvcmUoXG4gICAgICAgIHdpdGhGaW5kRmlyZXN0b3JlKFxuICAgICAgICAgIHdpdGhEZWxldGVGaXJlc3RvcmUoXG4gICAgICAgICAgICB3aXRoQ3JlYXRlRmlyZXN0b3JlKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICAgIGltcGxlbWVudHMgQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+IHt9IGFzIGFueVxufVxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVuRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGFBQ1gsU0FBUSxtQkFBbUIsQ0FDekIsZ0JBQWdCLENBQ2QsaUJBQWlCLENBQ2YsbUJBQW1CLENBQ2pCLG1CQUFtQixDQUFDLFNBQXFFLENBQUMsQ0FDM0YsQ0FDRixDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHdpdGhDcmVhdGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtY3JlYXRlLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhEZWxldGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtZGVsZXRlLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhGaW5kRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWZpbmQtZmlyZXN0b3JlLm1peGluJ1xuaW1wb3J0IHsgd2l0aEdldEZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC1nZXQtZmlyZXN0b3JlLm1peGluJ1xuaW1wb3J0IHsgd2l0aFVwZGF0ZUZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluJ1xuXG5leHBvcnQgY29uc3Qgd2l0aENydWRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBSZXBvc2l0b3J5ID0gQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yLFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgUmVwb3NpdG9yeSAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e31bXSwgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBDcnVkRmlyZXN0b3JlXG4gICAgZXh0ZW5kcyB3aXRoVXBkYXRlRmlyZXN0b3JlKFxuICAgICAgd2l0aEdldEZpcmVzdG9yZShcbiAgICAgICAgd2l0aEZpbmRGaXJlc3RvcmUoXG4gICAgICAgICAgd2l0aERlbGV0ZUZpcmVzdG9yZShcbiAgICAgICAgICAgIHdpdGhDcmVhdGVGaXJlc3RvcmUoTWl4aW5CYXNlIGFzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+KSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gICAgaW1wbGVtZW50cyBDcnVkUmVwb3NpdG9yeTxUQmFzZT4ge30gYXMgYW55XG59XG4iXX0=
@@ -2,11 +2,7 @@ import { deleteDoc, doc } from 'firebase/firestore';
2
2
  export const withDeleteFirestore = (MixinBase) => {
3
3
  return class DeleteFirestore extends MixinBase {
4
4
  async delete(identifiers) {
5
- const instance = this.model.toInstance(this.model.identifiersFields.reduce((acc, field) => ({ ...acc, [field]: identifiers[field] }), {}));
6
- const intercepted = await this.interceptors?.request?.({ instance });
7
- const builded = intercepted?.instance || instance;
8
- await deleteDoc(doc(this.collection(this.buildCollectionPathForRemove(identifiers)), Object.values(builded.identifier).shift().toString()));
9
- await this.interceptors?.response?.(instance, intercepted);
5
+ await deleteDoc(doc(this.collection(this.buildCollectionPathForRemove(identifiers)), Object.values(identifiers).shift().toString()));
10
6
  }
11
7
  buildCollectionPathForRemove(identifiers) {
12
8
  return this.isSubCollection(this)
@@ -15,4 +11,4 @@ export const withDeleteFirestore = (MixinBase) => {
15
11
  }
16
12
  };
17
13
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQU1uRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUlqQyxTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGVBQWdCLFNBQVEsU0FBUztRQUM1QyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQTBDO1lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FDakMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBc0MsQ0FBQyxFQUFFLENBQUMsRUFDMUYsRUFBRSxDQUNILENBQ0YsQ0FBQTtZQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDcEUsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUE7WUFFakQsTUFBTSxTQUFTLENBQ2IsR0FBRyxDQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQy9ELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUNyRCxDQUNGLENBQUE7WUFFRCxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQzVELENBQUM7UUFFRCw0QkFBNEIsQ0FBQyxXQUFvQztZQUMvRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMvQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekIsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxldGVEb2MsIGRvYyB9IGZyb20gJ2ZpcmViYXNlL2ZpcmVzdG9yZSdcblxuaW1wb3J0IHsgRGVsZXRlUmVwb3NpdG9yeSwgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcywgSWRlbnRpZmllcnNNb2RlbCwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRGVsZXRlRmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxUQmFzZT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLFxuICBbXVxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBEZWxldGVGaXJlc3RvcmUgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBEZWxldGVSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgYXN5bmMgZGVsZXRlKGlkZW50aWZpZXJzOiBEZWxldGVSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKFxuICAgICAgICAgIChhY2MsIGZpZWxkKSA9PiAoeyAuLi5hY2MsIFtmaWVsZF06IGlkZW50aWZpZXJzW2ZpZWxkIGFzIGtleW9mIElkZW50aWZpZXJzTW9kZWw8VEJhc2U+XSB9KSxcbiAgICAgICAgICB7fSxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIGNvbnN0IGludGVyY2VwdGVkID0gYXdhaXQgdGhpcy5pbnRlcmNlcHRvcnM/LnJlcXVlc3Q/Lih7IGluc3RhbmNlIH0pXG4gICAgICBjb25zdCBidWlsZGVkID0gaW50ZXJjZXB0ZWQ/Lmluc3RhbmNlIHx8IGluc3RhbmNlXG5cbiAgICAgIGF3YWl0IGRlbGV0ZURvYyhcbiAgICAgICAgZG9jKFxuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JSZW1vdmUoaWRlbnRpZmllcnMpKSxcbiAgICAgICAgICBPYmplY3QudmFsdWVzKGJ1aWxkZWQuaWRlbnRpZmllcikuc2hpZnQoKS50b1N0cmluZygpLFxuICAgICAgICApLFxuICAgICAgKVxuXG4gICAgICBhd2FpdCB0aGlzLmludGVyY2VwdG9ycz8ucmVzcG9uc2U/LihpbnN0YW5jZSwgaW50ZXJjZXB0ZWQpXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvclJlbW92ZShpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQU1uRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUlqQyxTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGVBQWdCLFNBQVEsU0FBUztRQUM1QyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQTBDO1lBQ3JELE1BQU0sU0FBUyxDQUNiLEdBQUcsQ0FDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUM5QyxDQUNGLENBQUE7UUFDSCxDQUFDO1FBRUQsNEJBQTRCLENBQUMsV0FBb0M7WUFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQ3pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVsZXRlRG9jLCBkb2MgfSBmcm9tICdmaXJlYmFzZS9maXJlc3RvcmUnXG5cbmltcG9ydCB7IERlbGV0ZVJlcG9zaXRvcnksIERlbGV0ZVJlcG9zaXRvcnlQYXJhbXMsIElkZW50aWZpZXJzTW9kZWwsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPHt9W10sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgRGVsZXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGRlbGV0ZShpZGVudGlmaWVyczogRGVsZXRlUmVwb3NpdG9yeVBhcmFtczxUQmFzZT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IGRlbGV0ZURvYyhcbiAgICAgICAgZG9jKFxuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JSZW1vdmUoaWRlbnRpZmllcnMpKSxcbiAgICAgICAgICBPYmplY3QudmFsdWVzKGlkZW50aWZpZXJzKS5zaGlmdCgpLnRvU3RyaW5nKCksXG4gICAgICAgICksXG4gICAgICApXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvclJlbW92ZShpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { doc, getDoc, getDocs, limit, orderBy, query, startAfter, startAt, where, } from 'firebase/firestore';
2
2
  import { Where, } from '../../../../domain';
3
- import { is, isDate, isNil, isNumber, isObject, isString, set } from '../../../../utils';
3
+ import { is, isDate, isNil, isNumber, isObject, isString, set, } from '../../../../utils';
4
4
  import { FirestoreFieldType } from '../enums';
5
5
  export const withFindFirestore = (MixinBase) => {
6
6
  const checkIfIsFilterOption = (filter) => !isNil(filter?.operator);
@@ -63,11 +63,8 @@ export const withFindFirestore = (MixinBase) => {
63
63
  return Object.keys(fieldsToOrderBy).map((fieldName) => orderBy(fieldName, fieldsToOrderBy[fieldName]));
64
64
  };
65
65
  }
66
- async find(find = {}) {
67
- const collection = this.collection(this.buildCollectionPathForFind(find.filters));
68
- const enableCount = find?.options?.enableCount ?? true;
69
- const intercepted = await this.interceptors?.request?.({ find });
70
- const { filters, limits, orderBy } = intercepted.find || find;
66
+ async find({ filters, limits, orderBy, } = {}) {
67
+ const collection = this.collection(this.buildCollectionPathForFind(filters));
71
68
  const queries = this.makeFirestoreWhere(filters || {});
72
69
  const ordination = this.makeFirestoreOrderBy(filters, orderBy);
73
70
  const offsets = await this.defineLimits(filters, limits);
@@ -75,8 +72,8 @@ export const withFindFirestore = (MixinBase) => {
75
72
  const docs = await getDocs(query(collection, ...queryArgumments));
76
73
  const data = docs.docs.map((doc) => doc.data());
77
74
  return {
78
- data: (await this.interceptors?.response?.(data, intercepted)) || data,
79
- count: enableCount ? this.calculateCount(data, limits) : Infinity,
75
+ data,
76
+ count: this.calculateCount(data, limits),
80
77
  };
81
78
  }
82
79
  buildCollectionPathForFind(filters) {
@@ -90,7 +87,7 @@ export const withFindFirestore = (MixinBase) => {
90
87
  const queries = [];
91
88
  if (limits?.offset) {
92
89
  if (this.model.isModel(limits.offset))
93
- queries.push(startAfter(await getDoc(doc(this.collection(this.buildCollectionPathForFind(filters)), Object.values(limits.offset.identifier).shift()?.toString()))));
90
+ queries.push(startAfter(await getDoc(doc(this.collection(this.buildCollectionPathForFind(filters)), limits.offset.identifier.shift()))));
94
91
  else if (isNumber(limits.offset) || isString(limits.offset))
95
92
  queries.push(startAt(limits.offset));
96
93
  }
@@ -107,4 +104,4 @@ export const withFindFirestore = (MixinBase) => {
107
104
  }
108
105
  };
109
106
  };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsR0FBRyxFQUNILE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBRUwsVUFBVSxFQUNWLE9BQU8sRUFDUCxLQUFLLEdBRU4sTUFBTSxvQkFBb0IsQ0FBQTtBQUUzQixPQUFPLEVBV0wsS0FBSyxHQUNOLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFhLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUc3QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUkvQixTQUFnRixFQUNpQyxFQUFFO0lBQ25ILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFXLEVBQXVELEVBQUUsQ0FDakcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUF1QyxFQUFPLEVBQUU7UUFDMUUsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQzlELENBQUMsQ0FBQTtJQUNELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN2QyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUss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XG4gIGdldERvY3MsXG4gIGxpbWl0LFxuICBvcmRlckJ5LFxuICBxdWVyeSxcbiAgUXVlcnlDb25zdHJhaW50LFxuICBzdGFydEFmdGVyLFxuICBzdGFydEF0LFxuICB3aGVyZSxcbiAgV2hlcmVGaWx0ZXJPcCxcbn0gZnJvbSAnZmlyZWJhc2UvZmlyZXN0b3JlJ1xuXG5pbXBvcnQge1xuICBGaW5kUmVwb3NpdG9yeSxcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbGQsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zLFxuICBSZXBvc2l0b3J5RmluZFJlc3VsdCxcbiAgUmVwb3NpdG9yeUxpbWl0T3B0aW9ucyxcbiAgUmVwb3NpdG9yeU9yZGVyQnksXG4gIFdoZXJlLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpcywgaXNEYXRlLCBpc05pbCwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZywgTWl4aW5DdG9yLCBzZXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEZpcmVzdG9yZUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFRCYXNlPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsIFtdPiA9PiB7XG4gIGNvbnN0IGNoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IChmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgYW55PiA9PlxuICAgICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxuICBjb25zdCBnZXRWYWx1ZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWxkPFRCYXNlLCBhbnk+KTogYW55ID0+IHtcbiAgICByZXR1cm4gY2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikgPyBmaWx0ZXIudmFsdWUgOiBmaWx0ZXJcbiAgfVxuICBjb25zdCBnZXRGaW5hbFZhbHVlRnJvbSA9ICh2YWx1ZTogYW55KSA9PlxuICAgIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgfHwgaXNEYXRlKHZhbHVlKSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZVxuICAgICAgOiBPYmplY3QudmFsdWVzKGdldEZpbmFsVmFsdWVGcm9tKVxuXG4gIHJldHVybiBjbGFzcyBGaW5kRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyBmaW5kKFxuICAgICAgZmluZDoge1xuICAgICAgICBmaWx0ZXJzPzogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT5cbiAgICAgICAgbGltaXRzPzogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT5cbiAgICAgICAgb3JkZXJCeT86IFJlcG9zaXRvcnlPcmRlckJ5PFRCYXNlPlxuICAgICAgICBvcHRpb25zPzogeyBlbmFibGVDb3VudD86IGJvb2xlYW4gfVxuICAgICAgfSA9IHt9LFxuICAgICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8VEJhc2U+PiB7XG4gICAgICBjb25zdCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiA9IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbmQuZmlsdGVycykpXG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IGZpbmQ/Lm9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcbiAgICAgIGNvbnN0IGludGVyY2VwdGVkID0gYXdhaXQgdGhpcy5pbnRlcmNlcHRvcnM/LnJlcXVlc3Q/Lih7IGZpbmQgfSlcbiAgICAgIGNvbnN0IHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5IH0gPSBpbnRlcmNlcHRlZC5maW5kIHx8IGZpbmRcbiAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLm1ha2VGaXJlc3RvcmVXaGVyZShmaWx0ZXJzIHx8IHt9KVxuICAgICAgY29uc3Qgb3JkaW5hdGlvbiA9IHRoaXMubWFrZUZpcmVzdG9yZU9yZGVyQnkoZmlsdGVycywgb3JkZXJCeSlcbiAgICAgIGNvbnN0IG9mZnNldHMgPSBhd2FpdCB0aGlzLmRlZmluZUxpbWl0cyhmaWx0ZXJzLCBsaW1pdHMpXG4gICAgICBjb25zdCBxdWVyeUFyZ3VtbWVudHM6IFF1ZXJ5Q29uc3RyYWludFtdID0gWy4uLnF1ZXJpZXMsIC4uLm9yZGluYXRpb24sIC4uLm9mZnNldHNdXG4gICAgICBjb25zdCBkb2NzID0gYXdhaXQgZ2V0RG9jcyhxdWVyeShjb2xsZWN0aW9uLCAuLi5xdWVyeUFyZ3VtbWVudHMpKVxuICAgICAgY29uc3QgZGF0YSA9IGRvY3MuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmRhdGEoKSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YTogKGF3YWl0IHRoaXMuaW50ZXJjZXB0b3JzPy5yZXNwb25zZT8uKGRhdGEsIGludGVyY2VwdGVkKSkgfHwgZGF0YSxcbiAgICAgICAgY291bnQ6IGVuYWJsZUNvdW50ID8gdGhpcy5jYWxjdWxhdGVDb3VudChkYXRhLCBsaW1pdHMpIDogSW5maW5pdHksXG4gICAgICB9XG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvckZpbmQoZmlsdGVyczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgaWYgKCF0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKSkgcmV0dXJuIHRoaXMuY29sbGVjdGlvbk5hbWVcblxuICAgICAgY29uc3QgcGFyZW50SWRGaWVsZCA9IHRoaXMucGFyZW50SWRGaWVsZCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFRCYXNlPlxuICAgICAgY29uc3QgcGFyZW50SWQgPSBnZXRWYWx1ZUZyb21GaWx0ZXIoZmlsdGVycz8uW3BhcmVudElkRmllbGRdKVxuXG4gICAgICByZXR1cm4gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke3BhcmVudElkfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgIH1cblxuICAgIG1ha2VGaXJlc3RvcmVXaGVyZSA9IChmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+KTogUXVlcnlDb25zdHJhaW50W10gPT5cbiAgICAgIE9iamVjdC5rZXlzKGZpbHRlcikucmVkdWNlKFxuICAgICAgICAocXVlcmllczogUXVlcnlDb25zdHJhaW50W10sIGZpZWxkTmFtZTogc3RyaW5nKSA9PiBbXG4gICAgICAgICAgLi4ucXVlcmllcyxcbiAgICAgICAgICAuLi50aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShmaWVsZE5hbWUsIGlzKGZpbHRlcltmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPl0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgW10sXG4gICAgICApXG5cbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXG4gICAgICBmaWVsZE5hbWU6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4gfCBzdHJpbmcsXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPj4sXG4gICAgKTogUXVlcnlDb25zdHJhaW50W10gPT4ge1xuICAgICAgaWYgKHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpICYmIGZpZWxkTmFtZSA9PT0gdGhpcy5wYXJlbnRJZEZpZWxkKSBbXVxuXG4gICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbnM/LnZhbHVlIHx8IG9wdGlvbnNcbiAgICAgIGNvbnN0IG9iamVjdCA9IHt9XG5cbiAgICAgIHNldChvYmplY3QsIGZpZWxkTmFtZSwgdmFsdWUpXG5cbiAgICAgIGNvbnN0IHBsYWluSW5zdGFuY2UgPSBuZXcgdGhpcy5tb2RlbChvYmplY3QpLnRvUGxhaW4oKVxuICAgICAgY29uc3QgZmlyZXN0b3JlRmllbGROYW1lID1cbiAgICAgICAgZmllbGROYW1lLnRvU3RyaW5nKCkuaW5kZXhPZignLicpID4gLTFcbiAgICAgICAgICA/IGZpZWxkTmFtZS50b1N0cmluZygpXG4gICAgICAgICAgOiBPYmplY3Qua2V5cyhwbGFpbkluc3RhbmNlKS5maW5kKChrZXkpID0+IHBsYWluSW5zdGFuY2Vba2V5XSlcblxuICAgICAgaWYgKG9wdGlvbnM/Lm9wZXJhdG9yID09PSBXaGVyZS5MSUtFKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBBcnJheS5pc0FycmF5KG9wdGlvbnM/LnZhbHVlKSAmJlxuICAgICAgICAgICh0aGlzLmZpZWxkc1tmaXJlc3RvcmVGaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxUQmFzZT5dID09PVxuICAgICAgICAgICAgRmlyZXN0b3JlRmllbGRUeXBlLkFycmF5IHx8XG4gICAgICAgICAgICAhdGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8VEJhc2U+XSlcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiBbd2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnYXJyYXktY29udGFpbnMtYW55Jywgb3B0aW9ucy52YWx1ZSldXG5cbiAgICAgICAgcmV0dXJuIFt3aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICc+PScsIG9wdGlvbnMudmFsdWUpLCB3aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICc8PScsIGAke29wdGlvbnMudmFsdWV9fmApXVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zPy5vcGVyYXRvciA9PT0gV2hlcmUuSU4gJiZcbiAgICAgICAgQXJyYXkuaXNBcnJheShvcHRpb25zPy52YWx1ZSkgJiZcbiAgICAgICAgKHRoaXMuZmllbGRzW2ZpcmVzdG9yZUZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFRCYXNlPl0gPT09IEZpcmVzdG9yZUZpZWxkVHlwZS5BcnJheSB8fFxuICAgICAgICAgICF0aGlzLmZpZWxkc1tmaXJlc3RvcmVGaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxUQmFzZT5dKVxuICAgICAgKVxuICAgICAgICByZXR1cm4gW3doZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJ2FycmF5LWNvbnRhaW5zJywgb3B0aW9ucy52YWx1ZSldXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykgJiYgaXNOaWwob3B0aW9ucz8ub3BlcmF0b3IpICYmIGlzTmlsKG9wdGlvbnM/LnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKFxuICAgICAgICAgIChxdWVyaWVzLCBrZXkpID0+IFtcbiAgICAgICAgICAgIC4uLnF1ZXJpZXMsXG4gICAgICAgICAgICAuLi50aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShgJHtmaWVsZE5hbWUudG9TdHJpbmcoKX0uJHtrZXl9YCwgaXM8UmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucylba2V5XSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBbXSxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gW3doZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgKG9wdGlvbnM/Lm9wZXJhdG9yIGFzIFdoZXJlRmlsdGVyT3ApIHx8ICc9PScsIG9wdGlvbnM/LnZhbHVlIHx8IG9wdGlvbnMpXVxuICAgIH1cblxuICAgIG1ha2VGaXJlc3RvcmVPcmRlckJ5ID0gKFxuICAgICAgZmlsdGVyczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT4sXG4gICAgICBmaWVsZHNUb09yZGVyQnk/OiBSZXBvc2l0b3J5T3JkZXJCeTxUQmFzZT4sXG4gICAgKTogUXVlcnlDb25zdHJhaW50W10gPT4ge1xuICAgICAgY29uc3Qgb3JkZXJCeUtleXMgPSBPYmplY3Qua2V5cyhmaWVsZHNUb09yZGVyQnkgfHwge30pXG5cbiAgICAgIGlmICghb3JkZXJCeUtleXMubGVuZ3RoKSByZXR1cm4gW11cblxuICAgICAgY29uc3QgZmlsdGVyc0tleXNXaXRoVW5vcmRlcmVkID0gT2JqZWN0LmtleXMoZmlsdGVycyB8fCB7fSkuZmlsdGVyKFxuICAgICAgICAoZmlsdGVyS2V5KSA9PiAhb3JkZXJCeUtleXMuaW5jbHVkZXMoZmlsdGVyS2V5KSxcbiAgICAgIClcblxuICAgICAgaWYgKGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZC5sZW5ndGgpXG4gICAgICAgIGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZC5mb3JFYWNoKFxuICAgICAgICAgIChmaWx0ZXJLZXkpID0+XG4gICAgICAgICAgICAoZmllbGRzVG9PcmRlckJ5ID0ge1xuICAgICAgICAgICAgICAuLi4oIVtXaGVyZS5FUVVBTFNdLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgIGlzPFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFRCYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+Pj4oXG4gICAgICAgICAgICAgICAgICBmaWx0ZXJzW2ZpbHRlcktleSBhcyBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+XSxcbiAgICAgICAgICAgICAgICApLm9wZXJhdG9yLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgPyB7IFtmaWx0ZXJLZXldOiAnYXNjJyB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICAgIC4uLmZpZWxkc1RvT3JkZXJCeSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApXG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhmaWVsZHNUb09yZGVyQnkpLm1hcCgoZmllbGROYW1lKSA9PlxuICAgICAgICBvcmRlckJ5KGZpZWxkTmFtZSwgZmllbGRzVG9PcmRlckJ5W2ZpZWxkTmFtZSBhcyBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+XSksXG4gICAgICApXG4gICAgfVxuXG4gICAgYXN5bmMgZGVmaW5lTGltaXRzKFxuICAgICAgZmlsdGVyczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT4sXG4gICAgICBsaW1pdHM6IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8VEJhc2U+LFxuICAgICk6IFByb21pc2U8UXVlcnlDb25zdHJhaW50W10+IHtcbiAgICAgIGNvbnN0IHF1ZXJpZXMgPSBbXVxuXG4gICAgICBpZiAobGltaXRzPy5vZmZzZXQpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZWwuaXNNb2RlbChsaW1pdHMub2Zmc2V0KSlcbiAgICAgICAgICBxdWVyaWVzLnB1c2goXG4gICAgICAgICAgICBzdGFydEFmdGVyKFxuICAgICAgICAgICAgICBhd2FpdCBnZXREb2MoXG4gICAgICAgICAgICAgICAgZG9jKFxuICAgICAgICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9uKHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvckZpbmQoZmlsdGVycykpLFxuICAgICAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhsaW1pdHMub2Zmc2V0LmlkZW50aWZpZXIpLnNoaWZ0KCk/LnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuICAgICAgICBlbHNlIGlmIChpc051bWJlcihsaW1pdHMub2Zmc2V0KSB8fCBpc1N0cmluZyhsaW1pdHMub2Zmc2V0KSkgcXVlcmllcy5wdXNoKHN0YXJ0QXQobGltaXRzLm9mZnNldCkpXG4gICAgICB9XG4gICAgICBpZiAobGltaXRzPy5saW1pdCkgcXVlcmllcy5wdXNoKGxpbWl0KGxpbWl0cy5saW1pdCkpXG5cbiAgICAgIHJldHVybiBxdWVyaWVzXG4gICAgfVxuXG4gICAgY2FsY3VsYXRlQ291bnQoZGF0YTogVEJhc2VbXSwgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPik6IG51bWJlciB7XG4gICAgICBpZiAoZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIDBcbiAgICAgIGlmIChkYXRhLmxlbmd0aCA8IGxpbWl0cz8ubGltaXQpIHJldHVybiBkYXRhLmxlbmd0aFxuXG4gICAgICByZXR1cm4gSW5maW5pdHlcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsR0FBRyxFQUNILE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBRUwsVUFBVSxFQUNWLE9BQU8sRUFDUCxLQUFLLEdBRU4sTUFBTSxvQkFBb0IsQ0FBQTtBQUUzQixPQUFPLEVBV0wsS0FBSyxHQUNOLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUNMLEVBQUUsRUFDRixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUdSLEdBQUcsR0FDSixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUc3QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUkvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQVcsRUFBdUQsRUFBRSxDQUNqRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDMUIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQXVDLEVBQU8sRUFBRTtRQUMxRSxPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDOUQsQ0FBQyxDQUFBO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ3ZDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxD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SUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTthQUNsRztZQUNELElBQUksTUFBTSxFQUFFLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFFcEQsT0FBTyxPQUFPLENBQUE7UUFDaEIsQ0FBQztRQUVELGNBQWMsQ0FBQyxJQUFhLEVBQUUsTUFBcUM7WUFDakUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUE7WUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtZQUVuRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbGxlY3Rpb25SZWZlcmVuY2UsXG4gIGRvYyxcbiAgZ2V0RG9jLFxuICBnZXREb2NzLFxuICBsaW1pdCxcbiAgb3JkZXJCeSxcbiAgcXVlcnksXG4gIFF1ZXJ5Q29uc3RyYWludCxcbiAgc3RhcnRBZnRlcixcbiAgc3RhcnRBdCxcbiAgd2hlcmUsXG4gIFdoZXJlRmlsdGVyT3AsXG59IGZyb20gJ2ZpcmViYXNlL2ZpcmVzdG9yZSdcblxuaW1wb3J0IHtcbiAgRmluZFJlcG9zaXRvcnksXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWxkLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHtcbiAgaXMsXG4gIGlzRGF0ZSxcbiAgaXNOaWwsXG4gIGlzTnVtYmVyLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1peGluQ3RvcixcbiAgc2V0LFxufSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEZpcmVzdG9yZUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e31bXSwgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxuPiA9PiB7XG4gIGNvbnN0IGNoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IChmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgYW55PiA9PlxuICAgICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxuICBjb25zdCBnZXRWYWx1ZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWxkPFRCYXNlLCBhbnk+KTogYW55ID0+IHtcbiAgICByZXR1cm4gY2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikgPyBmaWx0ZXIudmFsdWUgOiBmaWx0ZXJcbiAgfVxuICBjb25zdCBnZXRGaW5hbFZhbHVlRnJvbSA9ICh2YWx1ZTogYW55KSA9PlxuICAgIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgfHwgaXNEYXRlKHZhbHVlKSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZVxuICAgICAgOiBPYmplY3QudmFsdWVzKGdldEZpbmFsVmFsdWVGcm9tKVxuXG4gIHJldHVybiBjbGFzcyBGaW5kRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyBmaW5kKHtcbiAgICAgIGZpbHRlcnMsXG4gICAgICBsaW1pdHMsXG4gICAgICBvcmRlckJ5LFxuICAgIH06IHtcbiAgICAgIGZpbHRlcnM/OiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPlxuICAgICAgbGltaXRzPzogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT5cbiAgICAgIG9yZGVyQnk/OiBSZXBvc2l0b3J5T3JkZXJCeTxUQmFzZT5cbiAgICB9ID0ge30pOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PFRCYXNlPj4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbjogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gPSB0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzKSlcbiAgICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLm1ha2VGaXJlc3RvcmVXaGVyZShmaWx0ZXJzIHx8IHt9KVxuICAgICAgY29uc3Qgb3JkaW5hdGlvbiA9IHRoaXMubWFrZUZpcmVzdG9yZU9yZGVyQnkoZmlsdGVycywgb3JkZXJCeSlcbiAgICAgIGNvbnN0IG9mZnNldHMgPSBhd2FpdCB0aGlzLmRlZmluZUxpbWl0cyhmaWx0ZXJzLCBsaW1pdHMpXG4gICAgICBjb25zdCBxdWVyeUFyZ3VtbWVudHM6IFF1ZXJ5Q29uc3RyYWludFtdID0gWy4uLnF1ZXJpZXMsIC4uLm9yZGluYXRpb24sIC4uLm9mZnNldHNdXG4gICAgICBjb25zdCBkb2NzID0gYXdhaXQgZ2V0RG9jcyhxdWVyeShjb2xsZWN0aW9uLCAuLi5xdWVyeUFyZ3VtbWVudHMpKVxuICAgICAgY29uc3QgZGF0YSA9IGRvY3MuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmRhdGEoKSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY291bnQ6IHRoaXMuY2FsY3VsYXRlQ291bnQoZGF0YSwgbGltaXRzKSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICBpZiAoIXRoaXMuaXNTdWJDb2xsZWN0aW9uPFRCYXNlPih0aGlzKSkgcmV0dXJuIHRoaXMuY29sbGVjdGlvbk5hbWVcblxuICAgICAgY29uc3QgcGFyZW50SWRGaWVsZCA9IHRoaXMucGFyZW50SWRGaWVsZFxuICAgICAgY29uc3QgcGFyZW50SWQgPSBnZXRWYWx1ZUZyb21GaWx0ZXIoZmlsdGVycz8uW3BhcmVudElkRmllbGRdKVxuXG4gICAgICByZXR1cm4gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke3BhcmVudElkfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgIH1cblxuICAgIG1ha2VGaXJlc3RvcmVXaGVyZSA9IChmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+KTogUXVlcnlDb25zdHJhaW50W10gPT5cbiAgICAgIE9iamVjdC5rZXlzKGZpbHRlcikucmVkdWNlKFxuICAgICAgICAocXVlcmllczogUXVlcnlDb25zdHJhaW50W10sIGZpZWxkTmFtZTogc3RyaW5nKSA9PiBbXG4gICAgICAgICAgLi4ucXVlcmllcyxcbiAgICAgICAgICAuLi50aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShmaWVsZE5hbWUsIGlzKGZpbHRlcltmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPl0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgW10sXG4gICAgICApXG5cbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXG4gICAgICBmaWVsZE5hbWU6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4gfCBzdHJpbmcsXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPj4sXG4gICAgKTogUXVlcnlDb25zdHJhaW50W10gPT4ge1xuICAgICAgaWYgKHRoaXMuaXNTdWJDb2xsZWN0aW9uPFRCYXNlPih0aGlzKSAmJiBmaWVsZE5hbWUgPT09IHRoaXMucGFyZW50SWRGaWVsZCkgW11cblxuICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zPy52YWx1ZSB8fCBvcHRpb25zXG4gICAgICBjb25zdCBvYmplY3QgPSB7fVxuXG4gICAgICBzZXQob2JqZWN0LCBmaWVsZE5hbWUsIHZhbHVlKVxuXG4gICAgICBjb25zdCBwbGFpbkluc3RhbmNlID0gbmV3IHRoaXMubW9kZWwob2JqZWN0KS50b1BsYWluKClcbiAgICAgIGNvbnN0IGZpcmVzdG9yZUZpZWxkTmFtZSA9XG4gICAgICAgIGZpZWxkTmFtZS50b1N0cmluZygpLmluZGV4T2YoJy4nKSA+IC0xXG4gICAgICAgICAgPyBmaWVsZE5hbWUudG9TdHJpbmcoKVxuICAgICAgICAgIDogT2JqZWN0LmtleXMocGxhaW5JbnN0YW5jZSkuZmluZCgoa2V5KSA9PiBwbGFpbkluc3RhbmNlW2tleV0pXG5cbiAgICAgIGlmIChvcHRpb25zPy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgQXJyYXkuaXNBcnJheShvcHRpb25zPy52YWx1ZSkgJiZcbiAgICAgICAgICAodGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8VEJhc2U+XSA9PT1cbiAgICAgICAgICAgIEZpcmVzdG9yZUZpZWxkVHlwZS5BcnJheSB8fFxuICAgICAgICAgICAgIXRoaXMuZmllbGRzW2ZpcmVzdG9yZUZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFRCYXNlPl0pXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4gW3doZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJ2FycmF5LWNvbnRhaW5zLWFueScsIG9wdGlvbnMudmFsdWUpXVxuXG4gICAgICAgIHJldHVybiBbd2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPj0nLCBvcHRpb25zLnZhbHVlKSwgd2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPD0nLCBgJHtvcHRpb25zLnZhbHVlfX5gKV1cbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgb3B0aW9ucz8ub3BlcmF0b3IgPT09IFdoZXJlLklOICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICAgICh0aGlzLmZpZWxkc1tmaXJlc3RvcmVGaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxUQmFzZT5dID09PSBGaXJlc3RvcmVGaWVsZFR5cGUuQXJyYXkgfHxcbiAgICAgICAgICAhdGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8VEJhc2U+XSlcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIFt3aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucycsIG9wdGlvbnMudmFsdWUpXVxuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpICYmIGlzTmlsKG9wdGlvbnM/Lm9wZXJhdG9yKSAmJiBpc05pbChvcHRpb25zPy52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZShcbiAgICAgICAgICAocXVlcmllcywga2V5KSA9PiBbXG4gICAgICAgICAgICAuLi5xdWVyaWVzLFxuICAgICAgICAgICAgLi4udGhpcy5idWlsZFdoZXJlU2VudGVuY2UoYCR7ZmllbGROYW1lLnRvU3RyaW5nKCl9LiR7a2V5fWAsIGlzPFJlY29yZDxzdHJpbmcsIGFueT4+KG9wdGlvbnMpW2tleV0pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgW10sXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFt3aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsIChvcHRpb25zPy5vcGVyYXRvciBhcyBXaGVyZUZpbHRlck9wKSB8fCAnPT0nLCBvcHRpb25zPy52YWx1ZSB8fCBvcHRpb25zKV1cbiAgICB9XG5cbiAgICBtYWtlRmlyZXN0b3JlT3JkZXJCeSA9IChcbiAgICAgIGZpbHRlcnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+LFxuICAgICAgZmllbGRzVG9PcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8VEJhc2U+LFxuICAgICk6IFF1ZXJ5Q29uc3RyYWludFtdID0+IHtcbiAgICAgIGNvbnN0IG9yZGVyQnlLZXlzID0gT2JqZWN0LmtleXMoZmllbGRzVG9PcmRlckJ5IHx8IHt9KVxuXG4gICAgICBpZiAoIW9yZGVyQnlLZXlzLmxlbmd0aCkgcmV0dXJuIFtdXG5cbiAgICAgIGNvbnN0IGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZCA9IE9iamVjdC5rZXlzKGZpbHRlcnMgfHwge30pLmZpbHRlcihcbiAgICAgICAgKGZpbHRlcktleSkgPT4gIW9yZGVyQnlLZXlzLmluY2x1ZGVzKGZpbHRlcktleSksXG4gICAgICApXG5cbiAgICAgIGlmIChmaWx0ZXJzS2V5c1dpdGhVbm9yZGVyZWQubGVuZ3RoKVxuICAgICAgICBmaWx0ZXJzS2V5c1dpdGhVbm9yZGVyZWQuZm9yRWFjaChcbiAgICAgICAgICAoZmlsdGVyS2V5KSA9PlxuICAgICAgICAgICAgKGZpZWxkc1RvT3JkZXJCeSA9IHtcbiAgICAgICAgICAgICAgLi4uKCFbV2hlcmUuRVFVQUxTXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICBpczxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPj4+KFxuICAgICAgICAgICAgICAgICAgZmlsdGVyc1tmaWx0ZXJLZXkgYXMgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPl0sXG4gICAgICAgICAgICAgICAgKS5vcGVyYXRvcixcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgID8geyBbZmlsdGVyS2V5XTogJ2FzYycgfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgICAuLi5maWVsZHNUb09yZGVyQnksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoZmllbGRzVG9PcmRlckJ5KS5tYXAoKGZpZWxkTmFtZSkgPT5cbiAgICAgICAgb3JkZXJCeShmaWVsZE5hbWUsIGZpZWxkc1RvT3JkZXJCeVtmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPl0pLFxuICAgICAgKVxuICAgIH1cblxuICAgIGFzeW5jIGRlZmluZUxpbWl0cyhcbiAgICAgIGZpbHRlcnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+LFxuICAgICAgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPixcbiAgICApOiBQcm9taXNlPFF1ZXJ5Q29uc3RyYWludFtdPiB7XG4gICAgICBjb25zdCBxdWVyaWVzID0gW11cblxuICAgICAgaWYgKGxpbWl0cz8ub2Zmc2V0KSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmlzTW9kZWwobGltaXRzLm9mZnNldCkpXG4gICAgICAgICAgcXVlcmllcy5wdXNoKFxuICAgICAgICAgICAgc3RhcnRBZnRlcihcbiAgICAgICAgICAgICAgYXdhaXQgZ2V0RG9jKFxuICAgICAgICAgICAgICAgIGRvYyh0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzKSksIGxpbWl0cy5vZmZzZXQuaWRlbnRpZmllci5zaGlmdCgpKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuICAgICAgICBlbHNlIGlmIChpc051bWJlcihsaW1pdHMub2Zmc2V0KSB8fCBpc1N0cmluZyhsaW1pdHMub2Zmc2V0KSkgcXVlcmllcy5wdXNoKHN0YXJ0QXQobGltaXRzLm9mZnNldCkpXG4gICAgICB9XG4gICAgICBpZiAobGltaXRzPy5saW1pdCkgcXVlcmllcy5wdXNoKGxpbWl0KGxpbWl0cy5saW1pdCkpXG5cbiAgICAgIHJldHVybiBxdWVyaWVzXG4gICAgfVxuXG4gICAgY2FsY3VsYXRlQ291bnQoZGF0YTogVEJhc2VbXSwgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPik6IG51bWJlciB7XG4gICAgICBpZiAoZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIDBcbiAgICAgIGlmIChkYXRhLmxlbmd0aCA8IGxpbWl0cz8ubGltaXQpIHJldHVybiBkYXRhLmxlbmd0aFxuXG4gICAgICByZXR1cm4gSW5maW5pdHlcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=