@infrab4a/connect 3.16.0-beta.1 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/domain/catalog/index.d.ts +0 -1
  2. package/domain/catalog/models/category.d.ts +22 -5
  3. package/domain/catalog/models/index.d.ts +0 -5
  4. package/domain/catalog/models/kit-product.d.ts +4 -4
  5. package/domain/catalog/models/product.d.ts +35 -5
  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/types/shop-description.type.d.ts +0 -1
  9. package/domain/catalog/models/variant.d.ts +2 -1
  10. package/domain/catalog/repositories/category.repository.d.ts +3 -6
  11. package/domain/catalog/repositories/index.d.ts +0 -5
  12. package/domain/catalog/repositories/product.repository.d.ts +1 -4
  13. package/domain/generic/model/base.model.d.ts +5 -9
  14. package/domain/generic/model/types/base-model-builder.type.d.ts +2 -4
  15. package/domain/generic/model/types/identifier-model.type.d.ts +5 -6
  16. package/domain/generic/model/types/model-base-structure.type.d.ts +3 -9
  17. package/domain/generic/model/types/non-function-property-name.type.d.ts +3 -12
  18. package/domain/generic/repository/create.repository.d.ts +2 -2
  19. package/domain/generic/repository/find.repository.d.ts +1 -7
  20. package/domain/generic/repository/get.repository.d.ts +2 -2
  21. package/domain/generic/repository/types/repository-find-filters.type.d.ts +3 -3
  22. package/domain/generic/repository/types/repository-find-result.type.d.ts +1 -11
  23. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +2 -2
  24. package/domain/generic/repository/types/repository-update-params.type.d.ts +2 -2
  25. package/domain/location/models/address.d.ts +3 -5
  26. package/domain/shop-settings/enums/index.d.ts +0 -1
  27. package/domain/shop-settings/models/index.d.ts +0 -3
  28. package/domain/shop-settings/models/types/index.d.ts +1 -10
  29. package/domain/shop-settings/repositories/index.d.ts +0 -3
  30. package/domain/shopping/models/buy-2-win.d.ts +1 -3
  31. package/domain/shopping/models/checkout.d.ts +6 -5
  32. package/domain/shopping/models/coupons/coupon.d.ts +6 -34
  33. package/domain/shopping/models/index.d.ts +4 -5
  34. package/domain/shopping/models/order.d.ts +0 -1
  35. package/domain/shopping/models/shipping-method.d.ts +0 -1
  36. package/domain/shopping/models/subscription/checkout.d.ts +4 -3
  37. package/domain/shopping/repositories/index.d.ts +2 -4
  38. package/domain/users/errors/unauthorized.error.d.ts +1 -2
  39. package/domain/users/errors/user-already-registered.error.d.ts +1 -2
  40. package/domain/users/errors/weak-password.error.d.ts +0 -1
  41. package/domain/users/models/lead.d.ts +0 -1
  42. package/domain/users/models/subscription/subscription.d.ts +3 -3
  43. package/domain/users/models/user-address.d.ts +1 -1
  44. package/domain/users/models/user.d.ts +4 -3
  45. package/domain/users/use-cases/authentication.d.ts +1 -1
  46. package/errors/duplicated-results.error.d.ts +1 -2
  47. package/errors/invalid-argument.error.d.ts +1 -2
  48. package/errors/not-found.error.d.ts +1 -2
  49. package/{esm2015/domain/catalog/index.js → esm2020/domain/catalog/index.mjs} +1 -2
  50. package/esm2020/domain/catalog/models/category.mjs +10 -0
  51. package/esm2020/domain/catalog/models/index.mjs +7 -0
  52. package/esm2020/domain/catalog/models/kit-product.mjs +18 -0
  53. package/esm2020/domain/catalog/models/product.mjs +17 -0
  54. package/esm2020/domain/catalog/models/types/category-filter.type.mjs +2 -0
  55. package/esm2020/domain/catalog/models/types/index.mjs +11 -0
  56. package/{esm2015/domain/catalog/models/types/shop-description.type.js → esm2020/domain/catalog/models/types/shop-description.type.mjs} +1 -1
  57. package/esm2020/domain/catalog/models/variant.mjs +10 -0
  58. package/esm2020/domain/catalog/repositories/category.repository.mjs +2 -0
  59. package/esm2020/domain/catalog/repositories/index.mjs +5 -0
  60. package/esm2020/domain/catalog/repositories/product.repository.mjs +2 -0
  61. package/esm2020/domain/generic/model/base.model.mjs +23 -0
  62. package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +2 -0
  63. package/esm2020/domain/generic/model/types/identifier-model.type.mjs +2 -0
  64. package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +2 -0
  65. package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +2 -0
  66. package/esm2020/domain/generic/repository/create.repository.mjs +2 -0
  67. package/esm2020/domain/generic/repository/find.repository.mjs +2 -0
  68. package/esm2020/domain/generic/repository/get.repository.mjs +2 -0
  69. package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +2 -0
  70. package/esm2020/domain/generic/repository/types/repository-find-result.type.mjs +2 -0
  71. package/{esm2015/domain/generic/repository/types/repository-order-by-list.type.js → esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs} +1 -1
  72. package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +2 -0
  73. package/esm2020/domain/location/models/address.mjs +7 -0
  74. package/{esm2015/domain/shop-settings/enums/index.js → esm2020/domain/shop-settings/enums/index.mjs} +1 -2
  75. package/{esm2015/domain/shop-settings/helpers/beauty-questions.helper.js → esm2020/domain/shop-settings/helpers/beauty-questions.helper.mjs} +3 -2
  76. package/esm2020/domain/shop-settings/models/index.mjs +4 -0
  77. package/esm2020/domain/shop-settings/models/types/index.mjs +6 -0
  78. package/esm2020/domain/shop-settings/repositories/index.mjs +3 -0
  79. package/esm2020/domain/shopping/models/buy-2-win.mjs +14 -0
  80. package/esm2020/domain/shopping/models/checkout.mjs +38 -0
  81. package/esm2020/domain/shopping/models/coupons/coupon.mjs +38 -0
  82. package/esm2020/domain/shopping/models/index.mjs +12 -0
  83. package/{esm2015/domain/shopping/models/order.js → esm2020/domain/shopping/models/order.mjs} +1 -1
  84. package/{esm2015/domain/shopping/models/payment.js → esm2020/domain/shopping/models/payment.mjs} +1 -1
  85. package/{esm2015/domain/shopping/models/shipping-method.js → esm2020/domain/shopping/models/shipping-method.mjs} +1 -1
  86. package/esm2020/domain/shopping/models/subscription/checkout.mjs +28 -0
  87. package/esm2020/domain/shopping/repositories/index.mjs +8 -0
  88. package/{esm2015/domain/users/errors/unauthorized.error.js → esm2020/domain/users/errors/unauthorized.error.mjs} +1 -2
  89. package/{esm2015/domain/users/errors/user-already-registered.error.js → esm2020/domain/users/errors/user-already-registered.error.mjs} +1 -2
  90. package/{esm2015/domain/users/errors/weak-password.error.js → esm2020/domain/users/errors/weak-password.error.mjs} +1 -2
  91. package/esm2020/domain/users/models/beauty-profile.mjs +12 -0
  92. package/{esm2015/domain/users/models/lead.js → esm2020/domain/users/models/lead.mjs} +1 -1
  93. package/{esm2015/domain/users/models/subscription/payment.js → esm2020/domain/users/models/subscription/payment.mjs} +1 -1
  94. package/esm2020/domain/users/models/subscription/subscription.mjs +43 -0
  95. package/{esm2015/domain/users/models/user-address.js → esm2020/domain/users/models/user-address.mjs} +1 -1
  96. package/esm2020/domain/users/models/user.mjs +26 -0
  97. package/esm2020/domain/users/use-cases/authentication.mjs +43 -0
  98. package/esm2020/domain/users/use-cases/recovery-password.mjs +9 -0
  99. package/esm2020/domain/users/use-cases/register.mjs +38 -0
  100. package/esm2020/domain/users/use-cases/signout.mjs +9 -0
  101. package/{esm2015/errors/duplicated-results.error.js → esm2020/errors/duplicated-results.error.mjs} +1 -2
  102. package/{esm2015/errors/invalid-argument.error.js → esm2020/errors/invalid-argument.error.mjs} +1 -2
  103. package/{esm2015/errors/not-found.error.js → esm2020/errors/not-found.error.mjs} +1 -2
  104. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +50 -0
  105. package/{esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js → esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs} +1 -1
  106. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +92 -0
  107. package/{esm2015/infra/elasticsearch/types/elastic-search-result.js → esm2020/infra/elasticsearch/types/elastic-search-result.mjs} +1 -1
  108. package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +41 -0
  109. package/esm2020/infra/firebase/auth/register-firebase-auth.service.mjs +33 -0
  110. package/{esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js → esm2020/infra/firebase/auth/types/firebase-user-with-id.type.mjs} +1 -1
  111. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +27 -0
  112. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +10 -0
  113. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +14 -0
  114. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +107 -0
  115. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +57 -0
  116. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +20 -0
  117. package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +17 -0
  118. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +11 -0
  119. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +48 -0
  120. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +54 -0
  121. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +46 -0
  122. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +14 -0
  123. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +12 -0
  124. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +54 -0
  125. package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +3 -0
  126. package/{esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js → esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs} +1 -1
  127. package/{esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js → esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs} +2 -2
  128. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +12 -0
  129. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +12 -0
  130. package/{esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js → esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs} +2 -2
  131. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +9 -0
  132. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +9 -0
  133. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +38 -0
  134. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +12 -0
  135. package/{esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js → esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs} +2 -2
  136. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +12 -0
  137. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +14 -0
  138. package/{esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js → esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs} +2 -2
  139. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +14 -0
  140. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +14 -0
  141. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +14 -0
  142. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +48 -0
  143. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +14 -0
  144. package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +2 -0
  145. package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +2 -0
  146. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +2 -0
  147. package/{esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js → esm2020/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs} +3 -1
  148. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +35 -0
  149. package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +70 -0
  150. package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +22 -0
  151. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +114 -0
  152. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +37 -0
  153. package/{esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js → esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs} +1 -1
  154. package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +29 -0
  155. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +46 -0
  156. package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +35 -0
  157. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +92 -0
  158. package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +60 -0
  159. package/{esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js → esm2020/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs} +1 -1
  160. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +11 -0
  161. package/{esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js → esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs} +1 -1
  162. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +222 -0
  163. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +4 -0
  164. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +466 -0
  165. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +112 -0
  166. package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +2 -0
  167. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +2 -0
  168. package/esm2020/utils/index.mjs +10 -0
  169. package/esm2020/utils/is.mjs +4 -0
  170. package/{esm2015/utils/mixins/merge-constructor-params.type.js → esm2020/utils/mixins/merge-constructor-params.type.mjs} +1 -1
  171. package/fesm2015/{infrab4a-connect.js → infrab4a-connect.mjs} +471 -1971
  172. package/fesm2015/infrab4a-connect.mjs.map +1 -0
  173. package/fesm2020/infrab4a-connect.mjs +3313 -0
  174. package/fesm2020/infrab4a-connect.mjs.map +1 -0
  175. package/infra/elasticsearch/adapters/axios.adapter.d.ts +5 -7
  176. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +2 -3
  177. package/infra/elasticsearch/indexes/products-index.d.ts +10 -8
  178. package/infra/elasticsearch/types/elastic-search-result.d.ts +0 -2
  179. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +2 -2
  180. package/infra/firebase/auth/register-firebase-auth.service.d.ts +2 -2
  181. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -1
  182. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +2 -2
  183. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +2 -2
  184. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +2 -2
  185. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +3 -3
  186. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +1 -1
  187. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +2 -2
  188. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +3 -3
  189. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +4 -4
  190. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +3 -3
  191. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +5 -9
  192. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +5 -7
  193. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +4 -4
  194. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +4 -4
  195. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +4 -4
  196. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -3
  197. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +4 -4
  198. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +4 -4
  199. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +4 -4
  200. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +4 -4
  201. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +4 -4
  202. package/infra/firebase/firestore/repositories/shopping/index.d.ts +3 -5
  203. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +3 -3
  204. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +4 -4
  205. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +4 -4
  206. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +4 -4
  207. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +4 -4
  208. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +5 -5
  209. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +4 -4
  210. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +5 -5
  211. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +4 -4
  212. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +4 -4
  213. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +4 -4
  214. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +4 -4
  215. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
  216. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +5 -5
  217. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +3 -3
  218. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +3 -1
  219. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +3 -5
  220. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +5 -5
  221. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +2 -4
  222. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +5 -6
  223. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -2
  224. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +2 -2
  225. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +1 -1
  226. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +15 -24
  227. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +6 -7
  228. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +2 -2
  229. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +3 -3
  230. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +0 -4
  231. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +0 -1
  232. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +2 -9
  233. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -5
  234. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +1 -3
  235. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +6 -9
  236. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +3 -7
  237. package/package.json +21 -9
  238. package/utils/index.d.ts +46 -6
  239. package/utils/is.d.ts +1 -0
  240. package/utils/mixins/merge-constructor-params.type.d.ts +2 -2
  241. package/bundles/infrab4a-connect.umd.js +0 -7238
  242. package/bundles/infrab4a-connect.umd.js.map +0 -1
  243. package/domain/catalog/helpers/index.d.ts +0 -1
  244. package/domain/catalog/helpers/round-product-price.helper.d.ts +0 -4
  245. package/domain/catalog/models/category-base.d.ts +0 -30
  246. package/domain/catalog/models/category-collection-children.d.ts +0 -13
  247. package/domain/catalog/models/category-filter.d.ts +0 -13
  248. package/domain/catalog/models/category-for-product.d.ts +0 -5
  249. package/domain/catalog/models/filter-option.d.ts +0 -9
  250. package/domain/catalog/models/filter.d.ts +0 -12
  251. package/domain/catalog/models/product-base.d.ts +0 -40
  252. package/domain/catalog/models/product-for-category.d.ts +0 -7
  253. package/domain/catalog/models/product-for-kit.d.ts +0 -7
  254. package/domain/catalog/models/types/category-product.d.ts +0 -4
  255. package/domain/catalog/models/types/product-evaluation.type.d.ts +0 -6
  256. package/domain/catalog/models/wishlist.d.ts +0 -6
  257. package/domain/catalog/repositories/category-collection-children.repository.d.ts +0 -4
  258. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -6
  259. package/domain/catalog/repositories/filter-option.repository.d.ts +0 -4
  260. package/domain/catalog/repositories/filter.repository.d.ts +0 -4
  261. package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
  262. package/domain/shop-settings/enums/shop-page-name.enum.d.ts +0 -19
  263. package/domain/shop-settings/models/campaign-banner.d.ts +0 -11
  264. package/domain/shop-settings/models/campaign.d.ts +0 -10
  265. package/domain/shop-settings/models/shop-settings.d.ts +0 -10
  266. package/domain/shop-settings/models/types/campaign-page.d.ts +0 -17
  267. package/domain/shop-settings/models/types/sections.type.d.ts +0 -17
  268. package/domain/shop-settings/models/types/shop-banner.type.d.ts +0 -12
  269. package/domain/shop-settings/models/types/shop-brands.type.d.ts +0 -10
  270. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +0 -5
  271. package/domain/shop-settings/models/types/shop-collection.type.d.ts +0 -9
  272. package/domain/shop-settings/models/types/shop-gift.type.d.ts +0 -8
  273. package/domain/shop-settings/models/types/shop-post.type.d.ts +0 -7
  274. package/domain/shop-settings/models/types/shop-section.type.d.ts +0 -12
  275. package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +0 -4
  276. package/domain/shop-settings/repositories/campaign.repository.d.ts +0 -4
  277. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +0 -4
  278. package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
  279. package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
  280. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
  281. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
  282. package/esm2015/domain/catalog/helpers/index.js +0 -2
  283. package/esm2015/domain/catalog/helpers/round-product-price.helper.js +0 -15
  284. package/esm2015/domain/catalog/models/category-base.js +0 -18
  285. package/esm2015/domain/catalog/models/category-collection-children.js +0 -13
  286. package/esm2015/domain/catalog/models/category-filter.js +0 -19
  287. package/esm2015/domain/catalog/models/category-for-product.js +0 -7
  288. package/esm2015/domain/catalog/models/category.js +0 -14
  289. package/esm2015/domain/catalog/models/filter-option.js +0 -7
  290. package/esm2015/domain/catalog/models/filter.js +0 -7
  291. package/esm2015/domain/catalog/models/index.js +0 -12
  292. package/esm2015/domain/catalog/models/kit-product.js +0 -18
  293. package/esm2015/domain/catalog/models/product-base.js +0 -25
  294. package/esm2015/domain/catalog/models/product-for-category.js +0 -14
  295. package/esm2015/domain/catalog/models/product-for-kit.js +0 -14
  296. package/esm2015/domain/catalog/models/product.js +0 -19
  297. package/esm2015/domain/catalog/models/types/category-product.js +0 -2
  298. package/esm2015/domain/catalog/models/types/index.js +0 -12
  299. package/esm2015/domain/catalog/models/types/product-evaluation.type.js +0 -2
  300. package/esm2015/domain/catalog/models/variant.js +0 -7
  301. package/esm2015/domain/catalog/models/wishlist.js +0 -7
  302. package/esm2015/domain/catalog/repositories/category-collection-children.repository.js +0 -2
  303. package/esm2015/domain/catalog/repositories/category-filter.repository.js +0 -2
  304. package/esm2015/domain/catalog/repositories/category.repository.js +0 -2
  305. package/esm2015/domain/catalog/repositories/filter-option.repository.js +0 -2
  306. package/esm2015/domain/catalog/repositories/filter.repository.js +0 -2
  307. package/esm2015/domain/catalog/repositories/index.js +0 -10
  308. package/esm2015/domain/catalog/repositories/product.repository.js +0 -2
  309. package/esm2015/domain/catalog/repositories/wishlist.repository.js +0 -2
  310. package/esm2015/domain/generic/model/base.model.js +0 -24
  311. package/esm2015/domain/generic/model/types/base-model-builder.type.js +0 -2
  312. package/esm2015/domain/generic/model/types/identifier-model.type.js +0 -2
  313. package/esm2015/domain/generic/model/types/model-base-structure.type.js +0 -2
  314. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +0 -2
  315. package/esm2015/domain/generic/repository/create.repository.js +0 -2
  316. package/esm2015/domain/generic/repository/find.repository.js +0 -2
  317. package/esm2015/domain/generic/repository/get.repository.js +0 -2
  318. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +0 -2
  319. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +0 -2
  320. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +0 -2
  321. package/esm2015/domain/location/models/address.js +0 -7
  322. package/esm2015/domain/shop-settings/enums/shop-page-name.enum.js +0 -21
  323. package/esm2015/domain/shop-settings/models/campaign-banner.js +0 -7
  324. package/esm2015/domain/shop-settings/models/campaign.js +0 -7
  325. package/esm2015/domain/shop-settings/models/index.js +0 -7
  326. package/esm2015/domain/shop-settings/models/shop-settings.js +0 -7
  327. package/esm2015/domain/shop-settings/models/types/campaign-page.js +0 -2
  328. package/esm2015/domain/shop-settings/models/types/index.js +0 -15
  329. package/esm2015/domain/shop-settings/models/types/sections.type.js +0 -2
  330. package/esm2015/domain/shop-settings/models/types/shop-banner.type.js +0 -2
  331. package/esm2015/domain/shop-settings/models/types/shop-brands.type.js +0 -2
  332. package/esm2015/domain/shop-settings/models/types/shop-carousel.type.js +0 -2
  333. package/esm2015/domain/shop-settings/models/types/shop-collection.type.js +0 -2
  334. package/esm2015/domain/shop-settings/models/types/shop-gift.type.js +0 -2
  335. package/esm2015/domain/shop-settings/models/types/shop-post.type.js +0 -2
  336. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +0 -2
  337. package/esm2015/domain/shop-settings/repositories/campaign-banner.repository.js +0 -2
  338. package/esm2015/domain/shop-settings/repositories/campaign.repository.js +0 -2
  339. package/esm2015/domain/shop-settings/repositories/index.js +0 -6
  340. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +0 -2
  341. package/esm2015/domain/shopping/models/buy-2-win.js +0 -14
  342. package/esm2015/domain/shopping/models/campaign-dashboard.js +0 -7
  343. package/esm2015/domain/shopping/models/campaign-hashtag.js +0 -7
  344. package/esm2015/domain/shopping/models/checkout.js +0 -37
  345. package/esm2015/domain/shopping/models/coupons/coupon.js +0 -38
  346. package/esm2015/domain/shopping/models/index.js +0 -13
  347. package/esm2015/domain/shopping/models/subscription/checkout.js +0 -28
  348. package/esm2015/domain/shopping/repositories/campaign-dashboard.repository.js +0 -2
  349. package/esm2015/domain/shopping/repositories/campaign-hashtag.repository.js +0 -2
  350. package/esm2015/domain/shopping/repositories/index.js +0 -10
  351. package/esm2015/domain/users/models/beauty-profile.js +0 -12
  352. package/esm2015/domain/users/models/subscription/subscription.js +0 -43
  353. package/esm2015/domain/users/models/user.js +0 -26
  354. package/esm2015/domain/users/use-cases/authentication.js +0 -40
  355. package/esm2015/domain/users/use-cases/recovery-password.js +0 -12
  356. package/esm2015/domain/users/use-cases/register.js +0 -34
  357. package/esm2015/domain/users/use-cases/signout.js +0 -12
  358. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +0 -76
  359. package/esm2015/infra/elasticsearch/indexes/products-index.js +0 -115
  360. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +0 -52
  361. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +0 -26
  362. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +0 -31
  363. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +0 -10
  364. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +0 -18
  365. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +0 -98
  366. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +0 -64
  367. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +0 -24
  368. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +0 -17
  369. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +0 -11
  370. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +0 -45
  371. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +0 -82
  372. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +0 -58
  373. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +0 -14
  374. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +0 -12
  375. package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.js +0 -12
  376. package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.js +0 -12
  377. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +0 -56
  378. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +0 -6
  379. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +0 -12
  380. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +0 -12
  381. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +0 -12
  382. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +0 -12
  383. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +0 -12
  384. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +0 -11
  385. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +0 -9
  386. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +0 -40
  387. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +0 -12
  388. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +0 -12
  389. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +0 -14
  390. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +0 -14
  391. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +0 -14
  392. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +0 -14
  393. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +0 -68
  394. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +0 -14
  395. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +0 -2
  396. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +0 -2
  397. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +0 -2
  398. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +0 -31
  399. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +0 -58
  400. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +0 -22
  401. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +0 -95
  402. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +0 -61
  403. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +0 -31
  404. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +0 -139
  405. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +0 -37
  406. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +0 -97
  407. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +0 -58
  408. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +0 -11
  409. package/esm2015/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.js +0 -38
  410. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +0 -106
  411. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +0 -363
  412. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +0 -123
  413. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +0 -21
  414. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +0 -9
  415. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +0 -506
  416. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +0 -117
  417. package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +0 -252
  418. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +0 -2
  419. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +0 -2
  420. package/esm2015/utils/decorators/debug.class.decorator.js +0 -7
  421. package/esm2015/utils/decorators/index.js +0 -3
  422. package/esm2015/utils/decorators/trace.method.decorator.js +0 -81
  423. package/esm2015/utils/helpers/class-name.helper.js +0 -15
  424. package/esm2015/utils/helpers/debug-decorator.helper.js +0 -18
  425. package/esm2015/utils/helpers/debug.helper.js +0 -150
  426. package/esm2015/utils/helpers/index.js +0 -5
  427. package/esm2015/utils/helpers/reflect.helper.js +0 -165
  428. package/esm2015/utils/index.js +0 -11
  429. package/esm2015/utils/log.utils.js +0 -9
  430. package/fesm2015/infrab4a-connect.js.map +0 -1
  431. package/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.d.ts +0 -8
  432. package/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.d.ts +0 -8
  433. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +0 -8
  434. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +0 -9
  435. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +0 -9
  436. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +0 -10
  437. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -12
  438. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +0 -18
  439. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +0 -10
  440. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +0 -27
  441. package/infrab4a-connect.d.ts +0 -5
  442. package/utils/decorators/debug.class.decorator.d.ts +0 -2
  443. package/utils/decorators/index.d.ts +0 -2
  444. package/utils/decorators/trace.method.decorator.d.ts +0 -14
  445. package/utils/helpers/class-name.helper.d.ts +0 -3
  446. package/utils/helpers/debug-decorator.helper.d.ts +0 -9
  447. package/utils/helpers/debug.helper.d.ts +0 -60
  448. package/utils/helpers/index.d.ts +0 -4
  449. package/utils/helpers/reflect.helper.d.ts +0 -50
  450. package/utils/log.utils.d.ts +0 -7
  451. /package/{esm2015/domain/catalog/models/enums/index.js → esm2020/domain/catalog/models/enums/index.mjs} +0 -0
  452. /package/{esm2015/domain/catalog/models/enums/product-genders.enum.js → esm2020/domain/catalog/models/enums/product-genders.enum.mjs} +0 -0
  453. /package/{esm2015/domain/catalog/models/enums/shops.enum.js → esm2020/domain/catalog/models/enums/shops.enum.mjs} +0 -0
  454. /package/{esm2015/domain/catalog/models/types/category-condition.type.js → esm2020/domain/catalog/models/types/category-condition.type.mjs} +0 -0
  455. /package/{esm2015/domain/catalog/models/types/category-metadata.type.js → esm2020/domain/catalog/models/types/category-metadata.type.mjs} +0 -0
  456. /package/{esm2015/domain/catalog/models/types/product-gender.type.js → esm2020/domain/catalog/models/types/product-gender.type.mjs} +0 -0
  457. /package/{esm2015/domain/catalog/models/types/product-metadata.type.js → esm2020/domain/catalog/models/types/product-metadata.type.mjs} +0 -0
  458. /package/{esm2015/domain/catalog/models/types/product-review.type.js → esm2020/domain/catalog/models/types/product-review.type.mjs} +0 -0
  459. /package/{esm2015/domain/catalog/models/types/shop-price.type.js → esm2020/domain/catalog/models/types/shop-price.type.mjs} +0 -0
  460. /package/{esm2015/domain/catalog/models/types/stock.type.js → esm2020/domain/catalog/models/types/stock.type.mjs} +0 -0
  461. /package/{esm2015/domain/catalog/models/types/variant-grade.type.js → esm2020/domain/catalog/models/types/variant-grade.type.mjs} +0 -0
  462. /package/{esm2015/domain/catalog/repositories/subscription-product.repository.js → esm2020/domain/catalog/repositories/subscription-product.repository.mjs} +0 -0
  463. /package/{esm2015/domain/catalog/repositories/variant.repository.js → esm2020/domain/catalog/repositories/variant.repository.mjs} +0 -0
  464. /package/{esm2015/domain/generic/index.js → esm2020/domain/generic/index.mjs} +0 -0
  465. /package/{esm2015/domain/generic/model/identifier-fields.js → esm2020/domain/generic/model/identifier-fields.mjs} +0 -0
  466. /package/{esm2015/domain/generic/model/index.js → esm2020/domain/generic/model/index.mjs} +0 -0
  467. /package/{esm2015/domain/generic/model/types/index.js → esm2020/domain/generic/model/types/index.mjs} +0 -0
  468. /package/{esm2015/domain/generic/model/types/non-function-properties.type.js → esm2020/domain/generic/model/types/non-function-properties.type.mjs} +0 -0
  469. /package/{esm2015/domain/generic/repository/crud.repository.js → esm2020/domain/generic/repository/crud.repository.mjs} +0 -0
  470. /package/{esm2015/domain/generic/repository/delete.repository.js → esm2020/domain/generic/repository/delete.repository.mjs} +0 -0
  471. /package/{esm2015/domain/generic/repository/enums/index.js → esm2020/domain/generic/repository/enums/index.mjs} +0 -0
  472. /package/{esm2015/domain/generic/repository/enums/update-option-actions.enum.js → esm2020/domain/generic/repository/enums/update-option-actions.enum.mjs} +0 -0
  473. /package/{esm2015/domain/generic/repository/enums/where.enum.js → esm2020/domain/generic/repository/enums/where.enum.mjs} +0 -0
  474. /package/{esm2015/domain/generic/repository/index.js → esm2020/domain/generic/repository/index.mjs} +0 -0
  475. /package/{esm2015/domain/generic/repository/read.repository.js → esm2020/domain/generic/repository/read.repository.mjs} +0 -0
  476. /package/{esm2015/domain/generic/repository/types/index.js → esm2020/domain/generic/repository/types/index.mjs} +0 -0
  477. /package/{esm2015/domain/generic/repository/types/repository-limit-options.type.js → esm2020/domain/generic/repository/types/repository-limit-options.type.mjs} +0 -0
  478. /package/{esm2015/domain/generic/repository/types/where-options.type.js → esm2020/domain/generic/repository/types/where-options.type.mjs} +0 -0
  479. /package/{esm2015/domain/generic/repository/update.repository.js → esm2020/domain/generic/repository/update.repository.mjs} +0 -0
  480. /package/{esm2015/domain/index.js → esm2020/domain/index.mjs} +0 -0
  481. /package/{esm2015/domain/location/index.js → esm2020/domain/location/index.mjs} +0 -0
  482. /package/{esm2015/domain/location/models/index.js → esm2020/domain/location/models/index.mjs} +0 -0
  483. /package/{esm2015/domain/location/models/types/index.js → esm2020/domain/location/models/types/index.mjs} +0 -0
  484. /package/{esm2015/domain/location/models/types/location-bound.type.js → esm2020/domain/location/models/types/location-bound.type.mjs} +0 -0
  485. /package/{esm2015/domain/location/models/types/location-geometry.type.js → esm2020/domain/location/models/types/location-geometry.type.mjs} +0 -0
  486. /package/{esm2015/domain/location/models/types/location-lat-lng.type.js → esm2020/domain/location/models/types/location-lat-lng.type.mjs} +0 -0
  487. /package/{esm2015/domain/shop-settings/enums/filter-type.enum.js → esm2020/domain/shop-settings/enums/filter-type.enum.mjs} +0 -0
  488. /package/{esm2015/domain/shop-settings/enums/questions-filters.enum.js → esm2020/domain/shop-settings/enums/questions-filters.enum.mjs} +0 -0
  489. /package/{esm2015/domain/shop-settings/helpers/index.js → esm2020/domain/shop-settings/helpers/index.mjs} +0 -0
  490. /package/{esm2015/domain/shop-settings/index.js → esm2020/domain/shop-settings/index.mjs} +0 -0
  491. /package/{esm2015/domain/shop-settings/models/home.js → esm2020/domain/shop-settings/models/home.mjs} +0 -0
  492. /package/{esm2015/domain/shop-settings/models/shop-menu.js → esm2020/domain/shop-settings/models/shop-menu.mjs} +0 -0
  493. /package/{esm2015/domain/shop-settings/models/types/banner.type.js → esm2020/domain/shop-settings/models/types/banner.type.mjs} +0 -0
  494. /package/{esm2015/domain/shop-settings/models/types/benefit.type.js → esm2020/domain/shop-settings/models/types/benefit.type.mjs} +0 -0
  495. /package/{esm2015/domain/shop-settings/models/types/home-data.type.js → esm2020/domain/shop-settings/models/types/home-data.type.mjs} +0 -0
  496. /package/{esm2015/domain/shop-settings/models/types/menu-nav.type.js → esm2020/domain/shop-settings/models/types/menu-nav.type.mjs} +0 -0
  497. /package/{esm2015/domain/shop-settings/models/types/sub-menu.type.js → esm2020/domain/shop-settings/models/types/sub-menu.type.mjs} +0 -0
  498. /package/{esm2015/domain/shop-settings/repositories/home.repository.js → esm2020/domain/shop-settings/repositories/home.repository.mjs} +0 -0
  499. /package/{esm2015/domain/shop-settings/repositories/shop-menu.repository.js → esm2020/domain/shop-settings/repositories/shop-menu.repository.mjs} +0 -0
  500. /package/{esm2015/domain/shopping/index.js → esm2020/domain/shopping/index.mjs} +0 -0
  501. /package/{esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js → esm2020/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs} +0 -0
  502. /package/{esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js → esm2020/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs} +0 -0
  503. /package/{esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js → esm2020/domain/shopping/models/coupons/enums/coupon-types.enum.mjs} +0 -0
  504. /package/{esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js → esm2020/domain/shopping/models/coupons/enums/exclusivities.enum.mjs} +0 -0
  505. /package/{esm2015/domain/shopping/models/coupons/enums/index.js → esm2020/domain/shopping/models/coupons/enums/index.mjs} +0 -0
  506. /package/{esm2015/domain/shopping/models/coupons/index.js → esm2020/domain/shopping/models/coupons/index.mjs} +0 -0
  507. /package/{esm2015/domain/shopping/models/enums/checkout-types.enum.js → esm2020/domain/shopping/models/enums/checkout-types.enum.mjs} +0 -0
  508. /package/{esm2015/domain/shopping/models/enums/index.js → esm2020/domain/shopping/models/enums/index.mjs} +0 -0
  509. /package/{esm2015/domain/shopping/models/enums/order-status.enum.js → esm2020/domain/shopping/models/enums/order-status.enum.mjs} +0 -0
  510. /package/{esm2015/domain/shopping/models/line-item.js → esm2020/domain/shopping/models/line-item.mjs} +0 -0
  511. /package/{esm2015/domain/shopping/models/subscription/index.js → esm2020/domain/shopping/models/subscription/index.mjs} +0 -0
  512. /package/{esm2015/domain/shopping/models/subscription/plan.js → esm2020/domain/shopping/models/subscription/plan.mjs} +0 -0
  513. /package/{esm2015/domain/shopping/models/types/index.js → esm2020/domain/shopping/models/types/index.mjs} +0 -0
  514. /package/{esm2015/domain/shopping/models/types/payment-address.type.js → esm2020/domain/shopping/models/types/payment-address.type.mjs} +0 -0
  515. /package/{esm2015/domain/shopping/models/types/payment-billing.type.js → esm2020/domain/shopping/models/types/payment-billing.type.mjs} +0 -0
  516. /package/{esm2015/domain/shopping/models/types/payment-card.type.js → esm2020/domain/shopping/models/types/payment-card.type.mjs} +0 -0
  517. /package/{esm2015/domain/shopping/models/types/payment-customer.type.js → esm2020/domain/shopping/models/types/payment-customer.type.mjs} +0 -0
  518. /package/{esm2015/domain/shopping/models/types/payment-document.type.js → esm2020/domain/shopping/models/types/payment-document.type.mjs} +0 -0
  519. /package/{esm2015/domain/shopping/models/types/payment-item.type.js → esm2020/domain/shopping/models/types/payment-item.type.mjs} +0 -0
  520. /package/{esm2015/domain/shopping/models/types/payment-shipping.type.js → esm2020/domain/shopping/models/types/payment-shipping.type.mjs} +0 -0
  521. /package/{esm2015/domain/shopping/repositories/buy-2-win.repository.js → esm2020/domain/shopping/repositories/buy-2-win.repository.mjs} +0 -0
  522. /package/{esm2015/domain/shopping/repositories/checkout.repository.js → esm2020/domain/shopping/repositories/checkout.repository.mjs} +0 -0
  523. /package/{esm2015/domain/shopping/repositories/coupon.repository.js → esm2020/domain/shopping/repositories/coupon.repository.mjs} +0 -0
  524. /package/{esm2015/domain/shopping/repositories/legacy-order.repository.js → esm2020/domain/shopping/repositories/legacy-order.repository.mjs} +0 -0
  525. /package/{esm2015/domain/shopping/repositories/order.repository.js → esm2020/domain/shopping/repositories/order.repository.mjs} +0 -0
  526. /package/{esm2015/domain/shopping/repositories/payment.repository.js → esm2020/domain/shopping/repositories/payment.repository.mjs} +0 -0
  527. /package/{esm2015/domain/shopping/repositories/subscription/checkout.repository.js → esm2020/domain/shopping/repositories/subscription/checkout.repository.mjs} +0 -0
  528. /package/{esm2015/domain/shopping/repositories/subscription/index.js → esm2020/domain/shopping/repositories/subscription/index.mjs} +0 -0
  529. /package/{esm2015/domain/shopping/repositories/subscription/plan.repository.js → esm2020/domain/shopping/repositories/subscription/plan.repository.mjs} +0 -0
  530. /package/{esm2015/domain/users/errors/index.js → esm2020/domain/users/errors/index.mjs} +0 -0
  531. /package/{esm2015/domain/users/index.js → esm2020/domain/users/index.mjs} +0 -0
  532. /package/{esm2015/domain/users/models/enums/accessory-importances.enum.js → esm2020/domain/users/models/enums/accessory-importances.enum.mjs} +0 -0
  533. /package/{esm2015/domain/users/models/enums/area.enum.js → esm2020/domain/users/models/enums/area.enum.mjs} +0 -0
  534. /package/{esm2015/domain/users/models/enums/beard-problems.enum.js → esm2020/domain/users/models/enums/beard-problems.enum.mjs} +0 -0
  535. /package/{esm2015/domain/users/models/enums/beard-sizes.enum.js → esm2020/domain/users/models/enums/beard-sizes.enum.mjs} +0 -0
  536. /package/{esm2015/domain/users/models/enums/beauty-product-importances.enum.js → esm2020/domain/users/models/enums/beauty-product-importances.enum.mjs} +0 -0
  537. /package/{esm2015/domain/users/models/enums/body-problems.enum.js → esm2020/domain/users/models/enums/body-problems.enum.mjs} +0 -0
  538. /package/{esm2015/domain/users/models/enums/body-shapes.enum.js → esm2020/domain/users/models/enums/body-shapes.enum.mjs} +0 -0
  539. /package/{esm2015/domain/users/models/enums/body-tattoos.enum.js → esm2020/domain/users/models/enums/body-tattoos.enum.mjs} +0 -0
  540. /package/{esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js → esm2020/domain/users/models/enums/face-skin-oilinesses.enum.mjs} +0 -0
  541. /package/{esm2015/domain/users/models/enums/face-skin-problems.enum.js → esm2020/domain/users/models/enums/face-skin-problems.enum.mjs} +0 -0
  542. /package/{esm2015/domain/users/models/enums/face-skin-tones.enum.js → esm2020/domain/users/models/enums/face-skin-tones.enum.mjs} +0 -0
  543. /package/{esm2015/domain/users/models/enums/family-incomes.enum.js → esm2020/domain/users/models/enums/family-incomes.enum.mjs} +0 -0
  544. /package/{esm2015/domain/users/models/enums/fragrance-importances.enum.js → esm2020/domain/users/models/enums/fragrance-importances.enum.mjs} +0 -0
  545. /package/{esm2015/domain/users/models/enums/hair-colors.enum.js → esm2020/domain/users/models/enums/hair-colors.enum.mjs} +0 -0
  546. /package/{esm2015/domain/users/models/enums/hair-problems.enum.js → esm2020/domain/users/models/enums/hair-problems.enum.mjs} +0 -0
  547. /package/{esm2015/domain/users/models/enums/hair-strands.enum.js → esm2020/domain/users/models/enums/hair-strands.enum.mjs} +0 -0
  548. /package/{esm2015/domain/users/models/enums/hair-types.enum.js → esm2020/domain/users/models/enums/hair-types.enum.mjs} +0 -0
  549. /package/{esm2015/domain/users/models/enums/index.js → esm2020/domain/users/models/enums/index.mjs} +0 -0
  550. /package/{esm2015/domain/users/models/enums/office-position.enum.js → esm2020/domain/users/models/enums/office-position.enum.mjs} +0 -0
  551. /package/{esm2015/domain/users/models/enums/product-spents.enum.js → esm2020/domain/users/models/enums/product-spents.enum.mjs} +0 -0
  552. /package/{esm2015/domain/users/models/enums/user-type.enum.js → esm2020/domain/users/models/enums/user-type.enum.mjs} +0 -0
  553. /package/{esm2015/domain/users/models/index.js → esm2020/domain/users/models/index.mjs} +0 -0
  554. /package/{esm2015/domain/users/models/subscription/edition.js → esm2020/domain/users/models/subscription/edition.mjs} +0 -0
  555. /package/{esm2015/domain/users/models/subscription/enums/billing-status.enum.js → esm2020/domain/users/models/subscription/enums/billing-status.enum.mjs} +0 -0
  556. /package/{esm2015/domain/users/models/subscription/enums/edition-status.enum.js → esm2020/domain/users/models/subscription/enums/edition-status.enum.mjs} +0 -0
  557. /package/{esm2015/domain/users/models/subscription/enums/index.js → esm2020/domain/users/models/subscription/enums/index.mjs} +0 -0
  558. /package/{esm2015/domain/users/models/subscription/enums/payment-type.enum.js → esm2020/domain/users/models/subscription/enums/payment-type.enum.mjs} +0 -0
  559. /package/{esm2015/domain/users/models/subscription/enums/status.enum.js → esm2020/domain/users/models/subscription/enums/status.enum.mjs} +0 -0
  560. /package/{esm2015/domain/users/models/subscription/index.js → esm2020/domain/users/models/subscription/index.mjs} +0 -0
  561. /package/{esm2015/domain/users/models/user-payment-method.js → esm2020/domain/users/models/user-payment-method.mjs} +0 -0
  562. /package/{esm2015/domain/users/repositories/beauty-profile.repository.js → esm2020/domain/users/repositories/beauty-profile.repository.mjs} +0 -0
  563. /package/{esm2015/domain/users/repositories/edition.repository.js → esm2020/domain/users/repositories/edition.repository.mjs} +0 -0
  564. /package/{esm2015/domain/users/repositories/index.js → esm2020/domain/users/repositories/index.mjs} +0 -0
  565. /package/{esm2015/domain/users/repositories/lead.repository.js → esm2020/domain/users/repositories/lead.repository.mjs} +0 -0
  566. /package/{esm2015/domain/users/repositories/subscription-payment.repository.js → esm2020/domain/users/repositories/subscription-payment.repository.mjs} +0 -0
  567. /package/{esm2015/domain/users/repositories/subscription.repository.js → esm2020/domain/users/repositories/subscription.repository.mjs} +0 -0
  568. /package/{esm2015/domain/users/repositories/user-address.repository.js → esm2020/domain/users/repositories/user-address.repository.mjs} +0 -0
  569. /package/{esm2015/domain/users/repositories/user-payment-method.repository.js → esm2020/domain/users/repositories/user-payment-method.repository.mjs} +0 -0
  570. /package/{esm2015/domain/users/repositories/user.repository.js → esm2020/domain/users/repositories/user.repository.mjs} +0 -0
  571. /package/{esm2015/domain/users/services/authentication.service.js → esm2020/domain/users/services/authentication.service.mjs} +0 -0
  572. /package/{esm2015/domain/users/services/index.js → esm2020/domain/users/services/index.mjs} +0 -0
  573. /package/{esm2015/domain/users/services/register.service.js → esm2020/domain/users/services/register.service.mjs} +0 -0
  574. /package/{esm2015/domain/users/services/types/basic-user-data.type.js → esm2020/domain/users/services/types/basic-user-data.type.mjs} +0 -0
  575. /package/{esm2015/domain/users/services/types/index.js → esm2020/domain/users/services/types/index.mjs} +0 -0
  576. /package/{esm2015/domain/users/use-cases/index.js → esm2020/domain/users/use-cases/index.mjs} +0 -0
  577. /package/{esm2015/errors/index.js → esm2020/errors/index.mjs} +0 -0
  578. /package/{esm2015/errors/required-argument.error.js → esm2020/errors/required-argument.error.mjs} +0 -0
  579. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  580. /package/{esm2015/infra/elasticsearch/adapters/index.js → esm2020/infra/elasticsearch/adapters/index.mjs} +0 -0
  581. /package/{esm2015/infra/elasticsearch/index.js → esm2020/infra/elasticsearch/index.mjs} +0 -0
  582. /package/{esm2015/infra/elasticsearch/indexes/index.js → esm2020/infra/elasticsearch/indexes/index.mjs} +0 -0
  583. /package/{esm2015/infra/elasticsearch/types/index.js → esm2020/infra/elasticsearch/types/index.mjs} +0 -0
  584. /package/{esm2015/infra/firebase/auth/index.js → esm2020/infra/firebase/auth/index.mjs} +0 -0
  585. /package/{esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js → esm2020/infra/firebase/firestore/enums/firestore-field-type.enum.mjs} +0 -0
  586. /package/{esm2015/infra/firebase/firestore/enums/index.js → esm2020/infra/firebase/firestore/enums/index.mjs} +0 -0
  587. /package/{esm2015/infra/firebase/firestore/index.js → esm2020/infra/firebase/firestore/index.mjs} +0 -0
  588. /package/{esm2015/infra/firebase/firestore/mixins/index.js → esm2020/infra/firebase/firestore/mixins/index.mjs} +0 -0
  589. /package/{esm2015/infra/firebase/firestore/repositories/catalog/index.js → esm2020/infra/firebase/firestore/repositories/catalog/index.mjs} +0 -0
  590. /package/{esm2015/infra/firebase/firestore/repositories/index.js → esm2020/infra/firebase/firestore/repositories/index.mjs} +0 -0
  591. /package/{esm2015/infra/firebase/firestore/repositories/users/index.js → esm2020/infra/firebase/firestore/repositories/users/index.mjs} +0 -0
  592. /package/{esm2015/infra/firebase/firestore/types/index.js → esm2020/infra/firebase/firestore/types/index.mjs} +0 -0
  593. /package/{esm2015/infra/firebase/index.js → esm2020/infra/firebase/index.mjs} +0 -0
  594. /package/{esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js → esm2020/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs} +0 -0
  595. /package/{esm2015/infra/hasura-graphql/enums/index.js → esm2020/infra/hasura-graphql/enums/index.mjs} +0 -0
  596. /package/{esm2015/infra/hasura-graphql/index.js → esm2020/infra/hasura-graphql/index.mjs} +0 -0
  597. /package/{esm2015/infra/hasura-graphql/mixins/helpers/index.js → esm2020/infra/hasura-graphql/mixins/helpers/index.mjs} +0 -0
  598. /package/{esm2015/infra/hasura-graphql/mixins/index.js → esm2020/infra/hasura-graphql/mixins/index.mjs} +0 -0
  599. /package/{esm2015/infra/hasura-graphql/models/category-hasura-graphql.js → esm2020/infra/hasura-graphql/models/category-hasura-graphql.mjs} +0 -0
  600. /package/{esm2015/infra/hasura-graphql/models/index.js → esm2020/infra/hasura-graphql/models/index.mjs} +0 -0
  601. /package/{esm2015/infra/hasura-graphql/repositories/index.js → esm2020/infra/hasura-graphql/repositories/index.mjs} +0 -0
  602. /package/{esm2015/infra/hasura-graphql/types/fields.type.js → esm2020/infra/hasura-graphql/types/fields.type.mjs} +0 -0
  603. /package/{esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js → esm2020/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs} +0 -0
  604. /package/{esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js → esm2020/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs} +0 -0
  605. /package/{esm2015/infra/hasura-graphql/types/index.js → esm2020/infra/hasura-graphql/types/index.mjs} +0 -0
  606. /package/{esm2015/infra/hasura-graphql/types/nested-field.type.js → esm2020/infra/hasura-graphql/types/nested-field.type.mjs} +0 -0
  607. /package/{esm2015/infra/hasura-graphql/types/query-builder-options.type.js → esm2020/infra/hasura-graphql/types/query-builder-options.type.mjs} +0 -0
  608. /package/{esm2015/infra/hasura-graphql/types/variable-options.type.js → esm2020/infra/hasura-graphql/types/variable-options.type.mjs} +0 -0
  609. /package/{esm2015/infra/index.js → esm2020/infra/index.mjs} +0 -0
  610. /package/{esm2015/infrab4a-connect.js → esm2020/infrab4a-connect.mjs} +0 -0
  611. /package/{esm2015/utils/is-uuid.js → esm2020/utils/is-uuid.mjs} +0 -0
  612. /package/{esm2015/utils/mixins/base.mixin.js → esm2020/utils/mixins/base.mixin.mjs} +0 -0
  613. /package/{esm2015/utils/mixins/index.js → esm2020/utils/mixins/index.mjs} +0 -0
  614. /package/{esm2015/utils/mixins/mixin-ctor.type.js → esm2020/utils/mixins/mixin-ctor.type.mjs} +0 -0
  615. /package/{esm2015/utils/parse-datetime.js → esm2020/utils/parse-datetime.mjs} +0 -0
  616. /package/{esm2015/utils/types/array-element.type.js → esm2020/utils/types/array-element.type.mjs} +0 -0
  617. /package/{esm2015/utils/types/index.js → esm2020/utils/types/index.mjs} +0 -0
  618. /package/{esm2015/utils/types/prop.type.js → esm2020/utils/types/prop.type.mjs} +0 -0
@@ -1,26 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { UserAlreadyRegisteredError, WeakPasswordError } from '../../../domain';
3
- export class RegisterFirebaseAuthService {
4
- constructor(firebaseAuth) {
5
- this.firebaseAuth = firebaseAuth;
6
- }
7
- register(params) {
8
- return __awaiter(this, void 0, void 0, function* () {
9
- try {
10
- const auth = yield this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password);
11
- const user = auth.user;
12
- user.sendEmailVerification();
13
- user.id = auth.user.uid;
14
- return user;
15
- }
16
- catch (error) {
17
- if (error.code === 'auth/email-already-in-use')
18
- throw new UserAlreadyRegisteredError('Email already registered');
19
- if (error.code === 'auth/weak-password')
20
- throw new WeakPasswordError();
21
- throw error;
22
- }
23
- });
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZmlyZWJhc2UtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvYXV0aC9yZWdpc3Rlci1maXJlYmFzZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBbUMsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUloSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQTZCLFlBQWdDO1FBQWhDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtJQUFHLENBQUM7SUFFM0QsUUFBUSxDQUFDLE1BQXNCOztZQUNuQyxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDbEcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQTBCLENBQUE7Z0JBRTVDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO2dCQUM1QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO2dCQUV2QixPQUFPLElBQUksQ0FBQTthQUNaO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLDJCQUEyQjtvQkFBRSxNQUFNLElBQUksMEJBQTBCLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtnQkFDaEgsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLG9CQUFvQjtvQkFBRSxNQUFNLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtnQkFFdEUsTUFBTSxLQUFLLENBQUE7YUFDWjtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlJ1xuXG5pbXBvcnQgeyBSZWdpc3RlclBhcmFtcywgUmVnaXN0ZXJTZXJ2aWNlLCBVc2VyQWxyZWFkeVJlZ2lzdGVyZWRFcnJvciwgV2Vha1Bhc3N3b3JkRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IEZpcmViYXNlVXNlcldpdGhJZCB9IGZyb20gJy4vdHlwZXMvZmlyZWJhc2UtdXNlci13aXRoLWlkLnR5cGUnXG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBSZWdpc3RlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpcmViYXNlQXV0aDogZmlyZWJhc2UuYXV0aC5BdXRoKSB7fVxuXG4gIGFzeW5jIHJlZ2lzdGVyKHBhcmFtczogUmVnaXN0ZXJQYXJhbXMpOiBQcm9taXNlPEZpcmViYXNlVXNlcldpdGhJZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhdXRoID0gYXdhaXQgdGhpcy5maXJlYmFzZUF1dGguY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKHBhcmFtcy5lbWFpbCwgcGFyYW1zLnBhc3N3b3JkKVxuICAgICAgY29uc3QgdXNlciA9IGF1dGgudXNlciBhcyBGaXJlYmFzZVVzZXJXaXRoSWRcblxuICAgICAgdXNlci5zZW5kRW1haWxWZXJpZmljYXRpb24oKVxuICAgICAgdXNlci5pZCA9IGF1dGgudXNlci51aWRcblxuICAgICAgcmV0dXJuIHVzZXJcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdhdXRoL2VtYWlsLWFscmVhZHktaW4tdXNlJykgdGhyb3cgbmV3IFVzZXJBbHJlYWR5UmVnaXN0ZXJlZEVycm9yKCdFbWFpbCBhbHJlYWR5IHJlZ2lzdGVyZWQnKVxuICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdhdXRoL3dlYWstcGFzc3dvcmQnKSB0aHJvdyBuZXcgV2Vha1Bhc3N3b3JkRXJyb3IoKVxuXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,31 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { isEmpty } from '../../../../utils';
3
- export const withCreateFirestore = (MixinBase) => {
4
- return class CreateFirestore extends MixinBase {
5
- create(data) {
6
- return __awaiter(this, void 0, void 0, function* () {
7
- const docRef = yield this.save(this.model.toInstance(data));
8
- const doc = yield docRef.get();
9
- return doc.data();
10
- });
11
- }
12
- save(data) {
13
- var _a, _b;
14
- return __awaiter(this, void 0, void 0, function* () {
15
- const id = (_b = (_a = Object.values(data.identifier)) === null || _a === void 0 ? void 0 : _a.shift()) === null || _b === void 0 ? void 0 : _b.toString();
16
- const collectionPath = this.buildCollectionPathForAdd(data);
17
- if (isEmpty(id))
18
- return this.collection(collectionPath).add(data);
19
- const docRef = this.collection(collectionPath).doc(id);
20
- yield docRef.set(data);
21
- return docRef;
22
- });
23
- }
24
- buildCollectionPathForAdd(identifiers) {
25
- return this.isSubCollection(this)
26
- ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
27
- : this.collectionName;
28
- }
29
- };
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUlqQyxTQUFnRixFQUloRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGVBQWdCLFNBQVEsU0FBUztRQUN0QyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBVyxDQUFDLENBQUMsQ0FBQTtnQkFDbEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBRTlCLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ25CLENBQUM7U0FBQTtRQUVLLElBQUksQ0FBQyxJQUFXOzs7Z0JBQ3BCLE1BQU0sRUFBRSxHQUFHLE1BQUEsTUFBQSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMENBQUUsS0FBSyxFQUFFLDBDQUFFLFFBQVEsRUFBRSxDQUFBO2dCQUM5RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRTNELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFBRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUVqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDdEQsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUV0QixPQUFPLE1BQU0sQ0FBQTs7U0FDZDtRQUVELHlCQUF5QixDQUFDLFdBQTJCO1lBQ25ELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlIH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcbmltcG9ydCB7IENyZWF0ZVJlcG9zaXRvcnksIENyZWF0ZVJlcG9zaXRvcnlQYXJhbXMsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzRW1wdHksIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIENyZWF0ZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgW11cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3JlYXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgQ3JlYXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPik6IFByb21pc2U8VEJhc2U+IHtcbiAgICAgIGNvbnN0IGRvY1JlZiA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSBhcyBhbnkpKVxuICAgICAgY29uc3QgZG9jID0gYXdhaXQgZG9jUmVmLmdldCgpXG5cbiAgICAgIHJldHVybiBkb2MuZGF0YSgpXG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShkYXRhOiBUQmFzZSk6IFByb21pc2U8RG9jdW1lbnRSZWZlcmVuY2U8VEJhc2U+PiB7XG4gICAgICBjb25zdCBpZCA9IE9iamVjdC52YWx1ZXMoZGF0YS5pZGVudGlmaWVyKT8uc2hpZnQoKT8udG9TdHJpbmcoKVxuICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSB0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JBZGQoZGF0YSlcblxuICAgICAgaWYgKGlzRW1wdHkoaWQpKSByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKGNvbGxlY3Rpb25QYXRoKS5hZGQoZGF0YSlcblxuICAgICAgY29uc3QgZG9jUmVmID0gdGhpcy5jb2xsZWN0aW9uKGNvbGxlY3Rpb25QYXRoKS5kb2MoaWQpXG4gICAgICBhd2FpdCBkb2NSZWYuc2V0KGRhdGEpXG5cbiAgICAgIHJldHVybiBkb2NSZWZcbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yQWRkKGlkZW50aWZpZXJzOiBQYXJ0aWFsPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5pc1N1YkNvbGxlY3Rpb24odGhpcylcbiAgICAgICAgPyBgJHt0aGlzLnBhcmVudFJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7aWRlbnRpZmllcnNbdGhpcy5wYXJlbnRJZEZpZWxkXX0vJHt0aGlzLmNvbGxlY3Rpb25OYW1lfWBcbiAgICAgICAgOiB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
@@ -1,10 +0,0 @@
1
- import { withCreateFirestore } from './with-create-firestore.mixin';
2
- import { withDeleteFirestore } from './with-delete-firestore.mixin';
3
- import { withFindFirestore } from './with-find-firestore.mixin';
4
- import { withGetFirestore } from './with-get-firestore.mixin';
5
- import { withUpdateFirestore } from './with-update-firestore.mixin';
6
- export const withCrudFirestore = (MixinBase) => {
7
- return class CrudFirestore extends withUpdateFirestore(withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase))))) {
8
- };
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1jcnVkLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVuRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUFnRixFQUNMLEVBQUU7SUFDN0UsT0FBTyxNQUFNLGFBQ1gsU0FBUSxtQkFBbUIsQ0FDekIsZ0JBQWdCLENBQ2QsaUJBQWlCLENBQ2YsbUJBQW1CLENBQ2pCLG1CQUFtQixDQUFDLFNBQXFFLENBQUMsQ0FDM0YsQ0FDRixDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkUmVwb3NpdG9yeSwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyB3aXRoQ3JlYXRlRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWNyZWF0ZS1maXJlc3RvcmUubWl4aW4nXG5pbXBvcnQgeyB3aXRoRGVsZXRlRmlyZXN0b3JlIH0gZnJvbSAnLi93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4nXG5pbXBvcnQgeyB3aXRoRmluZEZpcmVzdG9yZSB9IGZyb20gJy4vd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhHZXRGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtZ2V0LWZpcmVzdG9yZS5taXhpbidcbmltcG9ydCB7IHdpdGhVcGRhdGVGaXJlc3RvcmUgfSBmcm9tICcuL3dpdGgtdXBkYXRlLWZpcmVzdG9yZS5taXhpbidcblxuZXhwb3J0IGNvbnN0IHdpdGhDcnVkRmlyZXN0b3JlID0gPFxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxUQmFzZT4sXG4gIFJlcG9zaXRvcnkgPSBDcnVkUmVwb3NpdG9yeTxUQmFzZT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3IgPSBNaXhpbkN0b3IsXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIFJlcG9zaXRvcnkgJiBGaXJlc3RvcmVIZWxwZXJzLCBbXT4gPT4ge1xuICByZXR1cm4gY2xhc3MgQ3J1ZEZpcmVzdG9yZVxuICAgIGV4dGVuZHMgd2l0aFVwZGF0ZUZpcmVzdG9yZShcbiAgICAgIHdpdGhHZXRGaXJlc3RvcmUoXG4gICAgICAgIHdpdGhGaW5kRmlyZXN0b3JlKFxuICAgICAgICAgIHdpdGhEZWxldGVGaXJlc3RvcmUoXG4gICAgICAgICAgICB3aXRoQ3JlYXRlRmlyZXN0b3JlKE1peGluQmFzZSBhcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICAgIGltcGxlbWVudHMgQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+IHt9IGFzIGFueVxufVxuIl19
@@ -1,18 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- export const withDeleteFirestore = (MixinBase) => {
3
- return class DeleteFirestore extends MixinBase {
4
- delete(identifiers) {
5
- return __awaiter(this, void 0, void 0, function* () {
6
- yield this.collection(this.buildCollectionPathForRemove(identifiers))
7
- .doc(Object.values(identifiers).shift().toString())
8
- .delete();
9
- });
10
- }
11
- buildCollectionPathForRemove(identifiers) {
12
- return this.isSubCollection(this)
13
- ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
14
- : this.collectionName;
15
- }
16
- };
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWRlbGV0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBSWpDLFNBQWdGLEVBSWhGLEVBQUU7SUFDRixPQUFPLE1BQU0sZUFBZ0IsU0FBUSxTQUFTO1FBQ3RDLE1BQU0sQ0FBQyxXQUEwQzs7Z0JBQ3JELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ2xFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNsRCxNQUFNLEVBQUUsQ0FBQTtZQUNiLENBQUM7U0FBQTtRQUVELDRCQUE0QixDQUFDLFdBQW9DO1lBQy9ELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZVJlcG9zaXRvcnksIERlbGV0ZVJlcG9zaXRvcnlQYXJhbXMsIElkZW50aWZpZXJzTW9kZWwsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aERlbGV0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIERlbGV0ZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgW11cbj4gPT4ge1xuICByZXR1cm4gY2xhc3MgRGVsZXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRGVsZXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGRlbGV0ZShpZGVudGlmaWVyczogRGVsZXRlUmVwb3NpdG9yeVBhcmFtczxUQmFzZT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JSZW1vdmUoaWRlbnRpZmllcnMpKVxuICAgICAgICAuZG9jKE9iamVjdC52YWx1ZXMoaWRlbnRpZmllcnMpLnNoaWZ0KCkudG9TdHJpbmcoKSlcbiAgICAgICAgLmRlbGV0ZSgpXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvclJlbW92ZShpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,98 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Where, } from '../../../../domain';
3
- import { isDate, isNil, isNumber, isObject, isString, set } from '../../../../utils';
4
- import { FirestoreFieldType } from '../enums';
5
- export const withFindFirestore = (MixinBase) => {
6
- const checkIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
7
- const getValueFromFilter = (filter) => {
8
- return checkIfIsFilterOption(filter) ? filter.value : filter;
9
- };
10
- const getFinalValueFrom = (value) => isNumber(value) || isString(value) || isDate(value) || Array.isArray(value)
11
- ? value
12
- : Object.values(getFinalValueFrom);
13
- return class FindFirestore extends MixinBase {
14
- constructor() {
15
- super(...arguments);
16
- this.makeFirestoreWhere = (queryReference, filter) => Object.keys(filter).reduce((query, fieldName) => this.buildWhereSentence(query, fieldName, filter[fieldName]), queryReference);
17
- this.buildWhereSentence = (queryReference, fieldName, options) => {
18
- if (this.isSubCollection(this) && fieldName === this.parentIdField)
19
- return queryReference;
20
- const value = (options === null || options === void 0 ? void 0 : options.value) || options;
21
- const object = {};
22
- set(object, fieldName, value);
23
- const plainInstance = new this.model(object).toPlain();
24
- const firestoreFieldName = fieldName.toString().indexOf('.') > -1
25
- ? fieldName.toString()
26
- : Object.keys(plainInstance).find((key) => plainInstance[key]);
27
- if ((options === null || options === void 0 ? void 0 : options.operator) === Where.LIKE) {
28
- if (Array.isArray(options === null || options === void 0 ? void 0 : options.value) &&
29
- (this.fields[firestoreFieldName] === FirestoreFieldType.Array || !this.fields[firestoreFieldName]))
30
- return queryReference.where(firestoreFieldName, 'array-contains-any', options.value);
31
- queryReference = queryReference.where(firestoreFieldName, '>=', options.value);
32
- queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`);
33
- return queryReference;
34
- }
35
- if ((options === null || options === void 0 ? void 0 : options.operator) === Where.IN &&
36
- Array.isArray(options === null || options === void 0 ? void 0 : options.value) &&
37
- (this.fields[firestoreFieldName] === FirestoreFieldType.Array || !this.fields[firestoreFieldName]))
38
- return queryReference.where(firestoreFieldName, 'array-contains', options.value);
39
- if (isObject(options) && isNil(options === null || options === void 0 ? void 0 : options.operator) && isNil(options === null || options === void 0 ? void 0 : options.value)) {
40
- return Object.keys(options).reduce((queryReferenceWithWhere, key) => this.buildWhereSentence(queryReferenceWithWhere, `${fieldName.toString()}.${key}`, options[key]), queryReference);
41
- }
42
- return queryReference.where(firestoreFieldName, (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
43
- };
44
- }
45
- find({ filters, limits, orderBy, options } = {}) {
46
- var _a;
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const orderByKeys = Object.keys(orderBy || {});
49
- const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
50
- let query = this.collection(this.buildCollectionPathForFind(filters || {}));
51
- query = this.makeFirestoreWhere(query, filters || {});
52
- if (orderByKeys.length) {
53
- const filtersKeysWithUnordered = Object.keys(filters || {}).filter((filterKey) => !orderByKeys.includes(filterKey));
54
- if (filtersKeysWithUnordered.length)
55
- filtersKeysWithUnordered.forEach((filterKey) => (orderBy = Object.assign(Object.assign({}, (![Where.EQUALS].includes(filters[filterKey].operator) ? { [filterKey]: 'asc' } : {})), orderBy)));
56
- Object.keys(orderBy).forEach((fieldName) => (query = query.orderBy(fieldName, orderBy[fieldName])));
57
- }
58
- query = yield this.defineLimits(query, filters, limits);
59
- const docs = yield query.get();
60
- const data = docs.docs.map((doc) => doc.data());
61
- return {
62
- data,
63
- count: enableCount ? this.calculateCount(data, limits) : Infinity,
64
- };
65
- });
66
- }
67
- buildCollectionPathForFind(filters) {
68
- if (!this.isSubCollection(this))
69
- return this.collectionName;
70
- const parentIdField = this.parentIdField;
71
- const parentId = getValueFromFilter(filters === null || filters === void 0 ? void 0 : filters[parentIdField]);
72
- return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`;
73
- }
74
- defineLimits(query, filters, limits) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- if (limits === null || limits === void 0 ? void 0 : limits.offset) {
77
- if (this.model.isModel(limits.offset))
78
- query = query.startAfter(yield this.collection(this.buildCollectionPathForFind(filters))
79
- .doc(limits.offset[limits.offset.identifiersFields.shift()])
80
- .get());
81
- else if (isNumber(limits.offset) || isString(limits.offset))
82
- query = query.startAt(limits.offset);
83
- }
84
- if (limits === null || limits === void 0 ? void 0 : limits.limit)
85
- query = query.limit(limits.limit);
86
- return query;
87
- });
88
- }
89
- calculateCount(data, limits) {
90
- if (data.length <= 0)
91
- return 0;
92
- if (data.length < (limits === null || limits === void 0 ? void 0 : limits.limit))
93
- return data.length;
94
- return Infinity;
95
- }
96
- };
97
- };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQVdMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFhLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUc3QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUkvQixTQUFnRixFQUNpQyxFQUFFO0lBQ25ILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFXLEVBQXVELEVBQUUsQ0FDakcsQ0FBQyxLQUFLLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUF1QyxFQUFPLEVBQUU7UUFDMUUsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQzlELENBQUMsQ0FBQTtJQUNELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN2QyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6RSxDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxNQUFNLENBQUMs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LE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7aUJBQ2xHO2dCQUNELElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUs7b0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUVwRCxPQUFPLEtBQUssQ0FBQTtZQUNkLENBQUM7U0FBQTtRQUVELGNBQWMsQ0FBQyxJQUFhLEVBQUUsTUFBcUM7WUFDakUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUE7WUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLENBQUE7Z0JBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBRW5ELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgUXVlcnksIFdoZXJlRmlsdGVyT3AgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuaW1wb3J0IHtcbiAgRmluZFJlcG9zaXRvcnksXG4gIEZpbmRSZXBvc2l0b3J5UGFyYW1zLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsZCxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnMsXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxuICBSZXBvc2l0b3J5TGltaXRPcHRpb25zLFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNEYXRlLCBpc05pbCwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZywgTWl4aW5DdG9yLCBzZXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEZpcmVzdG9yZUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRGaXJlc3RvcmUgPSA8XG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPFRCYXNlPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPj4sXG4+KFxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcbik6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnMsIFtdPiA9PiB7XG4gIGNvbnN0IGNoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IChmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgYW55PiA9PlxuICAgICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxuICBjb25zdCBnZXRWYWx1ZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWxkPFRCYXNlLCBhbnk+KTogYW55ID0+IHtcbiAgICByZXR1cm4gY2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikgPyBmaWx0ZXIudmFsdWUgOiBmaWx0ZXJcbiAgfVxuICBjb25zdCBnZXRGaW5hbFZhbHVlRnJvbSA9ICh2YWx1ZTogYW55KSA9PlxuICAgIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgfHwgaXNEYXRlKHZhbHVlKSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZVxuICAgICAgOiBPYmplY3QudmFsdWVzKGdldEZpbmFsVmFsdWVGcm9tKVxuXG4gIHJldHVybiBjbGFzcyBGaW5kRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICBhc3luYyBmaW5kKHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5LCBvcHRpb25zIH06IEZpbmRSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPiA9IHt9KTogUHJvbWlzZTxcbiAgICAgIFJlcG9zaXRvcnlGaW5kUmVzdWx0PFRCYXNlPlxuICAgID4ge1xuICAgICAgY29uc3Qgb3JkZXJCeUtleXMgPSBPYmplY3Qua2V5cyhvcmRlckJ5IHx8IHt9KVxuICAgICAgY29uc3QgZW5hYmxlQ291bnQgPSBvcHRpb25zPy5lbmFibGVDb3VudCA/PyB0cnVlXG4gICAgICBsZXQgcXVlcnk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+ID0gdGhpcy5jb2xsZWN0aW9uKFxuICAgICAgICB0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMgfHwge30pLFxuICAgICAgKVxuXG4gICAgICBxdWVyeSA9IHRoaXMubWFrZUZpcmVzdG9yZVdoZXJlKHF1ZXJ5LCBmaWx0ZXJzIHx8IHt9KVxuXG4gICAgICBpZiAob3JkZXJCeUtleXMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZCA9IE9iamVjdC5rZXlzKGZpbHRlcnMgfHwge30pLmZpbHRlcihcbiAgICAgICAgICAoZmlsdGVyS2V5KSA9PiAhb3JkZXJCeUtleXMuaW5jbHVkZXMoZmlsdGVyS2V5KSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWx0ZXJzS2V5c1dpdGhVbm9yZGVyZWQubGVuZ3RoKVxuICAgICAgICAgIGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZC5mb3JFYWNoKFxuICAgICAgICAgICAgKGZpbHRlcktleSkgPT5cbiAgICAgICAgICAgICAgKG9yZGVyQnkgPSB7XG4gICAgICAgICAgICAgICAgLi4uKCFbV2hlcmUuRVFVQUxTXS5pbmNsdWRlcyhmaWx0ZXJzW2ZpbHRlcktleV0ub3BlcmF0b3IpID8geyBbZmlsdGVyS2V5XTogJ2FzYycgfSA6IHt9KSxcbiAgICAgICAgICAgICAgICAuLi5vcmRlckJ5LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG5cbiAgICAgICAgT2JqZWN0LmtleXMob3JkZXJCeSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiAocXVlcnkgPSBxdWVyeS5vcmRlckJ5KGZpZWxkTmFtZSwgb3JkZXJCeVtmaWVsZE5hbWVdKSkpXG4gICAgICB9XG5cbiAgICAgIHF1ZXJ5ID0gYXdhaXQgdGhpcy5kZWZpbmVMaW1pdHMocXVlcnksIGZpbHRlcnMsIGxpbWl0cylcblxuICAgICAgY29uc3QgZG9jcyA9IGF3YWl0IHF1ZXJ5LmdldCgpXG4gICAgICBjb25zdCBkYXRhID0gZG9jcy5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuZGF0YSgpKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhLFxuICAgICAgICBjb3VudDogZW5hYmxlQ291bnQgPyB0aGlzLmNhbGN1bGF0ZUNvdW50KGRhdGEsIGxpbWl0cykgOiBJbmZpbml0eSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICBpZiAoIXRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpKSByZXR1cm4gdGhpcy5jb2xsZWN0aW9uTmFtZVxuXG4gICAgICBjb25zdCBwYXJlbnRJZEZpZWxkID0gdGhpcy5wYXJlbnRJZEZpZWxkIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8VEJhc2U+XG4gICAgICBjb25zdCBwYXJlbnRJZCA9IGdldFZhbHVlRnJvbUZpbHRlcihmaWx0ZXJzPy5bcGFyZW50SWRGaWVsZF0pXG5cbiAgICAgIHJldHVybiBgJHt0aGlzLnBhcmVudFJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7cGFyZW50SWR9LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgfVxuXG4gICAgbWFrZUZpcmVzdG9yZVdoZXJlID0gKFxuICAgICAgcXVlcnlSZWZlcmVuY2U6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+LFxuICAgICAgZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPixcbiAgICApOiBRdWVyeTxUQmFzZT4gPT5cbiAgICAgIE9iamVjdC5rZXlzKGZpbHRlcikucmVkdWNlKFxuICAgICAgICAocXVlcnk6IFF1ZXJ5PFRCYXNlPiwgZmllbGROYW1lOiBzdHJpbmcpID0+IHRoaXMuYnVpbGRXaGVyZVNlbnRlbmNlKHF1ZXJ5LCBmaWVsZE5hbWUsIGZpbHRlcltmaWVsZE5hbWVdKSxcbiAgICAgICAgcXVlcnlSZWZlcmVuY2UsXG4gICAgICApXG5cbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXG4gICAgICBxdWVyeVJlZmVyZW5jZTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4sXG4gICAgICBmaWVsZE5hbWU6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4gfCBzdHJpbmcsXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPj4sXG4gICAgKTogUXVlcnk8VEJhc2U+ID0+IHtcbiAgICAgIGlmICh0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKSAmJiBmaWVsZE5hbWUgPT09IHRoaXMucGFyZW50SWRGaWVsZCkgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlXG5cbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9uc1xuICAgICAgY29uc3Qgb2JqZWN0ID0ge31cblxuICAgICAgc2V0KG9iamVjdCwgZmllbGROYW1lLCB2YWx1ZSlcblxuICAgICAgY29uc3QgcGxhaW5JbnN0YW5jZSA9IG5ldyB0aGlzLm1vZGVsKG9iamVjdCkudG9QbGFpbigpXG4gICAgICBjb25zdCBmaXJlc3RvcmVGaWVsZE5hbWUgPVxuICAgICAgICBmaWVsZE5hbWUudG9TdHJpbmcoKS5pbmRleE9mKCcuJykgPiAtMVxuICAgICAgICAgID8gZmllbGROYW1lLnRvU3RyaW5nKClcbiAgICAgICAgICA6IE9iamVjdC5rZXlzKHBsYWluSW5zdGFuY2UpLmZpbmQoKGtleSkgPT4gcGxhaW5JbnN0YW5jZVtrZXldKVxuXG4gICAgICBpZiAob3B0aW9ucz8ub3BlcmF0b3IgPT09IFdoZXJlLkxJS0UpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICAgICAgKHRoaXMuZmllbGRzW2ZpcmVzdG9yZUZpZWxkTmFtZV0gPT09IEZpcmVzdG9yZUZpZWxkVHlwZS5BcnJheSB8fCAhdGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lXSlcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucy1hbnknLCBvcHRpb25zLnZhbHVlKVxuXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlID0gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPj0nLCBvcHRpb25zLnZhbHVlKVxuICAgICAgICBxdWVyeVJlZmVyZW5jZSA9IHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJzw9JywgYCR7b3B0aW9ucy52YWx1ZX1+YClcblxuICAgICAgICByZXR1cm4gcXVlcnlSZWZlcmVuY2VcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgb3B0aW9ucz8ub3BlcmF0b3IgPT09IFdoZXJlLklOICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICAgICh0aGlzLmZpZWxkc1tmaXJlc3RvcmVGaWVsZE5hbWVdID09PSBGaXJlc3RvcmVGaWVsZFR5cGUuQXJyYXkgfHwgIXRoaXMuZmllbGRzW2ZpcmVzdG9yZUZpZWxkTmFtZV0pXG4gICAgICApXG4gICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucycsIG9wdGlvbnMudmFsdWUpXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykgJiYgaXNOaWwob3B0aW9ucz8ub3BlcmF0b3IpICYmIGlzTmlsKG9wdGlvbnM/LnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKFxuICAgICAgICAgIChxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwga2V5KSA9PlxuICAgICAgICAgICAgdGhpcy5idWlsZFdoZXJlU2VudGVuY2UocXVlcnlSZWZlcmVuY2VXaXRoV2hlcmUsIGAke2ZpZWxkTmFtZS50b1N0cmluZygpfS4ke2tleX1gLCBvcHRpb25zW2tleV0pLFxuICAgICAgICAgIHF1ZXJ5UmVmZXJlbmNlLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShcbiAgICAgICAgZmlyZXN0b3JlRmllbGROYW1lLFxuICAgICAgICAob3B0aW9ucz8ub3BlcmF0b3IgYXMgV2hlcmVGaWx0ZXJPcCkgfHwgJz09JyxcbiAgICAgICAgb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9ucyxcbiAgICAgIClcbiAgICB9XG5cbiAgICBhc3luYyBkZWZpbmVMaW1pdHMoXG4gICAgICBxdWVyeTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4sXG4gICAgICBmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPixcbiAgICAgIGxpbWl0czogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT4sXG4gICAgKTogUHJvbWlzZTxRdWVyeTxUQmFzZT4+IHtcbiAgICAgIGlmIChsaW1pdHM/Lm9mZnNldCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlbC5pc01vZGVsKGxpbWl0cy5vZmZzZXQpKVxuICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkuc3RhcnRBZnRlcihcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMpKVxuICAgICAgICAgICAgICAuZG9jKGxpbWl0cy5vZmZzZXRbbGltaXRzLm9mZnNldC5pZGVudGlmaWVyc0ZpZWxkcy5zaGlmdCgpIGFzIHN0cmluZ10pXG4gICAgICAgICAgICAgIC5nZXQoKSxcbiAgICAgICAgICApXG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKGxpbWl0cy5vZmZzZXQpIHx8IGlzU3RyaW5nKGxpbWl0cy5vZmZzZXQpKSBxdWVyeSA9IHF1ZXJ5LnN0YXJ0QXQobGltaXRzLm9mZnNldClcbiAgICAgIH1cbiAgICAgIGlmIChsaW1pdHM/LmxpbWl0KSBxdWVyeSA9IHF1ZXJ5LmxpbWl0KGxpbWl0cy5saW1pdClcblxuICAgICAgcmV0dXJuIHF1ZXJ5XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlQ291bnQoZGF0YTogVEJhc2VbXSwgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPik6IG51bWJlciB7XG4gICAgICBpZiAoZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIDBcbiAgICAgIGlmIChkYXRhLmxlbmd0aCA8IGxpbWl0cz8ubGltaXQpIHJldHVybiBkYXRhLmxlbmd0aFxuXG4gICAgICByZXR1cm4gSW5maW5pdHlcbiAgICB9XG4gIH0gYXMgYW55XG59XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { each, isObject, unset } from '../../../../utils';
2
- export const withFirestore = (MixinBase) => {
3
- const isObjectsAndNoDate = (data) => data &&
4
- !Array.isArray(data) &&
5
- typeof data === 'object' &&
6
- (data === null || data === void 0 ? void 0 : data.constructor.name) !== 'Timestamp' &&
7
- !('seconds' in data);
8
- const bindDate = (data, keyName) => {
9
- if ((data === null || data === void 0 ? void 0 : data.constructor.name) === 'Timestamp')
10
- return data.toDate();
11
- if (data && typeof data === 'object' && 'seconds' in data)
12
- return new Date(data.seconds * 1000);
13
- if (typeof data === 'number' && ['createdAt', 'updatedAt'].includes(keyName))
14
- return new Date(data);
15
- return data;
16
- };
17
- const bindAllDateFromObject = (data) => {
18
- return Object.keys(data).reduce((object, key) => (Object.assign(Object.assign({}, object), { [key]: isObjectsAndNoDate(data[key])
19
- ? bindAllDateFromObject(data[key])
20
- : Array.isArray(data[key])
21
- ? data[key].map((element) => (isObjectsAndNoDate(element) ? bindAllDateFromObject(element) : element))
22
- : bindDate(data[key], key) })), {});
23
- };
24
- const omitByRecursivelyInPlace = (value, iteratee) => {
25
- each(value, (v, k) => {
26
- if (iteratee(v, k)) {
27
- unset(value, k);
28
- }
29
- else if (isObject(v)) {
30
- omitByRecursivelyInPlace(v, iteratee);
31
- }
32
- });
33
- return value;
34
- };
35
- return class extends MixinBase {
36
- collection(path) {
37
- return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance());
38
- }
39
- buildModelInstance() {
40
- return {
41
- toFirestore: (data) => {
42
- const plain = (data === null || data === void 0 ? void 0 : data.toPlain) ? data.toPlain() : data;
43
- return omitByRecursivelyInPlace(plain, (value) => value === undefined);
44
- },
45
- fromFirestore: (snap) => {
46
- const data = snap.data();
47
- let bindedData;
48
- try {
49
- const ids = { id: snap.id };
50
- bindedData = bindAllDateFromObject(data);
51
- return this.model.toInstance(Object.assign(Object.assign({}, bindedData), ids));
52
- }
53
- catch (error) {
54
- console.info('id', snap.id);
55
- console.info('data', JSON.stringify(bindedData));
56
- console.error(error);
57
- throw error;
58
- }
59
- },
60
- };
61
- }
62
- };
63
- };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvbWl4aW5zL3dpdGgtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFhLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBSXBFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixTQUFZLEVBQ2tDLEVBQUU7SUFDaEQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVMsRUFBVyxFQUFFLENBQ2hELElBQUk7UUFDSixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxDQUFDLElBQUksTUFBSyxXQUFXO1FBQ3RDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUE7SUFDdEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUF5QixFQUFFLE9BQWUsRUFBdUIsRUFBRTtRQUNuRixJQUFJLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQUssV0FBVztZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2hFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUMvRixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FB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O3dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTt3QkFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO3dCQUNoRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO3dCQUVwQixNQUFNLEtBQUssQ0FBQTtxQkFDWjtnQkFDSCxDQUFDO2FBQ0YsQ0FBQTtRQUNILENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgRG9jdW1lbnREYXRhLCBGaXJlYmFzZUZpcmVzdG9yZSwgUXVlcnlEb2N1bWVudFNuYXBzaG90IH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcbmltcG9ydCB7XG4gIEJhc2VNb2RlbEJ1aWxkZXIsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllc1dpdGhOb1BhcnRpYWwsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGVhY2gsIGlzT2JqZWN0LCBNaXhpbkN0b3IsIHVuc2V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVGaWVsZFR5cGUgfSBmcm9tICcuLi9lbnVtcydcbmltcG9ydCB7IEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IHdpdGhGaXJlc3RvcmUgPSA8VEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+LCBuZXZlcj4gPT4ge1xuICBjb25zdCBpc09iamVjdHNBbmROb0RhdGUgPSAoZGF0YTogYW55KTogYm9vbGVhbiA9PlxuICAgIGRhdGEgJiZcbiAgICAhQXJyYXkuaXNBcnJheShkYXRhKSAmJlxuICAgIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJlxuICAgIGRhdGE/LmNvbnN0cnVjdG9yLm5hbWUgIT09ICdUaW1lc3RhbXAnICYmXG4gICAgISgnc2Vjb25kcycgaW4gZGF0YSlcbiAgY29uc3QgYmluZERhdGUgPSAoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Piwga2V5TmFtZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgYW55PiA9PiB7XG4gICAgaWYgKGRhdGE/LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdUaW1lc3RhbXAnKSByZXR1cm4gZGF0YS50b0RhdGUoKVxuICAgIGlmIChkYXRhICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiAnc2Vjb25kcycgaW4gZGF0YSkgcmV0dXJuIG5ldyBEYXRlKGRhdGEuc2Vjb25kcyAqIDEwMDApXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnbnVtYmVyJyAmJiBbJ2NyZWF0ZWRBdCcsICd1cGRhdGVkQXQnXS5pbmNsdWRlcyhrZXlOYW1lKSkgcmV0dXJuIG5ldyBEYXRlKGRhdGEpXG5cbiAgICByZXR1cm4gZGF0YVxuICB9XG4gIGNvbnN0IGJpbmRBbGxEYXRlRnJvbU9iamVjdCA9IChkYXRhOiB7fSk6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXNXaXRoTm9QYXJ0aWFsPFRCYXNlPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZShcbiAgICAgIChvYmplY3QsIGtleSkgPT4gKHtcbiAgICAgICAgLi4ub2JqZWN0LFxuICAgICAgICBba2V5XTogaXNPYmplY3RzQW5kTm9EYXRlKGRhdGFba2V5XSlcbiAgICAgICAgICA/IGJpbmRBbGxEYXRlRnJvbU9iamVjdChkYXRhW2tleV0pXG4gICAgICAgICAgOiBBcnJheS5pc0FycmF5KGRhdGFba2V5XSlcbiAgICAgICAgICA/IGRhdGFba2V5XS5tYXAoKGVsZW1lbnQpID0+IChpc09iamVjdHNBbmROb0RhdGUoZWxlbWVudCkgPyBiaW5kQWxsRGF0ZUZyb21PYmplY3QoZWxlbWVudCkgOiBlbGVtZW50KSlcbiAgICAgICAgICA6IGJpbmREYXRlKGRhdGFba2V5XSwga2V5KSxcbiAgICAgIH0pLFxuICAgICAge30gYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllc1dpdGhOb1BhcnRpYWw8VEJhc2U+LFxuICAgIClcbiAgfVxuICBjb25zdCBvbWl0QnlSZWN1cnNpdmVseUluUGxhY2UgPSAodmFsdWU6IGFueSwgaXRlcmF0ZWU6ICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4gYm9vbGVhbik6IGFueSA9PiB7XG4gICAgZWFjaCh2YWx1ZSwgKHYsIGspID0+IHtcbiAgICAgIGlmIChpdGVyYXRlZSh2LCBrKSkge1xuICAgICAgICB1bnNldCh2YWx1ZSwgaylcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodikpIHtcbiAgICAgICAgb21pdEJ5UmVjdXJzaXZlbHlJblBsYWNlKHYsIGl0ZXJhdGVlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICByZWFkb25seSBmaXJlc3RvcmU/OiBGaXJlYmFzZUZpcmVzdG9yZVxuICAgIGNvbGxlY3Rpb25OYW1lOiBzdHJpbmdcbiAgICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxUQmFzZT5cbiAgICBmaWVsZHM6IFJlY29yZDxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFRCYXNlPiwgRmlyZXN0b3JlRmllbGRUeXBlPlxuXG4gICAgY29sbGVjdGlvbihwYXRoPzogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aCB8fCB0aGlzLmNvbGxlY3Rpb25OYW1lKS53aXRoQ29udmVydGVyKHRoaXMuYnVpbGRNb2RlbEluc3RhbmNlKCkpXG4gICAgfVxuXG4gICAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcbiAgICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogVEJhc2UpID0+IERvY3VtZW50RGF0YVxuICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pID0+IFRCYXNlXG4gICAgfSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IFRCYXNlKTogRG9jdW1lbnREYXRhID0+IHtcbiAgICAgICAgICBjb25zdCBwbGFpbiA9IGRhdGE/LnRvUGxhaW4gPyBkYXRhLnRvUGxhaW4oKSA6IGRhdGFcblxuICAgICAgICAgIHJldHVybiBvbWl0QnlSZWN1cnNpdmVseUluUGxhY2UocGxhaW4sICh2YWx1ZSkgPT4gdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgfSxcbiAgICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pOiBUQmFzZSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHNuYXAuZGF0YSgpXG4gICAgICAgICAgbGV0IGJpbmRlZERhdGE6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXNXaXRoTm9QYXJ0aWFsPFRCYXNlPlxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IHsgaWQ6IHNuYXAuaWQgfVxuXG4gICAgICAgICAgICBiaW5kZWREYXRhID0gYmluZEFsbERhdGVGcm9tT2JqZWN0KGRhdGEpXG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoeyAuLi5iaW5kZWREYXRhLCAuLi5pZHMgfSlcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdpZCcsIHNuYXAuaWQpXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ2RhdGEnLCBKU09OLnN0cmluZ2lmeShiaW5kZWREYXRhKSlcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG5cbiAgICAgICAgICAgIHRocm93IGVycm9yXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { NotFoundError } from '../../../../errors';
3
- import { isNil } from '../../../../utils';
4
- export const withGetFirestore = (MixinBase) => {
5
- return class GetFirestore extends MixinBase {
6
- get(identifiers) {
7
- return __awaiter(this, void 0, void 0, function* () {
8
- const doc = yield this.collection(this.buildCollectionPathForGet(identifiers))
9
- .doc(Object.values(identifiers).shift().toString())
10
- .get();
11
- const data = doc.data();
12
- if (isNil(data))
13
- throw new NotFoundError(`Document ${JSON.stringify(identifiers)} not found`);
14
- return data;
15
- });
16
- }
17
- buildCollectionPathForGet(identifiers) {
18
- return this.isSubCollection(this)
19
- ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
20
- : this.collectionName;
21
- }
22
- };
23
- };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZXQtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWdldC1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFhLE1BQU0sbUJBQW1CLENBQUE7QUFHcEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FJOUIsU0FBZ0YsRUFDZ0MsRUFBRTtJQUNsSCxPQUFPLE1BQU0sWUFBYSxTQUFRLFNBQVM7UUFDbkMsR0FBRyxDQUFDLFdBQW9DOztnQkFDNUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztxQkFDM0UsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ2xELEdBQUcsRUFBRSxDQUFBO2dCQUNSLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFdkIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFFN0YsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1NBQUE7UUFFRCx5QkFBeUIsQ0FBQyxXQUFvQztZQUM1RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMvQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekIsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRSZXBvc2l0b3J5LCBJZGVudGlmaWVyc01vZGVsLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEdldEZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgR2V0UmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLCBbXT4gPT4ge1xuICByZXR1cm4gY2xhc3MgR2V0RmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgR2V0UmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIGdldChpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBQcm9taXNlPFRCYXNlPiB7XG4gICAgICBjb25zdCBkb2MgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yR2V0KGlkZW50aWZpZXJzKSlcbiAgICAgICAgLmRvYyhPYmplY3QudmFsdWVzKGlkZW50aWZpZXJzKS5zaGlmdCgpLnRvU3RyaW5nKCkpXG4gICAgICAgIC5nZXQoKVxuICAgICAgY29uc3QgZGF0YSA9IGRvYy5kYXRhKClcblxuICAgICAgaWYgKGlzTmlsKGRhdGEpKSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgRG9jdW1lbnQgJHtKU09OLnN0cmluZ2lmeShpZGVudGlmaWVycyl9IG5vdCBmb3VuZGApXG5cbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgYnVpbGRDb2xsZWN0aW9uUGF0aEZvckdldChpZGVudGlmaWVyczogSWRlbnRpZmllcnNNb2RlbDxUQmFzZT4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTdWJDb2xsZWN0aW9uKHRoaXMpXG4gICAgICAgID8gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkZW50aWZpZXJzW3RoaXMucGFyZW50SWRGaWVsZF19LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { isNil } from '../../../../utils';
2
- export const withHelpers = (MixinBase) => {
3
- return class extends MixinBase {
4
- toArray(snapShot) {
5
- if (Array.isArray(snapShot)) {
6
- return snapShot.map((doc) => doc.data());
7
- }
8
- else {
9
- return snapShot.docs.map((doc) => doc.data());
10
- }
11
- }
12
- isSubCollection(repository) {
13
- return !isNil(Object.keys(this).find((key) => key === 'parentRepository'));
14
- }
15
- };
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oZWxwZXJzLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWhlbHBlcnMubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBR3BELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUEyQyxTQUFpQyxFQUFFLEVBQUU7SUFDekcsT0FBTyxLQUFNLFNBQVEsU0FBUztRQUM1QixPQUFPLENBQWtDLFFBQXVEO1lBQzlGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7YUFDbkU7aUJBQU07Z0JBQ0wsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2FBQ3hFO1FBQ0gsQ0FBQztRQUVELGVBQWUsQ0FDYixVQUFpRTtZQUVqRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQzVFLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlEb2N1bWVudFNuYXBzaG90LCBRdWVyeVNuYXBzaG90IH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcbmltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzTmlsLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnksIEZpcmVzdG9yZVN1YlJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IHdpdGhIZWxwZXJzID0gPFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3IgPSBNaXhpbkN0b3I+KE1peGluQmFzZTogTWl4aW5DdG9yICYgVE1peGluQmFzZSkgPT4ge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaXJlc3RvcmVIZWxwZXJzIHtcbiAgICB0b0FycmF5PFQgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VD4+KHNuYXBTaG90OiBRdWVyeVNuYXBzaG90PFQ+IHwgUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+W10pOiBUW10ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc25hcFNob3QpKSB7XG4gICAgICAgIHJldHVybiBzbmFwU2hvdC5tYXAoKGRvYzogUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+KSA9PiBkb2MuZGF0YSgpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNuYXBTaG90LmRvY3MubWFwKChkb2M6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUPikgPT4gZG9jLmRhdGEoKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc1N1YkNvbGxlY3Rpb248VCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxUPiwgRSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxFPj4oXG4gICAgICByZXBvc2l0b3J5OiBGaXJlc3RvcmVSZXBvc2l0b3J5PFQ+IHwgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeTxULCBFPixcbiAgICApOiByZXBvc2l0b3J5IGlzIEZpcmVzdG9yZVN1YlJlcG9zaXRvcnk8VCwgRT4ge1xuICAgICAgcmV0dXJuICFpc05pbChPYmplY3Qua2V5cyh0aGlzKS5maW5kKChrZXkpID0+IGtleSA9PT0gJ3BhcmVudFJlcG9zaXRvcnknKSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- export const withSubCollection = (MixinBase, ParentModel) => {
2
- return class SubCollectionMix extends MixinBase {
3
- constructor(...args) {
4
- super(args);
5
- }
6
- collection(path) {
7
- return super.collection(path);
8
- }
9
- };
10
- };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdWItY29sbGVjdGlvbi5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1zdWItY29sbGVjdGlvbi5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUsvQixTQUE2RCxFQUM3RCxXQUFrQyxFQU9sQyxFQUFFO0lBQ0YsT0FBTyxNQUFNLGdCQUNYLFNBQVEsU0FBUztRQU1qQixZQUFZLEdBQUcsSUFBZ0I7WUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2IsQ0FBQztRQUVELFVBQVUsQ0FBQyxJQUFhO1lBQ3RCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xuaW1wb3J0IHsgSWRlbnRpZmllcnNNb2RlbCwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBGaXJlc3RvcmVIZWxwZXJzLCBGaXJlc3RvcmVSZXBvc2l0b3J5LCBGaXJlc3RvcmVTdWJSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCB3aXRoU3ViQ29sbGVjdGlvbiA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUQmFzZVBhcmVudCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxUQmFzZVBhcmVudD4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+ICYgVE1peGluQmFzZSxcbiAgUGFyZW50TW9kZWw6IG5ldyAoKSA9PiBUQmFzZVBhcmVudCxcbik6IE1peGluQ3RvcjxcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJlxuICAgIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPiAmXG4gICAgRmlyZXN0b3JlU3ViUmVwb3NpdG9yeTxUQmFzZSwgSW5zdGFuY2VUeXBlPHR5cGVvZiBQYXJlbnRNb2RlbD4+ICZcbiAgICBGaXJlc3RvcmVIZWxwZXJzLFxuICBbXVxuPiA9PiB7XG4gIHJldHVybiBjbGFzcyBTdWJDb2xsZWN0aW9uTWl4XG4gICAgZXh0ZW5kcyBNaXhpbkJhc2VcbiAgICBpbXBsZW1lbnRzIEZpcmVzdG9yZVN1YlJlcG9zaXRvcnk8VEJhc2UsIEluc3RhbmNlVHlwZTx0eXBlb2YgUGFyZW50TW9kZWw+PlxuICB7XG4gICAgcmVhZG9ubHkgcGFyZW50UmVwb3NpdG9yeTogRmlyZXN0b3JlUmVwb3NpdG9yeTxJbnN0YW5jZVR5cGU8dHlwZW9mIFBhcmVudE1vZGVsPj5cbiAgICBwYXJlbnRJZEZpZWxkOiBrZXlvZiBJZGVudGlmaWVyc01vZGVsPFRCYXNlPlxuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogQXJyYXk8YW55Pikge1xuICAgICAgc3VwZXIoYXJncylcbiAgICB9XG5cbiAgICBjb2xsZWN0aW9uKHBhdGg/OiBzdHJpbmcpOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB7XG4gICAgICByZXR1cm4gc3VwZXIuY29sbGVjdGlvbihwYXRoKVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import firebase from 'firebase';
3
- import { UpdateOptionActions, } from '../../../../domain';
4
- import { isNil } from '../../../../utils';
5
- export const withUpdateFirestore = (MixinBase) => {
6
- const getValueFromParams = (params, field) => { var _a; return (isNil((_a = params[field]) === null || _a === void 0 ? void 0 : _a.value) ? params[field] : params[field].value) || null; };
7
- const getValueByAction = (options) => {
8
- const fieldValues = firebase.firestore.FieldValue;
9
- if (isNil(options.action))
10
- return options;
11
- if (options.action === UpdateOptionActions.REMOVE_FIELD)
12
- return fieldValues.delete();
13
- if (Array.isArray(options.value)) {
14
- if (options.action === UpdateOptionActions.MERGE)
15
- return fieldValues.arrayUnion(...options.value);
16
- if (options.action === UpdateOptionActions.REMOVE)
17
- return fieldValues.arrayRemove(...options.value);
18
- }
19
- return options.value;
20
- };
21
- return class UpdateFirestore extends MixinBase {
22
- update(data) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const model = new this.model();
25
- const keyField = model.identifiersFields.shift();
26
- const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
27
- yield docRef.set(this.paramsToPlain(data), { merge: true });
28
- const doc = yield docRef.get();
29
- return doc.data();
30
- });
31
- }
32
- buildCollectionPathForUpdate(identifiers) {
33
- return this.isSubCollection(this)
34
- ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${this.collectionName}`
35
- : this.collectionName;
36
- }
37
- paramsToPlain(params) {
38
- const model = this.model;
39
- if (model.isModel(params))
40
- return params.toPlain();
41
- return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(params[currentKey]) })), {});
42
- }
43
- };
44
- };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLXVwZGF0ZS1maXJlc3RvcmUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLEVBS0wsbUJBQW1CLEdBR3BCLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUF1QixLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQU85RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUlqQyxTQUFnRixFQUloRixFQUFFO0lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxDQUN6QixNQUFxQyxFQUNyQyxLQUE0RSxFQUNiLEVBQUUsV0FDakUsT0FBQSxDQUFDLEtBQUssQ0FBQyxNQUFBLE1BQU0sQ0FBQyxLQUFlLENBQUMsMENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQSxFQUFBLENBQUE7SUFDM0csTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQTZCLEVBQTJDLEVBQUU7UUFDbEcsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUE7UUFFakQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFBO1FBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxZQUFZO1lBQUUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDcEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsS0FBSztnQkFBRSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDakcsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLE1BQU07Z0JBQUUsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ3BHO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQ3RCLENBQUMsQ0FBQTtJQUVELE9BQU8sTUFBTSxlQUFnQixTQUFRLFNBQVM7UUFDdEMsTUFBTSxDQUFDLElBQW1DOztnQkFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQzlCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3pFLGtCQUFrQixDQUFDLElBQUksRUFBRSxRQUFrQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ3hFLENBQUE7Z0JBRUQsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtnQkFFM0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBRTlCLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ25CLENBQUM7U0FBQTtRQUVELDRCQUE0QixDQUFDLFdBQTBDO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksa0JBQWtCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFDNUYsSUFBSSxDQUFDLGNBQ1AsRUFBRTtnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO1FBRUQsYUFBYSxDQUFDLE1BQXFDO1lBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7WUFFeEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUVsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFNLElBQUksS0FBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFHLEVBQ3ZGLEVBQUUsQ0FDSCxDQUFBO1FBQ0gsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UnXG5pbXBvcnQge1xuICBJZGVudGlmaWVyTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtcyxcbiAgVXBkYXRlT3B0aW9uQWN0aW9ucyxcbiAgVXBkYXRlT3B0aW9ucyxcbiAgVXBkYXRlUmVwb3NpdG9yeSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgTWl4aW5DdG9yLCBQcm9wVHlwZSwgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IHR5cGUgVXBkYXRlRmlyZXN0b3JlUmVwb3NpdG9yeVR5cGU8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PiA9IFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+ICYge1xuICBwYXJhbXNUb1BsYWluKHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQYXJ0aWFsPE1CYXNlPlxufVxuXG5leHBvcnQgY29uc3Qgd2l0aFVwZGF0ZUZpcmVzdG9yZSA9IDxcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8VEJhc2U+LFxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIFVwZGF0ZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcbiAgW11cbj4gPT4ge1xuICBjb25zdCBnZXRWYWx1ZUZyb21QYXJhbXMgPSAoXG4gICAgcGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPFRCYXNlPixcbiAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxUQmFzZT4gfCBJZGVudGlmaWVyTW9kZWw8VEJhc2U+LFxuICApOiBQcm9wVHlwZTxUQmFzZSwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxUQmFzZT4+ID0+XG4gICAgKGlzTmlsKHBhcmFtc1tmaWVsZCBhcyBzdHJpbmddPy52YWx1ZSkgPyBwYXJhbXNbZmllbGQgYXMgc3RyaW5nXSA6IHBhcmFtc1tmaWVsZCBhcyBzdHJpbmddLnZhbHVlKSB8fCBudWxsXG4gIGNvbnN0IGdldFZhbHVlQnlBY3Rpb24gPSAob3B0aW9uczogVXBkYXRlT3B0aW9uczxUQmFzZT4pOiBmaXJlYmFzZS5maXJlc3RvcmUuRmllbGRWYWx1ZSB8IHVua25vd24gPT4ge1xuICAgIGNvbnN0IGZpZWxkVmFsdWVzID0gZmlyZWJhc2UuZmlyZXN0b3JlLkZpZWxkVmFsdWVcblxuICAgIGlmIChpc05pbChvcHRpb25zLmFjdGlvbikpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKG9wdGlvbnMuYWN0aW9uID09PSBVcGRhdGVPcHRpb25BY3Rpb25zLlJFTU9WRV9GSUVMRCkgcmV0dXJuIGZpZWxkVmFsdWVzLmRlbGV0ZSgpXG4gICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy52YWx1ZSkpIHtcbiAgICAgIGlmIChvcHRpb25zLmFjdGlvbiA9PT0gVXBkYXRlT3B0aW9uQWN0aW9ucy5NRVJHRSkgcmV0dXJuIGZpZWxkVmFsdWVzLmFycmF5VW5pb24oLi4ub3B0aW9ucy52YWx1ZSlcbiAgICAgIGlmIChvcHRpb25zLmFjdGlvbiA9PT0gVXBkYXRlT3B0aW9uQWN0aW9ucy5SRU1PVkUpIHJldHVybiBmaWVsZFZhbHVlcy5hcnJheVJlbW92ZSguLi5vcHRpb25zLnZhbHVlKVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zLnZhbHVlXG4gIH1cblxuICByZXR1cm4gY2xhc3MgVXBkYXRlRmlyZXN0b3JlIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgVXBkYXRlUmVwb3NpdG9yeTxUQmFzZT4ge1xuICAgIGFzeW5jIHVwZGF0ZShkYXRhOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPFRCYXNlPik6IFByb21pc2U8VEJhc2U+IHtcbiAgICAgIGNvbnN0IG1vZGVsID0gbmV3IHRoaXMubW9kZWwoKVxuICAgICAgY29uc3Qga2V5RmllbGQgPSBtb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5zaGlmdCgpXG4gICAgICBjb25zdCBkb2NSZWYgPSB0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yVXBkYXRlKGRhdGEpKS5kb2MoXG4gICAgICAgIGdldFZhbHVlRnJvbVBhcmFtcyhkYXRhLCBrZXlGaWVsZCBhcyBJZGVudGlmaWVyTW9kZWw8VEJhc2U+KS50b1N0cmluZygpLFxuICAgICAgKVxuXG4gICAgICBhd2FpdCBkb2NSZWYuc2V0KHRoaXMucGFyYW1zVG9QbGFpbihkYXRhKSwgeyBtZXJnZTogdHJ1ZSB9KVxuXG4gICAgICBjb25zdCBkb2MgPSBhd2FpdCBkb2NSZWYuZ2V0KClcblxuICAgICAgcmV0dXJuIGRvYy5kYXRhKClcbiAgICB9XG5cbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yVXBkYXRlKGlkZW50aWZpZXJzOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPFRCYXNlPik6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5pc1N1YkNvbGxlY3Rpb24odGhpcylcbiAgICAgICAgPyBgJHt0aGlzLnBhcmVudFJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7Z2V0VmFsdWVGcm9tUGFyYW1zKGlkZW50aWZpZXJzLCB0aGlzLnBhcmVudElkRmllbGQpfS8ke1xuICAgICAgICAgICAgdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgICAgICAgIH1gXG4gICAgICAgIDogdGhpcy5jb2xsZWN0aW9uTmFtZVxuICAgIH1cblxuICAgIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPFRCYXNlPik6IFBhcnRpYWw8VEJhc2U+IHtcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbFxuXG4gICAgICBpZiAobW9kZWwuaXNNb2RlbChwYXJhbXMpKSByZXR1cm4gcGFyYW1zLnRvUGxhaW4oKVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoXG4gICAgICAgIChkYXRhLCBjdXJyZW50S2V5KSA9PiAoeyAuLi5kYXRhLCBbY3VycmVudEtleV06IGdldFZhbHVlQnlBY3Rpb24ocGFyYW1zW2N1cnJlbnRLZXldKSB9KSxcbiAgICAgICAge30sXG4gICAgICApXG4gICAgfVxuICB9IGFzIGFueVxufVxuIl19
@@ -1,82 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Category } from '../../../../../domain';
3
- import { Base, chunk } from '../../../../../utils';
4
- import { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../../errors';
5
- import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
6
- export class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
7
- constructor(firestore) {
8
- super();
9
- this.firestore = firestore;
10
- this.collectionName = 'categories';
11
- this.model = Category;
12
- }
13
- getCategoryBySlug(slug, shop) {
14
- return this.collection(this.collectionName)
15
- .where('slug', '==', slug)
16
- .where('shop', '==', shop)
17
- .where('published', '==', true)
18
- .get()
19
- .then((snap) => {
20
- if (snap.size > 1)
21
- throw new DuplicatedResultsError('Query returned duplicated values');
22
- if (snap.empty)
23
- throw new NotFoundError(`Document with slug ${slug} not found`);
24
- return snap.docs[0].data();
25
- })
26
- .catch((error) => error);
27
- }
28
- getCategoriesForHome(categoryIds, limit = 4, gender) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const categorySnap = yield this.collection(this.collectionName)
31
- .where('id', 'in', categoryIds.filter(Boolean))
32
- .where('published', '==', true)
33
- .get();
34
- if (categorySnap.empty)
35
- throw new NotFoundError('Categories not found');
36
- const categories = categorySnap.docs.map((doc) => doc.data());
37
- const homeSections = yield Promise.all(categories.map((category) => __awaiter(this, void 0, void 0, function* () {
38
- return ({
39
- category,
40
- products: yield this.mountCategory(category, { limit, hasStock: true, gender }),
41
- });
42
- })));
43
- return homeSections;
44
- });
45
- }
46
- mountCategory(category, options) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- if (!category.products)
49
- throw new RequiredArgumentError(['Category products is empty']);
50
- const chunks = chunk(category.products, 10);
51
- const products = [];
52
- for (const productIds of chunks) {
53
- if ((options === null || options === void 0 ? void 0 : options.limit) && products.length >= (options === null || options === void 0 ? void 0 : options.limit))
54
- break;
55
- let query = yield this.collection('productsErpVitrine')
56
- .where('published', '==', true)
57
- .where('id', 'in', productIds);
58
- if (options === null || options === void 0 ? void 0 : options.hasStock)
59
- query = query.where('stock.quantity', '>', 0);
60
- if (options === null || options === void 0 ? void 0 : options.gender)
61
- query = query.where('tags', 'array-contains', options === null || options === void 0 ? void 0 : options.gender);
62
- if (options === null || options === void 0 ? void 0 : options.limit)
63
- query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
64
- const productSnap = yield query.get();
65
- if (productSnap.empty)
66
- continue;
67
- products.push(...productSnap.docs.map((doc) => doc.data()));
68
- }
69
- return products;
70
- });
71
- }
72
- getCategoryByShop(shop) {
73
- return;
74
- }
75
- getChildren(parentId) {
76
- return;
77
- }
78
- isChild(id, parentId) {
79
- return;
80
- }
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL2NhdGFsb2cvY2F0ZWdvcnktZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQXNDLE1BQU0sdUJBQXVCLENBQUE7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUUsTUFBTSxPQUFPLDJCQUNYLFNBQVEsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBR3JFLFlBQXFCLFNBQTRCO1FBQy9DLEtBQUssRUFBRSxDQUFBO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFFL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUE7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUE7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVksRUFBRSxJQUFXO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQzthQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7YUFDekIsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFB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RSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRixJQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLO29CQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLENBQUMsQ0FBQTtnQkFFdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBRXJDLElBQUksV0FBVyxDQUFDLEtBQUs7b0JBQUUsU0FBUTtnQkFFL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQzVEO1lBRUQsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQztLQUFBO0lBRUQsaUJBQWlCLENBQUMsSUFBWTtRQUM1QixPQUFNO0lBQ1IsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFNO0lBQ1IsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVLEVBQUUsUUFBZ0I7UUFDbEMsT0FBTTtJQUNSLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmViYXNlRmlyZXN0b3JlIH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcblxuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgUHJvZHVjdCwgU2hvcHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBCYXNlLCBjaHVuayB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xuXG5pbXBvcnQgeyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yLCBOb3RGb3VuZEVycm9yLCBSZXF1aXJlZEFyZ3VtZW50RXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyB3aXRoQ3J1ZEZpcmVzdG9yZSwgd2l0aEZpcmVzdG9yZSwgd2l0aEhlbHBlcnMgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEZpcmVzdG9yZSh3aXRoSGVscGVycyh3aXRoRmlyZXN0b3JlPENhdGVnb3J5PihCYXNlKSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcmVzdG9yZTogRmlyZWJhc2VGaXJlc3RvcmUpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5jb2xsZWN0aW9uTmFtZSA9ICdjYXRlZ29yaWVzJ1xuICAgIHRoaXMubW9kZWwgPSBDYXRlZ29yeVxuICB9XG5cbiAgZ2V0Q2F0ZWdvcnlCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8Q2F0ZWdvcnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKHRoaXMuY29sbGVjdGlvbk5hbWUpXG4gICAgICAud2hlcmUoJ3NsdWcnLCAnPT0nLCBzbHVnKVxuICAgICAgLndoZXJlKCdzaG9wJywgJz09Jywgc2hvcClcbiAgICAgIC53aGVyZSgncHVibGlzaGVkJywgJz09JywgdHJ1ZSlcbiAgICAgIC5nZXQoKVxuICAgICAgLnRoZW4oKHNuYXApID0+IHtcbiAgICAgICAgaWYgKHNuYXAuc2l6ZSA+IDEpIHRocm93IG5ldyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yKCdRdWVyeSByZXR1cm5lZCBkdXBsaWNhdGVkIHZhbHVlcycpXG5cbiAgICAgICAgaWYgKHNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBEb2N1bWVudCB3aXRoIHNsdWcgJHtzbHVnfSBub3QgZm91bmRgKVxuXG4gICAgICAgIHJldHVybiBzbmFwLmRvY3NbMF0uZGF0YSgpXG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4gZXJyb3IpXG4gIH1cblxuICBhc3luYyBnZXRDYXRlZ29yaWVzRm9ySG9tZShcbiAgICBjYXRlZ29yeUlkczogc3RyaW5nW10sXG4gICAgbGltaXQgPSA0LFxuICAgIGdlbmRlcj86IHN0cmluZyxcbiAgKTogUHJvbWlzZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICBjb25zdCBjYXRlZ29yeVNuYXAgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24odGhpcy5jb2xsZWN0aW9uTmFtZSlcbiAgICAgIC53aGVyZSgnaWQnLCAnaW4nLCBjYXRlZ29yeUlkcy5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAud2hlcmUoJ3B1Ymxpc2hlZCcsICc9PScsIHRydWUpXG4gICAgICAuZ2V0KClcblxuICAgIGlmIChjYXRlZ29yeVNuYXAuZW1wdHkpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKCdDYXRlZ29yaWVzIG5vdCBmb3VuZCcpXG5cbiAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcnlTbmFwLmRvY3MubWFwKChkb2MpID0+IGRvYy5kYXRhKCkpXG4gICAgY29uc3QgaG9tZVNlY3Rpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjYXRlZ29yaWVzLm1hcChhc3luYyAoY2F0ZWdvcnkpID0+ICh7XG4gICAgICAgIGNhdGVnb3J5LFxuICAgICAgICBwcm9kdWN0czogYXdhaXQgdGhpcy5tb3VudENhdGVnb3J5KGNhdGVnb3J5LCB7IGxpbWl0LCBoYXNTdG9jazogdHJ1ZSwgZ2VuZGVyIH0pLFxuICAgICAgfSkpLFxuICAgIClcblxuICAgIHJldHVybiBob21lU2VjdGlvbnNcbiAgfVxuXG4gIGFzeW5jIG1vdW50Q2F0ZWdvcnkoXG4gICAgY2F0ZWdvcnk6IENhdGVnb3J5LFxuICAgIG9wdGlvbnM/OiB7IGxpbWl0PzogbnVtYmVyOyBoYXNTdG9jaz86IGJvb2xlYW47IGdlbmRlcj86IHN0cmluZyB9LFxuICApOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGlmICghY2F0ZWdvcnkucHJvZHVjdHMpIHRocm93IG5ldyBSZXF1aXJlZEFyZ3VtZW50RXJyb3IoWydDYXRlZ29yeSBwcm9kdWN0cyBpcyBlbXB0eSddKVxuXG4gICAgY29uc3QgY2h1bmtzID0gY2h1bmsoY2F0ZWdvcnkucHJvZHVjdHMsIDEwKVxuICAgIGNvbnN0IHByb2R1Y3RzID0gW11cblxuICAgIGZvciAoY29uc3QgcHJvZHVjdElkcyBvZiBjaHVua3MpIHtcbiAgICAgIGlmIChvcHRpb25zPy5saW1pdCAmJiBwcm9kdWN0cy5sZW5ndGggPj0gb3B0aW9ucz8ubGltaXQpIGJyZWFrXG5cbiAgICAgIGxldCBxdWVyeSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbigncHJvZHVjdHNFcnBWaXRyaW5lJylcbiAgICAgICAgLndoZXJlKCdwdWJsaXNoZWQnLCAnPT0nLCB0cnVlKVxuICAgICAgICAud2hlcmUoJ2lkJywgJ2luJywgcHJvZHVjdElkcylcblxuICAgICAgaWYgKG9wdGlvbnM/Lmhhc1N0b2NrKSBxdWVyeSA9IHF1ZXJ5LndoZXJlKCdzdG9jay5xdWFudGl0eScsICc+JywgMClcbiAgICAgIGlmIChvcHRpb25zPy5nZW5kZXIpIHF1ZXJ5ID0gcXVlcnkud2hlcmUoJ3RhZ3MnLCAnYXJyYXktY29udGFpbnMnLCBvcHRpb25zPy5nZW5kZXIpXG4gICAgICBpZiAob3B0aW9ucz8ubGltaXQpIHF1ZXJ5ID0gcXVlcnkubGltaXQob3B0aW9ucz8ubGltaXQpXG5cbiAgICAgIGNvbnN0IHByb2R1Y3RTbmFwID0gYXdhaXQgcXVlcnkuZ2V0KClcblxuICAgICAgaWYgKHByb2R1Y3RTbmFwLmVtcHR5KSBjb250aW51ZVxuXG4gICAgICBwcm9kdWN0cy5wdXNoKC4uLnByb2R1Y3RTbmFwLmRvY3MubWFwKChkb2MpID0+IGRvYy5kYXRhKCkpKVxuICAgIH1cblxuICAgIHJldHVybiBwcm9kdWN0c1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcnlCeVNob3Aoc2hvcDogc3RyaW5nKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBnZXRDaGlsZHJlbihwYXJlbnRJZDogbnVtYmVyKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpc0NoaWxkKGlkOiBudW1iZXIsIHBhcmVudElkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm5cbiAgfVxufVxuIl19