@infrab4a/connect 1.0.0-beta.0 → 1.0.0-beta.10

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 (915) hide show
  1. package/bundles/infrab4a-connect.umd.js +1574 -236
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category.d.ts +23 -0
  4. package/domain/catalog/models/enums/shops.enum.d.ts +5 -0
  5. package/domain/catalog/models/product.d.ts +36 -0
  6. package/domain/catalog/models/types/product-review.type.d.ts +15 -0
  7. package/domain/catalog/models/variant.d.ts +18 -0
  8. package/domain/catalog/repositories/category.repository.d.ts +15 -0
  9. package/domain/catalog/repositories/product.repository.d.ts +5 -0
  10. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -0
  11. package/domain/catalog/repositories/variant.repository.d.ts +4 -0
  12. package/domain/generic/model/base.model.d.ts +10 -0
  13. package/domain/generic/model/index.d.ts +3 -0
  14. package/domain/generic/model/types/base-model-builder.type.d.ts +15 -0
  15. package/domain/generic/model/types/identifier-model.type.d.ts +7 -0
  16. package/domain/generic/model/types/index.d.ts +5 -0
  17. package/domain/generic/model/types/model-base-structure.type.d.ts +6 -0
  18. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -0
  19. package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -0
  20. package/domain/generic/repository/create.repository.d.ts +8 -0
  21. package/domain/generic/repository/crud.repository.d.ts +19 -0
  22. package/domain/generic/repository/delete.repository.d.ts +7 -0
  23. package/domain/generic/repository/enums/where.enum.d.ts +13 -0
  24. package/domain/generic/repository/find.repository.d.ts +10 -0
  25. package/domain/generic/repository/get.repository.d.ts +5 -0
  26. package/domain/generic/repository/read.repository.d.ts +14 -0
  27. package/domain/generic/repository/types/index.d.ts +6 -0
  28. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -0
  29. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -0
  30. package/domain/generic/repository/types/where-options.type.d.ts +2 -0
  31. package/domain/generic/repository/update.repository.d.ts +6 -0
  32. package/domain/index.d.ts +6 -0
  33. package/domain/location/models/address.d.ts +22 -0
  34. package/domain/shop-settings/models/home.d.ts +17 -0
  35. package/domain/shop-settings/models/shop-menu.d.ts +7 -0
  36. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -0
  37. package/domain/shop-settings/models/types/index.d.ts +5 -0
  38. package/domain/shop-settings/repositories/home.repository.d.ts +4 -0
  39. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -0
  40. package/domain/shopping/models/buy-2-win.d.ts +16 -0
  41. package/domain/shopping/models/checkout.d.ts +27 -0
  42. package/domain/shopping/models/coupons/coupon.d.ts +26 -0
  43. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
  44. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
  45. package/domain/shopping/models/coupons/enums/index.d.ts +3 -0
  46. package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
  47. package/domain/shopping/models/coupons/index.d.ts +3 -0
  48. package/domain/shopping/models/payment.d.ts +67 -0
  49. package/domain/shopping/models/shipping-method.d.ts +16 -0
  50. package/domain/shopping/models/subscription/checkout.d.ts +21 -0
  51. package/domain/shopping/models/subscription/plan.d.ts +10 -0
  52. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -0
  53. package/domain/shopping/repositories/checkout.repository.d.ts +4 -0
  54. package/domain/shopping/repositories/coupon.repository.d.ts +4 -0
  55. package/domain/shopping/repositories/order.repository.d.ts +4 -0
  56. package/domain/shopping/repositories/payment.repository.d.ts +4 -0
  57. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -0
  58. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -0
  59. package/domain/users/models/beauty-profile.d.ts +11 -0
  60. package/domain/users/models/lead.d.ts +7 -0
  61. package/domain/users/models/subscription/edition.d.ts +16 -0
  62. package/domain/users/models/subscription/payment.d.ts +13 -0
  63. package/domain/users/models/subscription/subscription.d.ts +28 -0
  64. package/domain/users/models/user-address.d.ts +7 -0
  65. package/domain/users/models/user-payment-method.d.ts +14 -0
  66. package/domain/users/models/user.d.ts +26 -0
  67. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -0
  68. package/domain/users/repositories/edition.repository.d.ts +4 -0
  69. package/domain/users/repositories/lead.repository.d.ts +4 -0
  70. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -0
  71. package/domain/users/repositories/subscription.repository.d.ts +4 -0
  72. package/domain/users/repositories/user-address.repository.d.ts +4 -0
  73. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -0
  74. package/domain/users/repositories/user.repository.d.ts +6 -0
  75. package/domain/users/services/authentication.service.d.ts +12 -0
  76. package/domain/users/use-cases/index.d.ts +4 -0
  77. package/domain/users/use-cases/recovery-password.d.ts +6 -0
  78. package/esm2015/domain/catalog/index.js +3 -0
  79. package/esm2015/domain/catalog/models/category.js +10 -0
  80. package/esm2015/domain/catalog/models/enums/index.js +2 -0
  81. package/esm2015/domain/catalog/models/enums/shops.enum.js +7 -0
  82. package/esm2015/domain/catalog/models/index.js +6 -0
  83. package/esm2015/domain/catalog/models/product.js +14 -0
  84. package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -0
  85. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
  86. package/esm2015/domain/catalog/models/types/index.js +8 -0
  87. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -0
  88. package/esm2015/domain/catalog/models/types/shops-description.type.js +2 -0
  89. package/esm2015/domain/catalog/models/types/shops-price.type.js +2 -0
  90. package/esm2015/domain/catalog/models/types/stock.type.js +2 -0
  91. package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -0
  92. package/esm2015/domain/catalog/models/variant.js +10 -0
  93. package/esm2015/domain/catalog/repositories/category.repository.js +2 -0
  94. package/esm2015/domain/catalog/repositories/index.js +5 -0
  95. package/esm2015/domain/catalog/repositories/product.repository.js +2 -0
  96. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -0
  97. package/esm2015/domain/catalog/repositories/variant.repository.js +2 -0
  98. package/esm2015/domain/generic/index.js +3 -0
  99. package/esm2015/domain/generic/model/base.model.js +23 -0
  100. package/esm2015/domain/generic/model/identifier-fields.js +2 -0
  101. package/esm2015/domain/generic/model/index.js +4 -0
  102. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
  103. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
  104. package/esm2015/domain/generic/model/types/index.js +6 -0
  105. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
  106. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
  107. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
  108. package/esm2015/domain/generic/repository/create.repository.js +2 -0
  109. package/esm2015/domain/generic/repository/crud.repository.js +2 -0
  110. package/esm2015/domain/generic/repository/delete.repository.js +2 -0
  111. package/esm2015/domain/generic/repository/enums/index.js +3 -0
  112. package/esm2015/domain/generic/repository/enums/update-option-actions.enum.js +9 -0
  113. package/esm2015/domain/generic/repository/enums/where.enum.js +15 -0
  114. package/esm2015/domain/generic/repository/find.repository.js +2 -0
  115. package/esm2015/domain/generic/repository/get.repository.js +2 -0
  116. package/esm2015/domain/generic/repository/index.js +10 -0
  117. package/esm2015/domain/generic/repository/read.repository.js +2 -0
  118. package/esm2015/domain/generic/repository/types/index.js +7 -0
  119. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
  120. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -0
  121. package/esm2015/domain/generic/repository/types/repository-limit-options.type.js +2 -0
  122. package/esm2015/domain/generic/repository/types/repository-order-by-list.type.js +2 -0
  123. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
  124. package/esm2015/domain/generic/repository/types/where-options.type.js +2 -0
  125. package/esm2015/domain/generic/repository/update.repository.js +2 -0
  126. package/esm2015/domain/index.js +7 -0
  127. package/esm2015/domain/location/index.js +2 -0
  128. package/esm2015/domain/location/models/address.js +7 -0
  129. package/esm2015/domain/location/models/index.js +3 -0
  130. package/esm2015/domain/location/models/types/index.js +4 -0
  131. package/esm2015/domain/location/models/types/location-bound.type.js +2 -0
  132. package/esm2015/domain/location/models/types/location-geometry.type.js +2 -0
  133. package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -0
  134. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -0
  135. package/esm2015/domain/shop-settings/enums/index.js +3 -0
  136. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -0
  137. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -0
  138. package/esm2015/domain/shop-settings/helpers/index.js +2 -0
  139. package/esm2015/domain/shop-settings/index.js +5 -0
  140. package/esm2015/domain/shop-settings/models/home.js +7 -0
  141. package/esm2015/domain/shop-settings/models/index.js +4 -0
  142. package/esm2015/domain/shop-settings/models/shop-menu.js +7 -0
  143. package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -0
  144. package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -0
  145. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -0
  146. package/esm2015/domain/shop-settings/models/types/index.js +6 -0
  147. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -0
  148. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -0
  149. package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -0
  150. package/esm2015/domain/shop-settings/repositories/index.js +3 -0
  151. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -0
  152. package/esm2015/domain/shopping/index.js +3 -0
  153. package/esm2015/domain/shopping/models/buy-2-win.js +14 -0
  154. package/esm2015/domain/shopping/models/checkout.js +38 -0
  155. package/esm2015/domain/shopping/models/coupons/coupon.js +23 -0
  156. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
  157. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
  158. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +7 -0
  159. package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -0
  160. package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
  161. package/esm2015/domain/shopping/models/coupons/index.js +4 -0
  162. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +6 -0
  163. package/esm2015/domain/shopping/models/enums/index.js +3 -0
  164. package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -0
  165. package/esm2015/domain/shopping/models/index.js +12 -0
  166. package/esm2015/domain/shopping/models/line-item.js +4 -0
  167. package/esm2015/domain/shopping/models/order.js +11 -0
  168. package/esm2015/domain/shopping/models/payment.js +169 -0
  169. package/esm2015/domain/shopping/models/shipping-method.js +7 -0
  170. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -0
  171. package/esm2015/domain/shopping/models/subscription/index.js +3 -0
  172. package/esm2015/domain/shopping/models/subscription/plan.js +7 -0
  173. package/esm2015/domain/shopping/models/types/index.js +8 -0
  174. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -0
  175. package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -0
  176. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -0
  177. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -0
  178. package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -0
  179. package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -0
  180. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -0
  181. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -0
  182. package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -0
  183. package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -0
  184. package/esm2015/domain/shopping/repositories/index.js +8 -0
  185. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -0
  186. package/esm2015/domain/shopping/repositories/order.repository.js +2 -0
  187. package/esm2015/domain/shopping/repositories/payment.repository.js +2 -0
  188. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -0
  189. package/esm2015/domain/shopping/repositories/subscription/index.js +3 -0
  190. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -0
  191. package/esm2015/domain/users/errors/index.js +4 -0
  192. package/esm2015/domain/users/errors/unauthorized.error.js +7 -0
  193. package/esm2015/domain/users/errors/user-already-registered.error.js +7 -0
  194. package/esm2015/domain/users/errors/weak-password.error.js +7 -0
  195. package/esm2015/domain/users/index.js +6 -0
  196. package/esm2015/domain/users/models/beauty-profile.js +12 -0
  197. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -0
  198. package/esm2015/domain/users/models/enums/area.enum.js +13 -0
  199. package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -0
  200. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -0
  201. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -0
  202. package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -0
  203. package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -0
  204. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -0
  205. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -0
  206. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -0
  207. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -0
  208. package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -0
  209. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -0
  210. package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -0
  211. package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -0
  212. package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -0
  213. package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -0
  214. package/esm2015/domain/users/models/enums/index.js +21 -0
  215. package/esm2015/domain/users/models/enums/office-position.enum.js +8 -0
  216. package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -0
  217. package/esm2015/domain/users/models/enums/user-type.enum.js +10 -0
  218. package/esm2015/domain/users/models/index.js +8 -0
  219. package/esm2015/domain/users/models/lead.js +7 -0
  220. package/esm2015/domain/users/models/subscription/edition.js +7 -0
  221. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -0
  222. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -0
  223. package/esm2015/domain/users/models/subscription/enums/index.js +5 -0
  224. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -0
  225. package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -0
  226. package/esm2015/domain/users/models/subscription/index.js +5 -0
  227. package/esm2015/domain/users/models/subscription/payment.js +14 -0
  228. package/esm2015/domain/users/models/subscription/subscription.js +43 -0
  229. package/esm2015/domain/users/models/user-address.js +7 -0
  230. package/esm2015/domain/users/models/user-payment-method.js +7 -0
  231. package/esm2015/domain/users/models/user.js +26 -0
  232. package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -0
  233. package/esm2015/domain/users/repositories/edition.repository.js +2 -0
  234. package/esm2015/domain/users/repositories/index.js +9 -0
  235. package/esm2015/domain/users/repositories/lead.repository.js +2 -0
  236. package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -0
  237. package/esm2015/domain/users/repositories/subscription.repository.js +2 -0
  238. package/esm2015/domain/users/repositories/user-address.repository.js +2 -0
  239. package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -0
  240. package/esm2015/domain/users/repositories/user.repository.js +2 -0
  241. package/esm2015/domain/users/services/authentication.service.js +2 -0
  242. package/esm2015/domain/users/services/index.js +4 -0
  243. package/esm2015/domain/users/services/register.service.js +2 -0
  244. package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -0
  245. package/esm2015/domain/users/services/types/index.js +2 -0
  246. package/esm2015/domain/users/use-cases/authentication.js +40 -0
  247. package/esm2015/domain/users/use-cases/index.js +5 -0
  248. package/esm2015/domain/users/use-cases/recovery-password.js +12 -0
  249. package/esm2015/domain/users/use-cases/register.js +34 -0
  250. package/esm2015/domain/users/use-cases/signout.js +12 -0
  251. package/esm2015/errors/duplicated-results.error.js +7 -0
  252. package/esm2015/errors/index.js +5 -0
  253. package/esm2015/errors/invalid-argument.error.js +7 -0
  254. package/esm2015/errors/not-found.error.js +7 -0
  255. package/esm2015/errors/required-argument.error.js +8 -0
  256. package/esm2015/index.js +6 -0
  257. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +22 -0
  258. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -0
  259. package/esm2015/infra/elasticsearch/adapters/index.js +3 -0
  260. package/esm2015/infra/elasticsearch/index.js +4 -0
  261. package/esm2015/infra/elasticsearch/indexes/index.js +2 -0
  262. package/esm2015/infra/elasticsearch/indexes/products-index.js +59 -0
  263. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -0
  264. package/esm2015/infra/elasticsearch/types/index.js +2 -0
  265. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -0
  266. package/esm2015/infra/firebase/auth/index.js +3 -0
  267. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -0
  268. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -0
  269. package/esm2015/infra/firebase/firestore/index.js +4 -0
  270. package/esm2015/infra/firebase/firestore/mixins/index.js +10 -0
  271. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -0
  272. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
  273. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
  274. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +86 -0
  275. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +23 -0
  276. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
  277. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
  278. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -0
  279. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -0
  280. package/esm2015/infra/firebase/firestore/models/user-search.js +7 -0
  281. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +70 -0
  282. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -0
  283. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +25 -0
  284. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -0
  285. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -0
  286. package/esm2015/infra/firebase/firestore/repositories/index.js +5 -0
  287. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -0
  288. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +3 -0
  289. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -0
  290. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -0
  291. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -0
  292. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -0
  293. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -0
  294. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +9 -0
  295. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -0
  296. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +12 -0
  297. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -0
  298. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -0
  299. package/esm2015/infra/firebase/firestore/repositories/users/index.js +10 -0
  300. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -0
  301. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -0
  302. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -0
  303. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -0
  304. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -0
  305. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -0
  306. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +70 -0
  307. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -0
  308. package/esm2015/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +12 -0
  309. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
  310. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
  311. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
  312. package/esm2015/infra/firebase/firestore/types/index.js +4 -0
  313. package/esm2015/infra/firebase/index.js +3 -0
  314. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
  315. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +15 -0
  316. package/esm2015/infra/hasura-graphql/enums/index.js +3 -0
  317. package/esm2015/infra/hasura-graphql/index.js +4 -0
  318. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +32 -0
  319. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +18 -0
  320. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +74 -0
  321. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +4 -0
  322. package/esm2015/infra/hasura-graphql/mixins/index.js +8 -0
  323. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +27 -0
  324. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
  325. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
  326. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +86 -0
  327. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +34 -0
  328. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
  329. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +53 -0
  330. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
  331. package/esm2015/infra/hasura-graphql/models/index.js +4 -0
  332. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +4 -0
  333. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
  334. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +107 -0
  335. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
  336. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +108 -0
  337. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +61 -0
  338. package/esm2015/infra/hasura-graphql/repositories/index.js +2 -0
  339. package/esm2015/infra/hasura-graphql/types/fields.type.js +2 -0
  340. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
  341. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
  342. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
  343. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
  344. package/esm2015/infra/hasura-graphql/types/index.js +9 -0
  345. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +2 -0
  346. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
  347. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +2 -0
  348. package/esm2015/infra/index.js +4 -0
  349. package/esm2015/infrab4a-connect.js +2 -2
  350. package/esm2015/utils/index.js +8 -0
  351. package/esm2015/utils/is-uuid.js +3 -0
  352. package/esm2015/utils/mixins/base.mixin.js +6 -0
  353. package/esm2015/utils/mixins/index.js +4 -0
  354. package/esm2015/utils/mixins/merge-constructor-params.type.js +2 -0
  355. package/esm2015/utils/mixins/mixin-ctor.type.js +2 -0
  356. package/esm2015/utils/parse-datetime.js +14 -0
  357. package/esm2015/utils/types/array-element.type.js +2 -0
  358. package/esm2015/utils/types/index.js +3 -0
  359. package/esm2015/utils/types/prop.type.js +2 -0
  360. package/fesm2015/infrab4a-connect.js +1036 -141
  361. package/fesm2015/infrab4a-connect.js.map +1 -1
  362. package/index.d.ts +5 -0
  363. package/infra/elasticsearch/adapters/axios.adapter.d.ts +11 -0
  364. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +4 -0
  365. package/infra/elasticsearch/adapters/index.d.ts +2 -0
  366. package/infra/elasticsearch/index.d.ts +3 -0
  367. package/infra/elasticsearch/indexes/index.d.ts +1 -0
  368. package/infra/elasticsearch/indexes/products-index.d.ts +11 -0
  369. package/infra/elasticsearch/types/elastic-search-result.d.ts +7 -0
  370. package/infra/elasticsearch/types/index.d.ts +1 -0
  371. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -0
  372. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -0
  373. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -0
  374. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -0
  375. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -0
  376. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -0
  377. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -0
  378. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -0
  379. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -0
  380. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -0
  381. package/infra/firebase/firestore/models/user-search.d.ts +9 -0
  382. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +17 -0
  383. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +9 -0
  384. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -0
  385. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -0
  386. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -0
  387. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -0
  388. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -0
  389. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -0
  390. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -0
  391. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -0
  392. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +8 -0
  393. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -0
  394. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -0
  395. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -0
  396. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -0
  397. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -0
  398. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -0
  399. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -0
  400. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -0
  401. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +19 -0
  402. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -0
  403. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +9 -0
  404. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -0
  405. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -0
  406. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +12 -0
  407. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -0
  408. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -0
  409. package/infra/hasura-graphql/enums/index.d.ts +2 -0
  410. package/infra/hasura-graphql/index.d.ts +3 -0
  411. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +17 -0
  412. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
  413. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
  414. package/infra/hasura-graphql/mixins/helpers/index.d.ts +3 -0
  415. package/infra/hasura-graphql/mixins/index.d.ts +7 -0
  416. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -0
  417. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -0
  418. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -0
  419. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +30 -0
  420. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -0
  421. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -0
  422. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -0
  423. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -0
  424. package/infra/hasura-graphql/models/index.d.ts +3 -0
  425. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +7 -0
  426. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
  427. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +22 -0
  428. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
  429. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +11 -0
  430. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +10 -0
  431. package/infra/hasura-graphql/repositories/index.d.ts +1 -0
  432. package/infra/hasura-graphql/types/fields.type.d.ts +2 -0
  433. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -0
  434. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -0
  435. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +42 -0
  436. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
  437. package/infra/hasura-graphql/types/index.d.ts +8 -0
  438. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -0
  439. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -0
  440. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -0
  441. package/infra/index.d.ts +3 -0
  442. package/infrab4a-connect.d.ts +1 -1
  443. package/package.json +4 -1
  444. package/utils/index.d.ts +7 -0
  445. package/utils/is-uuid.d.ts +1 -0
  446. package/utils/mixins/index.d.ts +3 -0
  447. package/utils/mixins/merge-constructor-params.type.d.ts +3 -0
  448. package/utils/mixins/mixin-ctor.type.d.ts +1 -0
  449. package/utils/parse-datetime.d.ts +1 -0
  450. package/utils/types/array-element.type.d.ts +1 -0
  451. package/utils/types/index.d.ts +2 -0
  452. package/esm2015/lib/domain/catalog/index.js +0 -3
  453. package/esm2015/lib/domain/catalog/models/category.js +0 -7
  454. package/esm2015/lib/domain/catalog/models/enums/index.js +0 -2
  455. package/esm2015/lib/domain/catalog/models/enums/shops.enum.js +0 -6
  456. package/esm2015/lib/domain/catalog/models/index.js +0 -6
  457. package/esm2015/lib/domain/catalog/models/product.js +0 -11
  458. package/esm2015/lib/domain/catalog/models/types/category-condition.type.js +0 -2
  459. package/esm2015/lib/domain/catalog/models/types/category-filter.type.js +0 -2
  460. package/esm2015/lib/domain/catalog/models/types/index.js +0 -8
  461. package/esm2015/lib/domain/catalog/models/types/product-review.type.js +0 -2
  462. package/esm2015/lib/domain/catalog/models/types/shops-description.type.js +0 -2
  463. package/esm2015/lib/domain/catalog/models/types/shops-price.type.js +0 -2
  464. package/esm2015/lib/domain/catalog/models/types/stock.type.js +0 -2
  465. package/esm2015/lib/domain/catalog/models/types/variant-grade.type.js +0 -2
  466. package/esm2015/lib/domain/catalog/models/variant.js +0 -7
  467. package/esm2015/lib/domain/catalog/repositories/category.repository.js +0 -2
  468. package/esm2015/lib/domain/catalog/repositories/index.js +0 -5
  469. package/esm2015/lib/domain/catalog/repositories/product.repository.js +0 -2
  470. package/esm2015/lib/domain/catalog/repositories/subscription-product.repository.js +0 -2
  471. package/esm2015/lib/domain/catalog/repositories/variant.repository.js +0 -2
  472. package/esm2015/lib/domain/general/index.js +0 -3
  473. package/esm2015/lib/domain/general/model/base-model-with-identifier-fields.js +0 -2
  474. package/esm2015/lib/domain/general/model/base.model.js +0 -13
  475. package/esm2015/lib/domain/general/model/identifier-fields.js +0 -2
  476. package/esm2015/lib/domain/general/model/index.js +0 -5
  477. package/esm2015/lib/domain/general/model/types/base-model-builder.type.js +0 -2
  478. package/esm2015/lib/domain/general/model/types/index.js +0 -4
  479. package/esm2015/lib/domain/general/model/types/non-function-properties.type.js +0 -2
  480. package/esm2015/lib/domain/general/model/types/non-function-property-name.type.js +0 -2
  481. package/esm2015/lib/domain/general/repository/create.repository.js +0 -2
  482. package/esm2015/lib/domain/general/repository/crud.repository.js +0 -2
  483. package/esm2015/lib/domain/general/repository/delete.repository.js +0 -2
  484. package/esm2015/lib/domain/general/repository/enums/index.js +0 -3
  485. package/esm2015/lib/domain/general/repository/enums/update-option-actions.enum.js +0 -9
  486. package/esm2015/lib/domain/general/repository/enums/where.enum.js +0 -12
  487. package/esm2015/lib/domain/general/repository/find.repository.js +0 -2
  488. package/esm2015/lib/domain/general/repository/get.repository.js +0 -2
  489. package/esm2015/lib/domain/general/repository/index.js +0 -10
  490. package/esm2015/lib/domain/general/repository/read.repository.js +0 -2
  491. package/esm2015/lib/domain/general/repository/types/index.js +0 -6
  492. package/esm2015/lib/domain/general/repository/types/repository-find-filters.type.js +0 -2
  493. package/esm2015/lib/domain/general/repository/types/repository-find-result.type.js +0 -2
  494. package/esm2015/lib/domain/general/repository/types/repository-limit-options.type.js +0 -2
  495. package/esm2015/lib/domain/general/repository/types/repository-order-by-list.type.js +0 -2
  496. package/esm2015/lib/domain/general/repository/types/repository-update-params.type.js +0 -2
  497. package/esm2015/lib/domain/general/repository/update.repository.js +0 -2
  498. package/esm2015/lib/domain/index.js +0 -7
  499. package/esm2015/lib/domain/location/index.js +0 -2
  500. package/esm2015/lib/domain/location/models/address.js +0 -4
  501. package/esm2015/lib/domain/location/models/index.js +0 -3
  502. package/esm2015/lib/domain/location/models/types/index.js +0 -4
  503. package/esm2015/lib/domain/location/models/types/location-bound.type.js +0 -2
  504. package/esm2015/lib/domain/location/models/types/location-geometry.type.js +0 -2
  505. package/esm2015/lib/domain/location/models/types/location-lat-lng.type.js +0 -2
  506. package/esm2015/lib/domain/shop-settings/enums/filter-type.enum.js +0 -21
  507. package/esm2015/lib/domain/shop-settings/enums/index.js +0 -3
  508. package/esm2015/lib/domain/shop-settings/enums/questions-filters.enum.js +0 -21
  509. package/esm2015/lib/domain/shop-settings/helpers/beauty-questions.helper.js +0 -46
  510. package/esm2015/lib/domain/shop-settings/helpers/index.js +0 -2
  511. package/esm2015/lib/domain/shop-settings/index.js +0 -5
  512. package/esm2015/lib/domain/shop-settings/models/home.js +0 -7
  513. package/esm2015/lib/domain/shop-settings/models/index.js +0 -4
  514. package/esm2015/lib/domain/shop-settings/models/shop-menu.js +0 -7
  515. package/esm2015/lib/domain/shop-settings/models/types/banner.type.js +0 -2
  516. package/esm2015/lib/domain/shop-settings/models/types/benefit.type.js +0 -2
  517. package/esm2015/lib/domain/shop-settings/models/types/index.js +0 -5
  518. package/esm2015/lib/domain/shop-settings/models/types/menu-nav.type.js +0 -2
  519. package/esm2015/lib/domain/shop-settings/models/types/sub-menu.type.js +0 -2
  520. package/esm2015/lib/domain/shop-settings/repositories/home.repository.js +0 -2
  521. package/esm2015/lib/domain/shop-settings/repositories/index.js +0 -3
  522. package/esm2015/lib/domain/shop-settings/repositories/shop-menu.repository.js +0 -2
  523. package/esm2015/lib/domain/shopping/index.js +0 -3
  524. package/esm2015/lib/domain/shopping/models/buy-2-win.js +0 -14
  525. package/esm2015/lib/domain/shopping/models/checkout.js +0 -38
  526. package/esm2015/lib/domain/shopping/models/coupons/club-coupon.js +0 -23
  527. package/esm2015/lib/domain/shopping/models/coupons/coupon.js +0 -23
  528. package/esm2015/lib/domain/shopping/models/coupons/enums/discount-type.enum.js +0 -7
  529. package/esm2015/lib/domain/shopping/models/coupons/enums/exclusivities.enum.js +0 -7
  530. package/esm2015/lib/domain/shopping/models/coupons/enums/index.js +0 -3
  531. package/esm2015/lib/domain/shopping/models/coupons/index.js +0 -5
  532. package/esm2015/lib/domain/shopping/models/coupons/store-coupon.js +0 -23
  533. package/esm2015/lib/domain/shopping/models/enums/checkout-types.enum.js +0 -6
  534. package/esm2015/lib/domain/shopping/models/enums/index.js +0 -3
  535. package/esm2015/lib/domain/shopping/models/enums/order-status.enum.js +0 -12
  536. package/esm2015/lib/domain/shopping/models/index.js +0 -12
  537. package/esm2015/lib/domain/shopping/models/line-item.js +0 -4
  538. package/esm2015/lib/domain/shopping/models/order.js +0 -11
  539. package/esm2015/lib/domain/shopping/models/payment.js +0 -169
  540. package/esm2015/lib/domain/shopping/models/shipping-method.js +0 -7
  541. package/esm2015/lib/domain/shopping/models/subscription/checkout.js +0 -28
  542. package/esm2015/lib/domain/shopping/models/subscription/index.js +0 -3
  543. package/esm2015/lib/domain/shopping/models/subscription/plan.js +0 -7
  544. package/esm2015/lib/domain/shopping/models/types/index.js +0 -8
  545. package/esm2015/lib/domain/shopping/models/types/payment-address.type.js +0 -2
  546. package/esm2015/lib/domain/shopping/models/types/payment-billing.type.js +0 -2
  547. package/esm2015/lib/domain/shopping/models/types/payment-card.type.js +0 -2
  548. package/esm2015/lib/domain/shopping/models/types/payment-customer.type.js +0 -2
  549. package/esm2015/lib/domain/shopping/models/types/payment-document.type.js +0 -2
  550. package/esm2015/lib/domain/shopping/models/types/payment-item.type.js +0 -2
  551. package/esm2015/lib/domain/shopping/models/types/payment-shipping.type.js +0 -2
  552. package/esm2015/lib/domain/shopping/repositories/buy-2-win.repository.js +0 -2
  553. package/esm2015/lib/domain/shopping/repositories/checkout.repository.js +0 -2
  554. package/esm2015/lib/domain/shopping/repositories/coupon.repository.js +0 -2
  555. package/esm2015/lib/domain/shopping/repositories/index.js +0 -8
  556. package/esm2015/lib/domain/shopping/repositories/legacy-order.repository.js +0 -2
  557. package/esm2015/lib/domain/shopping/repositories/order.repository.js +0 -2
  558. package/esm2015/lib/domain/shopping/repositories/payment.repository.js +0 -2
  559. package/esm2015/lib/domain/shopping/repositories/subscription/checkout.repository.js +0 -2
  560. package/esm2015/lib/domain/shopping/repositories/subscription/index.js +0 -3
  561. package/esm2015/lib/domain/shopping/repositories/subscription/plan.repository.js +0 -2
  562. package/esm2015/lib/domain/users/errors/index.js +0 -4
  563. package/esm2015/lib/domain/users/errors/unauthorized.error.js +0 -7
  564. package/esm2015/lib/domain/users/errors/user-already-registered.error.js +0 -7
  565. package/esm2015/lib/domain/users/errors/weak-password.error.js +0 -7
  566. package/esm2015/lib/domain/users/index.js +0 -6
  567. package/esm2015/lib/domain/users/models/beauty-profile.js +0 -12
  568. package/esm2015/lib/domain/users/models/enums/accessory-importances.enum.js +0 -7
  569. package/esm2015/lib/domain/users/models/enums/area.enum.js +0 -13
  570. package/esm2015/lib/domain/users/models/enums/beard-problems.enum.js +0 -11
  571. package/esm2015/lib/domain/users/models/enums/beard-sizes.enum.js +0 -9
  572. package/esm2015/lib/domain/users/models/enums/beauty-product-importances.enum.js +0 -8
  573. package/esm2015/lib/domain/users/models/enums/body-problems.enum.js +0 -13
  574. package/esm2015/lib/domain/users/models/enums/body-shapes.enum.js +0 -9
  575. package/esm2015/lib/domain/users/models/enums/body-tattoos.enum.js +0 -7
  576. package/esm2015/lib/domain/users/models/enums/face-skin-oilinesses.enum.js +0 -9
  577. package/esm2015/lib/domain/users/models/enums/face-skin-problems.enum.js +0 -12
  578. package/esm2015/lib/domain/users/models/enums/face-skin-tones.enum.js +0 -10
  579. package/esm2015/lib/domain/users/models/enums/family-incomes.enum.js +0 -10
  580. package/esm2015/lib/domain/users/models/enums/fragrance-importances.enum.js +0 -7
  581. package/esm2015/lib/domain/users/models/enums/hair-colors.enum.js +0 -12
  582. package/esm2015/lib/domain/users/models/enums/hair-problems.enum.js +0 -12
  583. package/esm2015/lib/domain/users/models/enums/hair-strands.enum.js +0 -10
  584. package/esm2015/lib/domain/users/models/enums/hair-types.enum.js +0 -9
  585. package/esm2015/lib/domain/users/models/enums/index.js +0 -21
  586. package/esm2015/lib/domain/users/models/enums/office-position.enum.js +0 -8
  587. package/esm2015/lib/domain/users/models/enums/product-spents.enum.js +0 -10
  588. package/esm2015/lib/domain/users/models/enums/user-type.enum.js +0 -10
  589. package/esm2015/lib/domain/users/models/index.js +0 -8
  590. package/esm2015/lib/domain/users/models/lead.js +0 -7
  591. package/esm2015/lib/domain/users/models/subscription/edition.js +0 -7
  592. package/esm2015/lib/domain/users/models/subscription/enums/billing-status.enum.js +0 -5
  593. package/esm2015/lib/domain/users/models/subscription/enums/edition-status.enum.js +0 -6
  594. package/esm2015/lib/domain/users/models/subscription/enums/index.js +0 -5
  595. package/esm2015/lib/domain/users/models/subscription/enums/payment-type.enum.js +0 -7
  596. package/esm2015/lib/domain/users/models/subscription/enums/status.enum.js +0 -6
  597. package/esm2015/lib/domain/users/models/subscription/index.js +0 -5
  598. package/esm2015/lib/domain/users/models/subscription/payment.js +0 -14
  599. package/esm2015/lib/domain/users/models/subscription/subscription.js +0 -43
  600. package/esm2015/lib/domain/users/models/user-address.js +0 -7
  601. package/esm2015/lib/domain/users/models/user-payment-method.js +0 -7
  602. package/esm2015/lib/domain/users/models/user.js +0 -26
  603. package/esm2015/lib/domain/users/repositories/beauty-profile.repository.js +0 -2
  604. package/esm2015/lib/domain/users/repositories/edition.repository.js +0 -2
  605. package/esm2015/lib/domain/users/repositories/index.js +0 -9
  606. package/esm2015/lib/domain/users/repositories/lead.repository.js +0 -2
  607. package/esm2015/lib/domain/users/repositories/subscription-payment.repository.js +0 -2
  608. package/esm2015/lib/domain/users/repositories/subscription.repository.js +0 -2
  609. package/esm2015/lib/domain/users/repositories/user-address.repository.js +0 -2
  610. package/esm2015/lib/domain/users/repositories/user-payment-method.repository.js +0 -2
  611. package/esm2015/lib/domain/users/repositories/user.repository.js +0 -2
  612. package/esm2015/lib/domain/users/services/authentication.service.js +0 -2
  613. package/esm2015/lib/domain/users/services/index.js +0 -4
  614. package/esm2015/lib/domain/users/services/register.service.js +0 -2
  615. package/esm2015/lib/domain/users/services/types/basic-user-data.type.js +0 -2
  616. package/esm2015/lib/domain/users/services/types/index.js +0 -2
  617. package/esm2015/lib/domain/users/use-cases/authentication.js +0 -40
  618. package/esm2015/lib/domain/users/use-cases/index.js +0 -4
  619. package/esm2015/lib/domain/users/use-cases/register.js +0 -34
  620. package/esm2015/lib/domain/users/use-cases/signout.js +0 -12
  621. package/esm2015/lib/errors/duplicated-results.error.js +0 -7
  622. package/esm2015/lib/errors/index.js +0 -5
  623. package/esm2015/lib/errors/invalid-argument.error.js +0 -7
  624. package/esm2015/lib/errors/not-found.error.js +0 -7
  625. package/esm2015/lib/errors/required-argument.error.js +0 -8
  626. package/esm2015/lib/index.js +0 -5
  627. package/esm2015/lib/infra/firebase/auth/authentication-firebase-auth.service.js +0 -47
  628. package/esm2015/lib/infra/firebase/auth/index.js +0 -3
  629. package/esm2015/lib/infra/firebase/auth/register-firebase-auth.service.js +0 -26
  630. package/esm2015/lib/infra/firebase/auth/types/firebase-user-with-id.type.js +0 -2
  631. package/esm2015/lib/infra/firebase/firestore/index.js +0 -4
  632. package/esm2015/lib/infra/firebase/firestore/mixins/index.js +0 -10
  633. package/esm2015/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +0 -31
  634. package/esm2015/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +0 -10
  635. package/esm2015/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +0 -18
  636. package/esm2015/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +0 -76
  637. package/esm2015/lib/infra/firebase/firestore/mixins/with-firestore.mixin.js +0 -26
  638. package/esm2015/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +0 -24
  639. package/esm2015/lib/infra/firebase/firestore/mixins/with-helpers.mixin.js +0 -17
  640. package/esm2015/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +0 -11
  641. package/esm2015/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +0 -45
  642. package/esm2015/lib/infra/firebase/firestore/models/user-search.js +0 -7
  643. package/esm2015/lib/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +0 -78
  644. package/esm2015/lib/infra/firebase/firestore/repositories/catalog/index.js +0 -5
  645. package/esm2015/lib/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +0 -23
  646. package/esm2015/lib/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +0 -14
  647. package/esm2015/lib/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +0 -12
  648. package/esm2015/lib/infra/firebase/firestore/repositories/index.js +0 -5
  649. package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +0 -12
  650. package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/index.js +0 -3
  651. package/esm2015/lib/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +0 -12
  652. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +0 -12
  653. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +0 -12
  654. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +0 -12
  655. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +0 -39
  656. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/index.js +0 -9
  657. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +0 -9
  658. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +0 -12
  659. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +0 -12
  660. package/esm2015/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +0 -12
  661. package/esm2015/lib/infra/firebase/firestore/repositories/users/index.js +0 -10
  662. package/esm2015/lib/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +0 -12
  663. package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +0 -14
  664. package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +0 -12
  665. package/esm2015/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +0 -14
  666. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +0 -14
  667. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +0 -14
  668. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.js +0 -70
  669. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +0 -14
  670. package/esm2015/lib/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +0 -12
  671. package/esm2015/lib/infra/firebase/firestore/types/firestore-sub.repository.type.js +0 -2
  672. package/esm2015/lib/infra/firebase/firestore/types/firestore.helpers.type.js +0 -2
  673. package/esm2015/lib/infra/firebase/firestore/types/firestore.repository.type.js +0 -2
  674. package/esm2015/lib/infra/firebase/firestore/types/index.js +0 -4
  675. package/esm2015/lib/infra/firebase/index.js +0 -3
  676. package/esm2015/lib/infra/index.js +0 -2
  677. package/esm2015/lib/utils/index.js +0 -5
  678. package/esm2015/lib/utils/mixins/base.mixin.js +0 -6
  679. package/esm2015/lib/utils/mixins/index.js +0 -3
  680. package/esm2015/lib/utils/mixins/mixin-ctor.type.js +0 -2
  681. package/esm2015/lib/utils/types/index.js +0 -2
  682. package/esm2015/lib/utils/types/prop.type.js +0 -2
  683. package/esm2015/public-api.js +0 -3
  684. package/lib/domain/catalog/models/category.d.ts +0 -22
  685. package/lib/domain/catalog/models/enums/shops.enum.d.ts +0 -4
  686. package/lib/domain/catalog/models/product.d.ts +0 -33
  687. package/lib/domain/catalog/models/types/product-review.type.d.ts +0 -14
  688. package/lib/domain/catalog/models/variant.d.ts +0 -14
  689. package/lib/domain/catalog/repositories/category.repository.d.ts +0 -12
  690. package/lib/domain/catalog/repositories/product.repository.d.ts +0 -5
  691. package/lib/domain/catalog/repositories/subscription-product.repository.d.ts +0 -4
  692. package/lib/domain/catalog/repositories/variant.repository.d.ts +0 -4
  693. package/lib/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
  694. package/lib/domain/general/model/base.model.d.ts +0 -6
  695. package/lib/domain/general/model/index.d.ts +0 -4
  696. package/lib/domain/general/model/types/base-model-builder.type.d.ts +0 -5
  697. package/lib/domain/general/model/types/index.d.ts +0 -3
  698. package/lib/domain/general/model/types/non-function-properties.type.d.ts +0 -2
  699. package/lib/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
  700. package/lib/domain/general/repository/create.repository.d.ts +0 -5
  701. package/lib/domain/general/repository/crud.repository.d.ts +0 -7
  702. package/lib/domain/general/repository/delete.repository.d.ts +0 -5
  703. package/lib/domain/general/repository/enums/where.enum.d.ts +0 -10
  704. package/lib/domain/general/repository/find.repository.d.ts +0 -5
  705. package/lib/domain/general/repository/get.repository.d.ts +0 -5
  706. package/lib/domain/general/repository/read.repository.d.ts +0 -5
  707. package/lib/domain/general/repository/types/index.d.ts +0 -5
  708. package/lib/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
  709. package/lib/domain/general/repository/types/repository-update-params.type.d.ts +0 -11
  710. package/lib/domain/general/repository/update.repository.d.ts +0 -5
  711. package/lib/domain/index.d.ts +0 -6
  712. package/lib/domain/location/models/address.d.ts +0 -21
  713. package/lib/domain/shop-settings/models/home.d.ts +0 -17
  714. package/lib/domain/shop-settings/models/shop-menu.d.ts +0 -7
  715. package/lib/domain/shop-settings/models/types/index.d.ts +0 -4
  716. package/lib/domain/shop-settings/repositories/home.repository.d.ts +0 -4
  717. package/lib/domain/shop-settings/repositories/shop-menu.repository.d.ts +0 -4
  718. package/lib/domain/shopping/models/buy-2-win.d.ts +0 -18
  719. package/lib/domain/shopping/models/checkout.d.ts +0 -28
  720. package/lib/domain/shopping/models/coupons/club-coupon.d.ts +0 -9
  721. package/lib/domain/shopping/models/coupons/coupon.d.ts +0 -27
  722. package/lib/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +0 -5
  723. package/lib/domain/shopping/models/coupons/enums/index.d.ts +0 -2
  724. package/lib/domain/shopping/models/coupons/index.d.ts +0 -4
  725. package/lib/domain/shopping/models/coupons/store-coupon.d.ts +0 -8
  726. package/lib/domain/shopping/models/payment.d.ts +0 -69
  727. package/lib/domain/shopping/models/shipping-method.d.ts +0 -18
  728. package/lib/domain/shopping/models/subscription/checkout.d.ts +0 -23
  729. package/lib/domain/shopping/models/subscription/plan.d.ts +0 -12
  730. package/lib/domain/shopping/repositories/buy-2-win.repository.d.ts +0 -4
  731. package/lib/domain/shopping/repositories/checkout.repository.d.ts +0 -4
  732. package/lib/domain/shopping/repositories/coupon.repository.d.ts +0 -4
  733. package/lib/domain/shopping/repositories/order.repository.d.ts +0 -4
  734. package/lib/domain/shopping/repositories/payment.repository.d.ts +0 -4
  735. package/lib/domain/shopping/repositories/subscription/checkout.repository.d.ts +0 -4
  736. package/lib/domain/shopping/repositories/subscription/plan.repository.d.ts +0 -4
  737. package/lib/domain/users/models/beauty-profile.d.ts +0 -12
  738. package/lib/domain/users/models/lead.d.ts +0 -9
  739. package/lib/domain/users/models/subscription/edition.d.ts +0 -15
  740. package/lib/domain/users/models/subscription/payment.d.ts +0 -14
  741. package/lib/domain/users/models/subscription/subscription.d.ts +0 -30
  742. package/lib/domain/users/models/user-address.d.ts +0 -7
  743. package/lib/domain/users/models/user-payment-method.d.ts +0 -13
  744. package/lib/domain/users/models/user.d.ts +0 -24
  745. package/lib/domain/users/repositories/beauty-profile.repository.d.ts +0 -4
  746. package/lib/domain/users/repositories/edition.repository.d.ts +0 -4
  747. package/lib/domain/users/repositories/lead.repository.d.ts +0 -4
  748. package/lib/domain/users/repositories/subscription-payment.repository.d.ts +0 -4
  749. package/lib/domain/users/repositories/subscription.repository.d.ts +0 -4
  750. package/lib/domain/users/repositories/user-address.repository.d.ts +0 -4
  751. package/lib/domain/users/repositories/user-payment-method.repository.d.ts +0 -4
  752. package/lib/domain/users/repositories/user.repository.d.ts +0 -6
  753. package/lib/domain/users/services/authentication.service.d.ts +0 -11
  754. package/lib/domain/users/use-cases/index.d.ts +0 -3
  755. package/lib/index.d.ts +0 -4
  756. package/lib/infra/firebase/auth/authentication-firebase-auth.service.d.ts +0 -11
  757. package/lib/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +0 -17
  758. package/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +0 -29
  759. package/lib/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +0 -15
  760. package/lib/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +0 -20
  761. package/lib/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +0 -15
  762. package/lib/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +0 -15
  763. package/lib/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +0 -10
  764. package/lib/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +0 -14
  765. package/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +0 -16
  766. package/lib/infra/firebase/firestore/models/user-search.d.ts +0 -9
  767. package/lib/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +0 -55
  768. package/lib/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +0 -50
  769. package/lib/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +0 -60
  770. package/lib/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +0 -49
  771. package/lib/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +0 -49
  772. package/lib/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +0 -49
  773. package/lib/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +0 -49
  774. package/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +0 -49
  775. package/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +0 -49
  776. package/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +0 -53
  777. package/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +0 -49
  778. package/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +0 -49
  779. package/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +0 -49
  780. package/lib/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +0 -49
  781. package/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +0 -60
  782. package/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +0 -49
  783. package/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +0 -60
  784. package/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +0 -60
  785. package/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +0 -60
  786. package/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +0 -60
  787. package/lib/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +0 -60
  788. package/lib/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +0 -50
  789. package/lib/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +0 -6
  790. package/lib/infra/firebase/firestore/types/firestore.helpers.type.d.ts +0 -8
  791. package/lib/infra/firebase/firestore/types/firestore.repository.type.d.ts +0 -8
  792. package/lib/infra/index.d.ts +0 -1
  793. package/lib/utils/index.d.ts +0 -4
  794. package/lib/utils/mixins/index.d.ts +0 -2
  795. package/lib/utils/mixins/mixin-ctor.type.d.ts +0 -1
  796. package/lib/utils/types/index.d.ts +0 -1
  797. package/public-api.d.ts +0 -2
  798. /package/{lib/domain → domain}/catalog/index.d.ts +0 -0
  799. /package/{lib/domain → domain}/catalog/models/enums/index.d.ts +0 -0
  800. /package/{lib/domain → domain}/catalog/models/index.d.ts +0 -0
  801. /package/{lib/domain → domain}/catalog/models/types/category-condition.type.d.ts +0 -0
  802. /package/{lib/domain → domain}/catalog/models/types/category-filter.type.d.ts +0 -0
  803. /package/{lib/domain → domain}/catalog/models/types/index.d.ts +0 -0
  804. /package/{lib/domain → domain}/catalog/models/types/shops-description.type.d.ts +0 -0
  805. /package/{lib/domain → domain}/catalog/models/types/shops-price.type.d.ts +0 -0
  806. /package/{lib/domain → domain}/catalog/models/types/stock.type.d.ts +0 -0
  807. /package/{lib/domain → domain}/catalog/models/types/variant-grade.type.d.ts +0 -0
  808. /package/{lib/domain → domain}/catalog/repositories/index.d.ts +0 -0
  809. /package/{lib/domain/general → domain/generic}/index.d.ts +0 -0
  810. /package/{lib/domain/general → domain/generic}/model/identifier-fields.d.ts +0 -0
  811. /package/{lib/domain/general → domain/generic}/repository/enums/index.d.ts +0 -0
  812. /package/{lib/domain/general → domain/generic}/repository/enums/update-option-actions.enum.d.ts +0 -0
  813. /package/{lib/domain/general → domain/generic}/repository/index.d.ts +0 -0
  814. /package/{lib/domain/general → domain/generic}/repository/types/repository-find-result.type.d.ts +0 -0
  815. /package/{lib/domain/general → domain/generic}/repository/types/repository-limit-options.type.d.ts +0 -0
  816. /package/{lib/domain/general → domain/generic}/repository/types/repository-order-by-list.type.d.ts +0 -0
  817. /package/{lib/domain → domain}/location/index.d.ts +0 -0
  818. /package/{lib/domain → domain}/location/models/index.d.ts +0 -0
  819. /package/{lib/domain → domain}/location/models/types/index.d.ts +0 -0
  820. /package/{lib/domain → domain}/location/models/types/location-bound.type.d.ts +0 -0
  821. /package/{lib/domain → domain}/location/models/types/location-geometry.type.d.ts +0 -0
  822. /package/{lib/domain → domain}/location/models/types/location-lat-lng.type.d.ts +0 -0
  823. /package/{lib/domain → domain}/shop-settings/enums/filter-type.enum.d.ts +0 -0
  824. /package/{lib/domain → domain}/shop-settings/enums/index.d.ts +0 -0
  825. /package/{lib/domain → domain}/shop-settings/enums/questions-filters.enum.d.ts +0 -0
  826. /package/{lib/domain → domain}/shop-settings/helpers/beauty-questions.helper.d.ts +0 -0
  827. /package/{lib/domain → domain}/shop-settings/helpers/index.d.ts +0 -0
  828. /package/{lib/domain → domain}/shop-settings/index.d.ts +0 -0
  829. /package/{lib/domain → domain}/shop-settings/models/index.d.ts +0 -0
  830. /package/{lib/domain → domain}/shop-settings/models/types/banner.type.d.ts +0 -0
  831. /package/{lib/domain → domain}/shop-settings/models/types/benefit.type.d.ts +0 -0
  832. /package/{lib/domain → domain}/shop-settings/models/types/menu-nav.type.d.ts +0 -0
  833. /package/{lib/domain → domain}/shop-settings/models/types/sub-menu.type.d.ts +0 -0
  834. /package/{lib/domain → domain}/shop-settings/repositories/index.d.ts +0 -0
  835. /package/{lib/domain → domain}/shopping/index.d.ts +0 -0
  836. /package/{lib/domain → domain}/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -0
  837. /package/{lib/domain → domain}/shopping/models/enums/checkout-types.enum.d.ts +0 -0
  838. /package/{lib/domain → domain}/shopping/models/enums/index.d.ts +0 -0
  839. /package/{lib/domain → domain}/shopping/models/enums/order-status.enum.d.ts +0 -0
  840. /package/{lib/domain → domain}/shopping/models/index.d.ts +0 -0
  841. /package/{lib/domain → domain}/shopping/models/line-item.d.ts +0 -0
  842. /package/{lib/domain → domain}/shopping/models/order.d.ts +0 -0
  843. /package/{lib/domain → domain}/shopping/models/subscription/index.d.ts +0 -0
  844. /package/{lib/domain → domain}/shopping/models/types/index.d.ts +0 -0
  845. /package/{lib/domain → domain}/shopping/models/types/payment-address.type.d.ts +0 -0
  846. /package/{lib/domain → domain}/shopping/models/types/payment-billing.type.d.ts +0 -0
  847. /package/{lib/domain → domain}/shopping/models/types/payment-card.type.d.ts +0 -0
  848. /package/{lib/domain → domain}/shopping/models/types/payment-customer.type.d.ts +0 -0
  849. /package/{lib/domain → domain}/shopping/models/types/payment-document.type.d.ts +0 -0
  850. /package/{lib/domain → domain}/shopping/models/types/payment-item.type.d.ts +0 -0
  851. /package/{lib/domain → domain}/shopping/models/types/payment-shipping.type.d.ts +0 -0
  852. /package/{lib/domain → domain}/shopping/repositories/index.d.ts +0 -0
  853. /package/{lib/domain → domain}/shopping/repositories/legacy-order.repository.d.ts +0 -0
  854. /package/{lib/domain → domain}/shopping/repositories/subscription/index.d.ts +0 -0
  855. /package/{lib/domain → domain}/users/errors/index.d.ts +0 -0
  856. /package/{lib/domain → domain}/users/errors/unauthorized.error.d.ts +0 -0
  857. /package/{lib/domain → domain}/users/errors/user-already-registered.error.d.ts +0 -0
  858. /package/{lib/domain → domain}/users/errors/weak-password.error.d.ts +0 -0
  859. /package/{lib/domain → domain}/users/index.d.ts +0 -0
  860. /package/{lib/domain → domain}/users/models/enums/accessory-importances.enum.d.ts +0 -0
  861. /package/{lib/domain → domain}/users/models/enums/area.enum.d.ts +0 -0
  862. /package/{lib/domain → domain}/users/models/enums/beard-problems.enum.d.ts +0 -0
  863. /package/{lib/domain → domain}/users/models/enums/beard-sizes.enum.d.ts +0 -0
  864. /package/{lib/domain → domain}/users/models/enums/beauty-product-importances.enum.d.ts +0 -0
  865. /package/{lib/domain → domain}/users/models/enums/body-problems.enum.d.ts +0 -0
  866. /package/{lib/domain → domain}/users/models/enums/body-shapes.enum.d.ts +0 -0
  867. /package/{lib/domain → domain}/users/models/enums/body-tattoos.enum.d.ts +0 -0
  868. /package/{lib/domain → domain}/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -0
  869. /package/{lib/domain → domain}/users/models/enums/face-skin-problems.enum.d.ts +0 -0
  870. /package/{lib/domain → domain}/users/models/enums/face-skin-tones.enum.d.ts +0 -0
  871. /package/{lib/domain → domain}/users/models/enums/family-incomes.enum.d.ts +0 -0
  872. /package/{lib/domain → domain}/users/models/enums/fragrance-importances.enum.d.ts +0 -0
  873. /package/{lib/domain → domain}/users/models/enums/hair-colors.enum.d.ts +0 -0
  874. /package/{lib/domain → domain}/users/models/enums/hair-problems.enum.d.ts +0 -0
  875. /package/{lib/domain → domain}/users/models/enums/hair-strands.enum.d.ts +0 -0
  876. /package/{lib/domain → domain}/users/models/enums/hair-types.enum.d.ts +0 -0
  877. /package/{lib/domain → domain}/users/models/enums/index.d.ts +0 -0
  878. /package/{lib/domain → domain}/users/models/enums/office-position.enum.d.ts +0 -0
  879. /package/{lib/domain → domain}/users/models/enums/product-spents.enum.d.ts +0 -0
  880. /package/{lib/domain → domain}/users/models/enums/user-type.enum.d.ts +0 -0
  881. /package/{lib/domain → domain}/users/models/index.d.ts +0 -0
  882. /package/{lib/domain → domain}/users/models/subscription/enums/billing-status.enum.d.ts +0 -0
  883. /package/{lib/domain → domain}/users/models/subscription/enums/edition-status.enum.d.ts +0 -0
  884. /package/{lib/domain → domain}/users/models/subscription/enums/index.d.ts +0 -0
  885. /package/{lib/domain → domain}/users/models/subscription/enums/payment-type.enum.d.ts +0 -0
  886. /package/{lib/domain → domain}/users/models/subscription/enums/status.enum.d.ts +0 -0
  887. /package/{lib/domain → domain}/users/models/subscription/index.d.ts +0 -0
  888. /package/{lib/domain → domain}/users/repositories/index.d.ts +0 -0
  889. /package/{lib/domain → domain}/users/services/index.d.ts +0 -0
  890. /package/{lib/domain → domain}/users/services/register.service.d.ts +0 -0
  891. /package/{lib/domain → domain}/users/services/types/basic-user-data.type.d.ts +0 -0
  892. /package/{lib/domain → domain}/users/services/types/index.d.ts +0 -0
  893. /package/{lib/domain → domain}/users/use-cases/authentication.d.ts +0 -0
  894. /package/{lib/domain → domain}/users/use-cases/register.d.ts +0 -0
  895. /package/{lib/domain → domain}/users/use-cases/signout.d.ts +0 -0
  896. /package/{lib/errors → errors}/duplicated-results.error.d.ts +0 -0
  897. /package/{lib/errors → errors}/index.d.ts +0 -0
  898. /package/{lib/errors → errors}/invalid-argument.error.d.ts +0 -0
  899. /package/{lib/errors → errors}/not-found.error.d.ts +0 -0
  900. /package/{lib/errors → errors}/required-argument.error.d.ts +0 -0
  901. /package/{lib/infra → infra}/firebase/auth/index.d.ts +0 -0
  902. /package/{lib/infra → infra}/firebase/auth/register-firebase-auth.service.d.ts +0 -0
  903. /package/{lib/infra → infra}/firebase/auth/types/firebase-user-with-id.type.d.ts +0 -0
  904. /package/{lib/infra → infra}/firebase/firestore/index.d.ts +0 -0
  905. /package/{lib/infra → infra}/firebase/firestore/mixins/index.d.ts +0 -0
  906. /package/{lib/infra → infra}/firebase/firestore/repositories/catalog/index.d.ts +0 -0
  907. /package/{lib/infra → infra}/firebase/firestore/repositories/index.d.ts +0 -0
  908. /package/{lib/infra → infra}/firebase/firestore/repositories/shop-settings/index.d.ts +0 -0
  909. /package/{lib/infra → infra}/firebase/firestore/repositories/shopping/index.d.ts +0 -0
  910. /package/{lib/infra → infra}/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -0
  911. /package/{lib/infra → infra}/firebase/firestore/repositories/users/index.d.ts +0 -0
  912. /package/{lib/infra → infra}/firebase/firestore/types/index.d.ts +0 -0
  913. /package/{lib/infra → infra}/firebase/index.d.ts +0 -0
  914. /package/{lib/utils → utils}/mixins/base.mixin.d.ts +0 -0
  915. /package/{lib/utils → utils}/types/prop.type.d.ts +0 -0
@@ -1,23 +1,47 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('reflect-metadata'), require('class-transformer'), require('lodash'), require('firebase'), require('firebase/app')) :
3
- typeof define === 'function' && define.amd ? define('@infrab4a/connect', ['exports', 'reflect-metadata', 'class-transformer', 'lodash', 'firebase', 'firebase/app'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.infrab4a = global.infrab4a || {}, global.infrab4a.connect = {}), null, global["class-transformer"], global.lodash, global.firebase, global.firebase$1));
5
- })(this, (function (exports, reflectMetadata, classTransformer, lodash, firebase, firebase$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('reflect-metadata'), require('class-transformer'), require('date-fns'), require('lodash'), require('ts-md5'), require('axios'), require('firebase'), require('firebase/app'), require('gql-query-builder'), require('node-fetch')) :
3
+ typeof define === 'function' && define.amd ? define('@infrab4a/connect', ['exports', 'reflect-metadata', 'class-transformer', 'date-fns', 'lodash', 'ts-md5', 'axios', 'firebase', 'firebase/app', 'gql-query-builder', 'node-fetch'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.infrab4a = global.infrab4a || {}, global.infrab4a.connect = {}), null, global["class-transformer"], global["date-fns"], global.lodash, global.tsMd5, global.axios, global.firebase, global.firebase$1, global["gql-query-builder"], global.fetch));
5
+ })(this, (function (exports, reflectMetadata, classTransformer, dateFns, lodash, tsMd5, axios, firebase, firebase$1, gqlQueryBuilder, fetch) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
9
10
  var firebase__default = /*#__PURE__*/_interopDefaultLegacy(firebase);
10
11
  var firebase__default$1 = /*#__PURE__*/_interopDefaultLegacy(firebase$1);
12
+ var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
11
13
 
12
14
  var BaseModel = /** @class */ (function () {
13
15
  function BaseModel(args) {
14
16
  Object.assign(this, args);
15
17
  }
18
+ Object.defineProperty(BaseModel.prototype, "identifier", {
19
+ get: function () {
20
+ var _this = this;
21
+ var fields = this.constructor.identifiersFields.filter(function (field) { return field !== 'identifier'; });
22
+ return fields.reduce(function (object, field) {
23
+ var _a;
24
+ return (Object.assign(Object.assign({}, object), (_a = {}, _a[field] = _this[field], _a)));
25
+ }, {});
26
+ },
27
+ enumerable: false,
28
+ configurable: true
29
+ });
30
+ Object.defineProperty(BaseModel.prototype, "identifiersFields", {
31
+ get: function () {
32
+ return this.constructor.identifiersFields;
33
+ },
34
+ enumerable: false,
35
+ configurable: true
36
+ });
16
37
  BaseModel.toInstance = function (data) {
17
- return classTransformer.plainToClass(this, data);
38
+ return classTransformer.plainToClass(this, data || {});
39
+ };
40
+ BaseModel.isModel = function (value) {
41
+ return value instanceof this;
18
42
  };
19
43
  BaseModel.prototype.toPlain = function () {
20
- return classTransformer.classToPlain(this, { exposeUnsetFields: false });
44
+ return classTransformer.classToPlain(this);
21
45
  };
22
46
  return BaseModel;
23
47
  }());
@@ -25,13 +49,16 @@
25
49
  exports.Where = void 0;
26
50
  (function (Where) {
27
51
  Where["EQUALS"] = "==";
28
- Where["NOTEQUALS"] = "!=";
29
52
  Where["GT"] = ">";
30
53
  Where["GTE"] = ">=";
31
54
  Where["IN"] = "in";
55
+ Where["NOTIN"] = "not in";
32
56
  Where["LT"] = "<";
33
57
  Where["LTE"] = "<=";
34
58
  Where["LIKE"] = "like";
59
+ Where["NOTLIKE"] = "not like";
60
+ Where["ISNULL"] = "is null";
61
+ Where["ISNOTNULL"] = "is not null";
35
62
  })(exports.Where || (exports.Where = {}));
36
63
 
37
64
  exports.UpdateOptionActions = void 0;
@@ -586,9 +613,13 @@
586
613
  function Edition() {
587
614
  return _super !== null && _super.apply(this, arguments) || this;
588
615
  }
589
- Edition.prototype.identifierFields = function () {
590
- return ['id'];
591
- };
616
+ Object.defineProperty(Edition, "identifiersFields", {
617
+ get: function () {
618
+ return ['id', 'subscriptionId'];
619
+ },
620
+ enumerable: false,
621
+ configurable: true
622
+ });
592
623
  return Edition;
593
624
  }(BaseModel));
594
625
 
@@ -597,9 +628,13 @@
597
628
  function Payment() {
598
629
  return _super !== null && _super.apply(this, arguments) || this;
599
630
  }
600
- Payment.prototype.identifierFields = function () {
601
- return ['id'];
602
- };
631
+ Object.defineProperty(Payment, "identifiersFields", {
632
+ get: function () {
633
+ return ['id'];
634
+ },
635
+ enumerable: false,
636
+ configurable: true
637
+ });
603
638
  return Payment;
604
639
  }(BaseModel));
605
640
  __decorate([
@@ -768,9 +803,13 @@
768
803
  function SubscriptionPayment() {
769
804
  return _super !== null && _super.apply(this, arguments) || this;
770
805
  }
771
- SubscriptionPayment.prototype.identifierFields = function () {
772
- return ['id'];
773
- };
806
+ Object.defineProperty(SubscriptionPayment, "identifiersFields", {
807
+ get: function () {
808
+ return ['id', 'subscriptionId'];
809
+ },
810
+ enumerable: false,
811
+ configurable: true
812
+ });
774
813
  return SubscriptionPayment;
775
814
  }(BaseModel));
776
815
  __decorate([
@@ -783,6 +822,13 @@
783
822
  function Address() {
784
823
  return _super !== null && _super.apply(this, arguments) || this;
785
824
  }
825
+ Object.defineProperty(Address, "identifiersFields", {
826
+ get: function () {
827
+ return ['id'];
828
+ },
829
+ enumerable: false,
830
+ configurable: true
831
+ });
786
832
  return Address;
787
833
  }(BaseModel));
788
834
 
@@ -797,6 +843,20 @@
797
843
  return Base;
798
844
  }());
799
845
 
846
+ var isUUID = function (value) { return lodash.isString(value) && /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/.test(value); };
847
+
848
+ var parseDateTime = function (value) {
849
+ if (!lodash.isString(value))
850
+ return value;
851
+ if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value) &&
852
+ !/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T\d{2}:\d{2}:\d{2}/.test(value))
853
+ return value;
854
+ var date = dateFns.parseISO(value);
855
+ if (isNaN(date.getTime()))
856
+ return value;
857
+ return date;
858
+ };
859
+
800
860
  var Coupon = /** @class */ (function (_super) {
801
861
  __extends(Coupon, _super);
802
862
  function Coupon() {
@@ -809,9 +869,13 @@
809
869
  enumerable: false,
810
870
  configurable: true
811
871
  });
812
- Coupon.prototype.identifierFields = function () {
813
- return ['id'];
814
- };
872
+ Object.defineProperty(Coupon, "identifiersFields", {
873
+ get: function () {
874
+ return ['id'];
875
+ },
876
+ enumerable: false,
877
+ configurable: true
878
+ });
815
879
  return Coupon;
816
880
  }(BaseModel));
817
881
  __decorate([
@@ -828,9 +892,13 @@
828
892
  function SubscriptionPlan() {
829
893
  return _super !== null && _super.apply(this, arguments) || this;
830
894
  }
831
- SubscriptionPlan.prototype.identifierFields = function () {
832
- return ['id'];
833
- };
895
+ Object.defineProperty(SubscriptionPlan, "identifiersFields", {
896
+ get: function () {
897
+ return ['id'];
898
+ },
899
+ enumerable: false,
900
+ configurable: true
901
+ });
834
902
  return SubscriptionPlan;
835
903
  }(BaseModel));
836
904
 
@@ -844,9 +912,13 @@
844
912
  delete plain.id;
845
913
  return plain;
846
914
  };
847
- BeautyProfile.prototype.identifierFields = function () {
848
- return ['id'];
849
- };
915
+ Object.defineProperty(BeautyProfile, "identifiersFields", {
916
+ get: function () {
917
+ return ['id', 'userId'];
918
+ },
919
+ enumerable: false,
920
+ configurable: true
921
+ });
850
922
  return BeautyProfile;
851
923
  }(BaseModel));
852
924
 
@@ -861,14 +933,18 @@
861
933
  instance.displayName = "" + data.firstName + (!lodash.isNil(data.lastName) ? " " + data.lastName : '');
862
934
  return instance;
863
935
  };
864
- User.prototype.identifierFields = function () {
865
- return ['id'];
866
- };
867
936
  User.prototype.toPlain = function () {
868
937
  var plain = _super.prototype.toPlain.call(this);
869
938
  delete plain.beautyProfile;
870
939
  return plain;
871
940
  };
941
+ Object.defineProperty(User, "identifiersFields", {
942
+ get: function () {
943
+ return ['id'];
944
+ },
945
+ enumerable: false,
946
+ configurable: true
947
+ });
872
948
  return User;
873
949
  }(BaseModel));
874
950
  __decorate([
@@ -881,9 +957,13 @@
881
957
  function Subscription() {
882
958
  return _super !== null && _super.apply(this, arguments) || this;
883
959
  }
884
- Subscription.prototype.identifierFields = function () {
885
- return ['id'];
886
- };
960
+ Object.defineProperty(Subscription, "identifiersFields", {
961
+ get: function () {
962
+ return ['id'];
963
+ },
964
+ enumerable: false,
965
+ configurable: true
966
+ });
887
967
  return Subscription;
888
968
  }(BaseModel));
889
969
  __decorate([
@@ -920,9 +1000,13 @@
920
1000
  function UserAddress() {
921
1001
  return _super !== null && _super.apply(this, arguments) || this;
922
1002
  }
923
- UserAddress.prototype.identifierFields = function () {
924
- return ['id'];
925
- };
1003
+ Object.defineProperty(UserAddress, "identifiersFields", {
1004
+ get: function () {
1005
+ return ['id', 'userId'];
1006
+ },
1007
+ enumerable: false,
1008
+ configurable: true
1009
+ });
926
1010
  return UserAddress;
927
1011
  }(Address));
928
1012
 
@@ -931,9 +1015,13 @@
931
1015
  function UserPaymentMethod() {
932
1016
  return _super !== null && _super.apply(this, arguments) || this;
933
1017
  }
934
- UserPaymentMethod.prototype.identifierFields = function () {
935
- return ['id'];
936
- };
1018
+ Object.defineProperty(UserPaymentMethod, "identifiersFields", {
1019
+ get: function () {
1020
+ return ['id', 'userId'];
1021
+ },
1022
+ enumerable: false,
1023
+ configurable: true
1024
+ });
937
1025
  return UserPaymentMethod;
938
1026
  }(BaseModel));
939
1027
 
@@ -942,9 +1030,13 @@
942
1030
  function Lead() {
943
1031
  return _super !== null && _super.apply(this, arguments) || this;
944
1032
  }
945
- Lead.prototype.identifierFields = function () {
946
- return ['id'];
947
- };
1033
+ Object.defineProperty(Lead, "identifiersFields", {
1034
+ get: function () {
1035
+ return ['id'];
1036
+ },
1037
+ enumerable: false,
1038
+ configurable: true
1039
+ });
948
1040
  return Lead;
949
1041
  }(BaseModel));
950
1042
 
@@ -1044,11 +1136,11 @@
1044
1136
  return [4 /*yield*/, this.userRepository.checkIfExistsByField('cpf', params.cpf)];
1045
1137
  case 1:
1046
1138
  if (_a.sent())
1047
- throw new UserAlreadyRegisteredError("User with CPF " + params.cpf + " already registered");
1139
+ throw new UserAlreadyRegisteredError("Usu\u00E1rio com CPF " + params.cpf + " j\u00E1 registrado.");
1048
1140
  return [4 /*yield*/, this.userRepository.checkIfExistsByField('email', params.email)];
1049
1141
  case 2:
1050
1142
  if (_a.sent())
1051
- throw new UserAlreadyRegisteredError("User with E-mail " + params.email + " already registered");
1143
+ throw new UserAlreadyRegisteredError("Usu\u00E1rio com e-mail " + params.email + " j\u00E1 registrado.");
1052
1144
  return [4 /*yield*/, this.registerService.register({
1053
1145
  birthday: params.birthday,
1054
1146
  email: email,
@@ -1093,10 +1185,30 @@
1093
1185
  return SignOut;
1094
1186
  }());
1095
1187
 
1188
+ var RecoveryPassword = /** @class */ (function () {
1189
+ function RecoveryPassword(authService) {
1190
+ this.authService = authService;
1191
+ }
1192
+ RecoveryPassword.prototype.sendEmail = function (email) {
1193
+ return __awaiter(this, void 0, void 0, function () {
1194
+ return __generator(this, function (_a) {
1195
+ switch (_a.label) {
1196
+ case 0: return [4 /*yield*/, this.authService.sendPasswordResetEmail(email)];
1197
+ case 1:
1198
+ _a.sent();
1199
+ return [2 /*return*/];
1200
+ }
1201
+ });
1202
+ });
1203
+ };
1204
+ return RecoveryPassword;
1205
+ }());
1206
+
1096
1207
  exports.Shops = void 0;
1097
1208
  (function (Shops) {
1098
1209
  Shops["MENSMARKET"] = "mensmarket";
1099
1210
  Shops["GLAMSHOP"] = "Glamshop";
1211
+ Shops["GLAMPOINTS"] = "Glampoints";
1100
1212
  })(exports.Shops || (exports.Shops = {}));
1101
1213
 
1102
1214
  var Category = /** @class */ (function (_super) {
@@ -1107,6 +1219,13 @@
1107
1219
  Category.prototype.identifierFields = function () {
1108
1220
  return ['id'];
1109
1221
  };
1222
+ Object.defineProperty(Category, "identifiersFields", {
1223
+ get: function () {
1224
+ return ['id'];
1225
+ },
1226
+ enumerable: false,
1227
+ configurable: true
1228
+ });
1110
1229
  return Category;
1111
1230
  }(BaseModel));
1112
1231
 
@@ -1122,6 +1241,13 @@
1122
1241
  var _a, _b, _c, _d, _e, _f;
1123
1242
  return Object.assign(Object.assign(Object.assign({}, (((_b = (_a = this.description) === null || _a === void 0 ? void 0 : _a[shop]) === null || _b === void 0 ? void 0 : _b.description) ? { description: (_d = (_c = this.description) === null || _c === void 0 ? void 0 : _c[shop]) === null || _d === void 0 ? void 0 : _d.description } : {})), (((_e = this.price) === null || _e === void 0 ? void 0 : _e[shop]) || {})), (((_f = this.stock) === null || _f === void 0 ? void 0 : _f[shop]) || {}));
1124
1243
  };
1244
+ Object.defineProperty(Product, "identifiersFields", {
1245
+ get: function () {
1246
+ return ['id'];
1247
+ },
1248
+ enumerable: false,
1249
+ configurable: true
1250
+ });
1125
1251
  return Product;
1126
1252
  }(BaseModel));
1127
1253
 
@@ -1133,15 +1259,29 @@
1133
1259
  Variant.prototype.identifierFields = function () {
1134
1260
  return ['id'];
1135
1261
  };
1262
+ Object.defineProperty(Variant, "identifiersFields", {
1263
+ get: function () {
1264
+ return ['id', 'productId'];
1265
+ },
1266
+ enumerable: false,
1267
+ configurable: true
1268
+ });
1136
1269
  return Variant;
1137
1270
  }(BaseModel));
1138
1271
 
1139
- exports.DiscountType = void 0;
1140
- (function (DiscountType) {
1141
- DiscountType[DiscountType["ABSOLUTE"] = 1] = "ABSOLUTE";
1142
- DiscountType[DiscountType["PERCENTAGE"] = 2] = "PERCENTAGE";
1143
- DiscountType[DiscountType["FREE_SHIPPING"] = 3] = "FREE_SHIPPING";
1144
- })(exports.DiscountType || (exports.DiscountType = {}));
1272
+ exports.CouponTypes = void 0;
1273
+ (function (CouponTypes) {
1274
+ CouponTypes[CouponTypes["FINANCIAL"] = 1] = "FINANCIAL";
1275
+ CouponTypes[CouponTypes["PRODUCT"] = 2] = "PRODUCT";
1276
+ CouponTypes[CouponTypes["GIFTCARD"] = 3] = "GIFTCARD";
1277
+ CouponTypes[CouponTypes["VOUCHER"] = 4] = "VOUCHER";
1278
+ })(exports.CouponTypes || (exports.CouponTypes = {}));
1279
+
1280
+ exports.CouponSubtypes = void 0;
1281
+ (function (CouponSubtypes) {
1282
+ CouponSubtypes[CouponSubtypes["ABSOLUTE"] = 1] = "ABSOLUTE";
1283
+ CouponSubtypes[CouponSubtypes["PERCENTAGE"] = 2] = "PERCENTAGE";
1284
+ })(exports.CouponSubtypes || (exports.CouponSubtypes = {}));
1145
1285
 
1146
1286
  exports.Exclusivities = void 0;
1147
1287
  (function (Exclusivities) {
@@ -1156,47 +1296,32 @@
1156
1296
  CheckoutTypes[CheckoutTypes["SUBSCRIPTION"] = 2] = "SUBSCRIPTION";
1157
1297
  })(exports.CheckoutTypes || (exports.CheckoutTypes = {}));
1158
1298
 
1159
- var ClubCoupon = /** @class */ (function (_super) {
1160
- __extends(ClubCoupon, _super);
1161
- function ClubCoupon() {
1299
+ var COUPON_EXPIRATION = 60 * 60 * 24 * 30;
1300
+ var FinancialCoupon = /** @class */ (function (_super) {
1301
+ __extends(FinancialCoupon, _super);
1302
+ function FinancialCoupon() {
1162
1303
  var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1163
- _this.checkoutType = exports.CheckoutTypes.SUBSCRIPTION;
1304
+ _this.type = exports.CouponTypes.FINANCIAL;
1164
1305
  return _this;
1165
1306
  }
1166
- ClubCoupon.isClubCoupon = function (coupon) {
1167
- return coupon instanceof ClubCoupon;
1307
+ FinancialCoupon.isFinancialCoupon = function (coupon) {
1308
+ return coupon.type === exports.CouponTypes.FINANCIAL && !!coupon.subtype;
1168
1309
  };
1169
- return ClubCoupon;
1170
- }(Coupon));
1171
- __decorate([
1172
- classTransformer.Expose({ name: 'checkout_type' }),
1173
- __metadata("design:type", Object)
1174
- ], ClubCoupon.prototype, "checkoutType", void 0);
1175
- __decorate([
1176
- classTransformer.Type(function () { return Category; }),
1177
- __metadata("design:type", Array)
1178
- ], ClubCoupon.prototype, "categories", void 0);
1179
-
1180
- var StoreCoupon = /** @class */ (function (_super) {
1181
- __extends(StoreCoupon, _super);
1182
- function StoreCoupon() {
1183
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1184
- _this.checkoutType = exports.CheckoutTypes.ECOMMERCE;
1185
- return _this;
1186
- }
1187
- StoreCoupon.isStoreCoupon = function (coupon) {
1188
- return coupon instanceof StoreCoupon;
1310
+ FinancialCoupon.createCoupon = function (userId) {
1311
+ return this.toInstance({
1312
+ name: tsMd5.Md5.hashStr(userId + "_" + Date.now).toString(),
1313
+ nickname: "" + Date.now(),
1314
+ type: exports.CouponTypes.FINANCIAL,
1315
+ subtype: exports.CouponSubtypes.PERCENTAGE,
1316
+ checkoutType: exports.CheckoutTypes.ECOMMERCE,
1317
+ discount: 30,
1318
+ user: userId,
1319
+ createdAt: new Date(Date.now()),
1320
+ expiresIn: new Date(Date.now() + COUPON_EXPIRATION),
1321
+ });
1189
1322
  };
1190
- return StoreCoupon;
1323
+ return FinancialCoupon;
1191
1324
  }(Coupon));
1192
- __decorate([
1193
- classTransformer.Expose({ name: 'checkout_type' }),
1194
- __metadata("design:type", Object)
1195
- ], StoreCoupon.prototype, "checkoutType", void 0);
1196
- __decorate([
1197
- classTransformer.Type(function () { return Category; }),
1198
- __metadata("design:type", Array)
1199
- ], StoreCoupon.prototype, "categories", void 0);
1200
1325
 
1201
1326
  exports.OrderStatus = void 0;
1202
1327
  (function (OrderStatus) {
@@ -1223,9 +1348,13 @@
1223
1348
  function ShippingMethod() {
1224
1349
  return _super !== null && _super.apply(this, arguments) || this;
1225
1350
  }
1226
- ShippingMethod.prototype.identifierFields = function () {
1227
- return ['id'];
1228
- };
1351
+ Object.defineProperty(ShippingMethod, "identifiersFields", {
1352
+ get: function () {
1353
+ return ['id'];
1354
+ },
1355
+ enumerable: false,
1356
+ configurable: true
1357
+ });
1229
1358
  return ShippingMethod;
1230
1359
  }(BaseModel));
1231
1360
 
@@ -1234,9 +1363,13 @@
1234
1363
  function Checkout() {
1235
1364
  return _super !== null && _super.apply(this, arguments) || this;
1236
1365
  }
1237
- Checkout.prototype.identifierFields = function () {
1238
- return ['id'];
1239
- };
1366
+ Object.defineProperty(Checkout, "identifiersFields", {
1367
+ get: function () {
1368
+ return ['id'];
1369
+ },
1370
+ enumerable: false,
1371
+ configurable: true
1372
+ });
1240
1373
  return Checkout;
1241
1374
  }(BaseModel));
1242
1375
  __decorate([
@@ -1281,9 +1414,13 @@
1281
1414
  function CheckoutSubscription() {
1282
1415
  return _super !== null && _super.apply(this, arguments) || this;
1283
1416
  }
1284
- CheckoutSubscription.prototype.identifierFields = function () {
1285
- return ['id'];
1286
- };
1417
+ Object.defineProperty(CheckoutSubscription, "identifiersFields", {
1418
+ get: function () {
1419
+ return ['id'];
1420
+ },
1421
+ enumerable: false,
1422
+ configurable: true
1423
+ });
1287
1424
  return CheckoutSubscription;
1288
1425
  }(BaseModel));
1289
1426
  __decorate([
@@ -1308,9 +1445,13 @@
1308
1445
  function Buy2Win() {
1309
1446
  return _super !== null && _super.apply(this, arguments) || this;
1310
1447
  }
1311
- Buy2Win.prototype.identifierFields = function () {
1312
- return ['id'];
1313
- };
1448
+ Object.defineProperty(Buy2Win, "identifiersFields", {
1449
+ get: function () {
1450
+ return ['id'];
1451
+ },
1452
+ enumerable: false,
1453
+ configurable: true
1454
+ });
1314
1455
  return Buy2Win;
1315
1456
  }(BaseModel));
1316
1457
  __decorate([
@@ -1412,9 +1553,13 @@
1412
1553
  function Home() {
1413
1554
  return _super !== null && _super.apply(this, arguments) || this;
1414
1555
  }
1415
- Home.prototype.identifierFields = function () {
1416
- return ['id'];
1417
- };
1556
+ Object.defineProperty(Home, "identifiersFields", {
1557
+ get: function () {
1558
+ return ['id'];
1559
+ },
1560
+ enumerable: false,
1561
+ configurable: true
1562
+ });
1418
1563
  return Home;
1419
1564
  }(BaseModel));
1420
1565
 
@@ -1423,9 +1568,13 @@
1423
1568
  function ShopMenu() {
1424
1569
  return _super !== null && _super.apply(this, arguments) || this;
1425
1570
  }
1426
- ShopMenu.prototype.identifierFields = function () {
1427
- return ['id'];
1428
- };
1571
+ Object.defineProperty(ShopMenu, "identifiersFields", {
1572
+ get: function () {
1573
+ return ['id'];
1574
+ },
1575
+ enumerable: false,
1576
+ configurable: true
1577
+ });
1429
1578
  return ShopMenu;
1430
1579
  }(BaseModel));
1431
1580
 
@@ -1470,15 +1619,105 @@
1470
1619
  return DuplicatedResultsError;
1471
1620
  }(Error));
1472
1621
 
1622
+ var AxiosAdapter = /** @class */ (function () {
1623
+ function AxiosAdapter(config) {
1624
+ this.config = config;
1625
+ }
1626
+ AxiosAdapter.prototype.query = function (index, query) {
1627
+ return __awaiter(this, void 0, void 0, function () {
1628
+ var data;
1629
+ return __generator(this, function (_a) {
1630
+ switch (_a.label) {
1631
+ case 0: return [4 /*yield*/, axios__default["default"]({
1632
+ url: this.config.url + "/" + index,
1633
+ method: 'POST',
1634
+ headers: { Authorization: "Basic " + this.config.credential },
1635
+ data: query,
1636
+ })];
1637
+ case 1:
1638
+ data = (_a.sent()).data;
1639
+ return [2 /*return*/, {
1640
+ total: data.hits.total.value,
1641
+ hits: data.hits.hits,
1642
+ }];
1643
+ }
1644
+ });
1645
+ });
1646
+ };
1647
+ return AxiosAdapter;
1648
+ }());
1649
+
1650
+ var ProductsIndex = /** @class */ (function () {
1651
+ function ProductsIndex(adapter) {
1652
+ this.adapter = adapter;
1653
+ }
1654
+ ProductsIndex.prototype.findById = function (ids, options) {
1655
+ return __awaiter(this, void 0, void 0, function () {
1656
+ var publishedField, fields, hits;
1657
+ var _a;
1658
+ return __generator(this, function (_b) {
1659
+ switch (_b.label) {
1660
+ case 0:
1661
+ publishedField = options.shop === exports.Shops.GLAMSHOP ? 'publishedGlam' : 'published';
1662
+ fields = [
1663
+ 'brand',
1664
+ 'id',
1665
+ 'images',
1666
+ 'miniatures',
1667
+ 'name',
1668
+ 'price',
1669
+ 'sku',
1670
+ 'stock',
1671
+ 'slug',
1672
+ 'reviews',
1673
+ 'pricePaid',
1674
+ 'isGift',
1675
+ 'stock',
1676
+ 'weight',
1677
+ 'tags',
1678
+ 'hasVariants',
1679
+ ];
1680
+ return [4 /*yield*/, this.adapter.query('products/_search', Object.assign({ _source: fields, query: {
1681
+ bool: {
1682
+ filter: __spreadArray([
1683
+ {
1684
+ terms: {
1685
+ _id: ids,
1686
+ },
1687
+ },
1688
+ {
1689
+ term: (_a = {},
1690
+ _a[publishedField] = true,
1691
+ _a),
1692
+ }
1693
+ ], __read((options.hasStock
1694
+ ? [
1695
+ {
1696
+ range: {
1697
+ 'stock.quantity': {
1698
+ gt: 0,
1699
+ },
1700
+ },
1701
+ },
1702
+ ]
1703
+ : []))),
1704
+ },
1705
+ } }, (options.size ? { size: options.size } : {})))];
1706
+ case 1:
1707
+ hits = (_b.sent()).hits;
1708
+ return [2 /*return*/, hits.map(function (hit) { return Product.toInstance(hit._source); })];
1709
+ }
1710
+ });
1711
+ });
1712
+ };
1713
+ return ProductsIndex;
1714
+ }());
1715
+
1473
1716
  var withFirestore = function (MixinBase) {
1474
1717
  return /** @class */ (function (_super) {
1475
1718
  __extends(class_1, _super);
1476
1719
  function class_1() {
1477
- var args = [];
1478
- for (var _i = 0; _i < arguments.length; _i++) {
1479
- args[_i] = arguments[_i];
1480
- }
1481
- return _super.call(this, args) || this;
1720
+ return _super !== null && _super.apply(this, arguments) || this;
1482
1721
  }
1483
1722
  class_1.prototype.collection = function (path) {
1484
1723
  return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance());
@@ -1494,7 +1733,7 @@
1494
1733
  data[key] = data[key].toDate();
1495
1734
  }
1496
1735
  });
1497
- return _this.model.toInstance(Object.assign({ id: snap.id }, data));
1736
+ return _this.model.toInstance(Object.assign(Object.assign({}, data), { id: snap.id }));
1498
1737
  },
1499
1738
  };
1500
1739
  };
@@ -1561,6 +1800,9 @@
1561
1800
  var getValueFromFilter = function (filter) {
1562
1801
  return checkIfIsFilterOption(filter) ? filter.value : filter;
1563
1802
  };
1803
+ var getFinalValueFrom = function (value) { return lodash.isNumber(value) || lodash.isString(value) || lodash.isDate(value) || Array.isArray(value)
1804
+ ? value
1805
+ : Object.values(getFinalValueFrom); };
1564
1806
  return /** @class */ (function (_super) {
1565
1807
  __extends(FindFirestore, _super);
1566
1808
  function FindFirestore() {
@@ -1569,37 +1811,45 @@
1569
1811
  _this.buildWhereSentence = function (queryReference, fieldName, options) {
1570
1812
  if (_this.isSubCollection(_this) && fieldName === _this.parentIdField)
1571
1813
  return queryReference;
1814
+ var value = (options === null || options === void 0 ? void 0 : options.value) || options;
1815
+ var object = {};
1816
+ lodash.set(object, fieldName, value);
1817
+ var plainInstance = new _this.model(object).toPlain();
1818
+ var firestoreFieldName = fieldName.toString().indexOf('.') > -1
1819
+ ? fieldName.toString()
1820
+ : Object.keys(plainInstance).find(function (key) { return plainInstance[key]; });
1572
1821
  if ((options === null || options === void 0 ? void 0 : options.operator) === exports.Where.LIKE) {
1573
1822
  if (Array.isArray(options === null || options === void 0 ? void 0 : options.value))
1574
- return queryReference.where(fieldName.toString(), 'array-contains-any', options.value);
1575
- queryReference = queryReference.where(fieldName.toString(), '>=', options.value);
1576
- queryReference = queryReference.where(fieldName.toString(), '<=', options.value + "~");
1823
+ return queryReference.where(firestoreFieldName, 'array-contains-any', options.value);
1824
+ queryReference = queryReference.where(firestoreFieldName, '>=', options.value);
1825
+ queryReference = queryReference.where(firestoreFieldName, '<=', options.value + "~");
1577
1826
  return queryReference;
1578
1827
  }
1579
1828
  if ((options === null || options === void 0 ? void 0 : options.operator) === exports.Where.IN && Array.isArray(options === null || options === void 0 ? void 0 : options.value))
1580
- return queryReference.where(fieldName.toString(), 'array-contains', options.value);
1581
- if (lodash.isObject(options) && lodash.isNil(options === null || options === void 0 ? void 0 : options.operator) && lodash.isNil(options === null || options === void 0 ? void 0 : options.value))
1582
- return Object.keys(options).reduce(function (queryReferenceWithWhere, key) { return _this.buildWhereSentence(queryReferenceWithWhere, fieldName + "." + key, options[key]); }, queryReference);
1583
- return queryReference.where(fieldName.toString(), (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
1829
+ return queryReference.where(firestoreFieldName, 'array-contains', options.value);
1830
+ if (lodash.isObject(options) && lodash.isNil(options === null || options === void 0 ? void 0 : options.operator) && lodash.isNil(options === null || options === void 0 ? void 0 : options.value)) {
1831
+ return Object.keys(options).reduce(function (queryReferenceWithWhere, key) { return _this.buildWhereSentence(queryReferenceWithWhere, fieldName.toString() + "." + key, options[key]); }, queryReference);
1832
+ }
1833
+ return queryReference.where(firestoreFieldName, (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
1584
1834
  };
1585
1835
  return _this;
1586
1836
  }
1587
- FindFirestore.prototype.find = function (filters, limits, orderBy) {
1837
+ FindFirestore.prototype.find = function (_a) {
1838
+ var filters = _a.filters, limits = _a.limits, orderBy = _a.orderBy;
1588
1839
  return __awaiter(this, void 0, void 0, function () {
1589
1840
  var query, docs, data;
1590
- var _this = this;
1591
- return __generator(this, function (_b) {
1592
- switch (_b.label) {
1841
+ return __generator(this, function (_a) {
1842
+ switch (_a.label) {
1593
1843
  case 0:
1594
1844
  query = this.collection(this.buildCollectionPathForFind(filters));
1595
- filters === null || filters === void 0 ? void 0 : filters.forEach(function (filterer) { return (query = _this.makeFirestoreWhere(query, filterer)); });
1596
- orderBy === null || orderBy === void 0 ? void 0 : orderBy.forEach(function (orderer) { return Object.keys(orderer).forEach(function (fieldName) { return (query = query.orderBy(fieldName, orderer[fieldName])); }); });
1845
+ query = this.makeFirestoreWhere(query, filters);
1846
+ Object.keys(orderBy).forEach(function (fieldName) { return (query = query.orderBy(fieldName, orderBy[fieldName])); });
1597
1847
  return [4 /*yield*/, this.defineLimits(query, filters, limits)];
1598
1848
  case 1:
1599
- query = _b.sent();
1849
+ query = _a.sent();
1600
1850
  return [4 /*yield*/, query.get()];
1601
1851
  case 2:
1602
- docs = _b.sent();
1852
+ docs = _a.sent();
1603
1853
  data = docs.docs.map(function (doc) { return doc.data(); });
1604
1854
  return [2 /*return*/, {
1605
1855
  data: data,
@@ -1610,32 +1860,31 @@
1610
1860
  });
1611
1861
  };
1612
1862
  FindFirestore.prototype.buildCollectionPathForFind = function (filters) {
1613
- var _a;
1614
1863
  if (!this.isSubCollection(this))
1615
1864
  return this.collectionName;
1616
1865
  var parentIdField = this.parentIdField;
1617
- var parentId = getValueFromFilter((_a = filters.find(function (groupFilter) { return Boolean(getValueFromFilter(groupFilter[parentIdField])); })) === null || _a === void 0 ? void 0 : _a[parentIdField]);
1866
+ var parentId = getValueFromFilter(filters === null || filters === void 0 ? void 0 : filters[parentIdField]);
1618
1867
  return this.parentRepository.collectionName + "/" + parentId + "/" + this.collectionName;
1619
1868
  };
1620
1869
  FindFirestore.prototype.defineLimits = function (query, filters, limits) {
1621
1870
  return __awaiter(this, void 0, void 0, function () {
1622
- var _b, _c;
1623
- return __generator(this, function (_d) {
1624
- switch (_d.label) {
1871
+ var _a, _b;
1872
+ return __generator(this, function (_c) {
1873
+ switch (_c.label) {
1625
1874
  case 0:
1626
1875
  if (!(limits === null || limits === void 0 ? void 0 : limits.offset)) return [3 /*break*/, 3];
1627
- if (!(limits.offset instanceof this.model)) return [3 /*break*/, 2];
1628
- _c = (_b = query).startAfter;
1876
+ if (!this.model.isModel(limits.offset)) return [3 /*break*/, 2];
1877
+ _b = (_a = query).startAfter;
1629
1878
  return [4 /*yield*/, this.collection(this.buildCollectionPathForFind(filters))
1630
- .doc(limits.offset[limits.offset.identifierFields().shift()])
1879
+ .doc(limits.offset[limits.offset.identifiersFields.shift()])
1631
1880
  .get()];
1632
1881
  case 1:
1633
- query = _c.apply(_b, [_d.sent()]);
1882
+ query = _b.apply(_a, [_c.sent()]);
1634
1883
  return [3 /*break*/, 3];
1635
1884
  case 2:
1636
1885
  if (lodash.isNumber(limits.offset) || lodash.isString(limits.offset))
1637
1886
  query = query.startAt(limits.offset);
1638
- _d.label = 3;
1887
+ _c.label = 3;
1639
1888
  case 3:
1640
1889
  if (limits === null || limits === void 0 ? void 0 : limits.limit)
1641
1890
  query = query.limit(limits.limit);
@@ -1684,7 +1933,7 @@
1684
1933
  return __generator(this, function (_b) {
1685
1934
  switch (_b.label) {
1686
1935
  case 0:
1687
- id = (_a = data[data.identifierFields().shift()]) === null || _a === void 0 ? void 0 : _a.toString();
1936
+ id = (_a = data[data.identifiersFields.shift()]) === null || _a === void 0 ? void 0 : _a.toString();
1688
1937
  collectionPath = this.buildCollectionPathForAdd(data);
1689
1938
  if (lodash.isEmpty(id))
1690
1939
  return [2 /*return*/, this.collection(collectionPath).add(data)];
@@ -1734,7 +1983,7 @@
1734
1983
  switch (_b.label) {
1735
1984
  case 0:
1736
1985
  model = new this.model();
1737
- keyField = model.identifierFields().shift();
1986
+ keyField = model.identifiersFields.shift();
1738
1987
  docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
1739
1988
  return [4 /*yield*/, docRef.set(this.paramsToPlain(data), { merge: true })];
1740
1989
  case 1:
@@ -1754,8 +2003,8 @@
1754
2003
  };
1755
2004
  UpdateFirestore.prototype.paramsToPlain = function (params) {
1756
2005
  var model = this.model;
1757
- if (params instanceof model)
1758
- return params;
2006
+ if (model.isModel(params))
2007
+ return params.toPlain();
1759
2008
  return Object.keys(params).reduce(function (data, currentKey) {
1760
2009
  var _b;
1761
2010
  return (Object.assign(Object.assign({}, data), (_b = {}, _b[currentKey] = getValueByAction(params[currentKey]), _b)));
@@ -1838,9 +2087,13 @@
1838
2087
  function UserSearch() {
1839
2088
  return _super !== null && _super.apply(this, arguments) || this;
1840
2089
  }
1841
- UserSearch.prototype.identifierFields = function () {
1842
- return ['id'];
1843
- };
2090
+ Object.defineProperty(UserSearch, "identifiersFields", {
2091
+ get: function () {
2092
+ return ['id'];
2093
+ },
2094
+ enumerable: false,
2095
+ configurable: true
2096
+ });
1844
2097
  return UserSearch;
1845
2098
  }(BaseModel));
1846
2099
 
@@ -1897,7 +2150,7 @@
1897
2150
  var _a;
1898
2151
  return __generator(this, function (_b) {
1899
2152
  switch (_b.label) {
1900
- case 0: return [4 /*yield*/, this.userSearchFirestoreRepository.find([(_a = {}, _a[field] = { operator: exports.Where.EQUALS, value: value }, _a)])];
2153
+ case 0: return [4 /*yield*/, this.userSearchFirestoreRepository.find((_a = {}, _a[field] = { operator: exports.Where.EQUALS, value: value }, _a))];
1901
2154
  case 1:
1902
2155
  result = _b.sent();
1903
2156
  return [2 /*return*/, result.count > 0];
@@ -2069,97 +2322,91 @@
2069
2322
  CategoryFirestoreRepository.prototype.getCategoriesForHome = function (categoryIds, limit) {
2070
2323
  if (limit === void 0) { limit = 4; }
2071
2324
  return __awaiter(this, void 0, void 0, function () {
2072
- var categorySnap, categories, homeSections, categories_1, categories_1_1, category, publishedField, productSnap, products, e_1_1;
2073
- var e_1, _a;
2074
- return __generator(this, function (_b) {
2075
- switch (_b.label) {
2325
+ var categorySnap, categories, homeSections;
2326
+ var _this = this;
2327
+ return __generator(this, function (_a) {
2328
+ switch (_a.label) {
2076
2329
  case 0: return [4 /*yield*/, this.collection(this.collectionName)
2077
- .where('id', 'in', categoryIds)
2330
+ .where('id', 'in', categoryIds.filter(Boolean))
2078
2331
  .where('published', '==', true)
2079
2332
  .get()];
2080
2333
  case 1:
2081
- categorySnap = _b.sent();
2334
+ categorySnap = _a.sent();
2082
2335
  if (categorySnap.empty)
2083
2336
  throw new NotFoundError('Categories not found');
2084
2337
  categories = categorySnap.docs.map(function (doc) { return doc.data(); });
2085
- homeSections = [];
2086
- _b.label = 2;
2338
+ return [4 /*yield*/, Promise.all(categories.map(function (category) { return __awaiter(_this, void 0, void 0, function () {
2339
+ var _a;
2340
+ return __generator(this, function (_b) {
2341
+ switch (_b.label) {
2342
+ case 0:
2343
+ _a = {
2344
+ category: category
2345
+ };
2346
+ return [4 /*yield*/, this.mountCategory(category, { limit: limit, hasStock: true })];
2347
+ case 1: return [2 /*return*/, (_a.products = _b.sent(),
2348
+ _a)];
2349
+ }
2350
+ });
2351
+ }); }))];
2087
2352
  case 2:
2088
- _b.trys.push([2, 7, 8, 9]);
2089
- categories_1 = __values(categories), categories_1_1 = categories_1.next();
2090
- _b.label = 3;
2091
- case 3:
2092
- if (!!categories_1_1.done) return [3 /*break*/, 6];
2093
- category = categories_1_1.value;
2094
- publishedField = category.shop === exports.Shops.GLAMSHOP ? 'publishedGlam' : 'published';
2095
- return [4 /*yield*/, this.collection('products')
2096
- .where('categories', 'array-contains', category.id)
2097
- .where(publishedField, '==', true)
2098
- .where('stock.quantity', '>', 1)
2099
- .limit(limit)
2100
- .get()];
2101
- case 4:
2102
- productSnap = _b.sent();
2103
- products = productSnap.docs.map(function (doc) { return doc.data(); });
2104
- homeSections.push({ category: category, products: products });
2105
- _b.label = 5;
2106
- case 5:
2107
- categories_1_1 = categories_1.next();
2108
- return [3 /*break*/, 3];
2109
- case 6: return [3 /*break*/, 9];
2110
- case 7:
2111
- e_1_1 = _b.sent();
2112
- e_1 = { error: e_1_1 };
2113
- return [3 /*break*/, 9];
2114
- case 8:
2115
- try {
2116
- if (categories_1_1 && !categories_1_1.done && (_a = categories_1.return)) _a.call(categories_1);
2117
- }
2118
- finally { if (e_1) throw e_1.error; }
2119
- return [7 /*endfinally*/];
2120
- case 9: return [2 /*return*/, homeSections];
2353
+ homeSections = _a.sent();
2354
+ return [2 /*return*/, homeSections];
2121
2355
  }
2122
2356
  });
2123
2357
  });
2124
2358
  };
2125
- CategoryFirestoreRepository.prototype.mountCategory = function (category) {
2359
+ CategoryFirestoreRepository.prototype.mountCategory = function (category, options) {
2126
2360
  return __awaiter(this, void 0, void 0, function () {
2127
- var chunks, products, publishedField;
2128
- var _this = this;
2129
- return __generator(this, function (_a) {
2130
- switch (_a.label) {
2361
+ var chunks, products, publishedField, chunks_1, chunks_1_1, productIds, query, productSnap, e_1_1;
2362
+ var e_1, _a;
2363
+ return __generator(this, function (_b) {
2364
+ switch (_b.label) {
2131
2365
  case 0:
2132
2366
  if (!category.products)
2133
2367
  throw new RequiredArgumentError(['Category products is empty']);
2134
- chunks = category.products.reduce(function (resultArray, item, index) {
2135
- var chunkIndex = Math.floor(index / 10);
2136
- if (!resultArray[chunkIndex])
2137
- resultArray[chunkIndex] = [];
2138
- resultArray[chunkIndex].push(item);
2139
- return resultArray;
2140
- }, []);
2368
+ chunks = lodash.chunk(category.products, 10);
2141
2369
  products = [];
2142
2370
  publishedField = category.shop === exports.Shops.GLAMSHOP ? 'publishedGlam' : 'published';
2143
- return [4 /*yield*/, Promise.all(chunks.map(function (productIds) { return __awaiter(_this, void 0, void 0, function () {
2144
- var productSnap;
2145
- return __generator(this, function (_a) {
2146
- switch (_a.label) {
2147
- case 0: return [4 /*yield*/, this.collection('products')
2148
- .where(publishedField, '==', true)
2149
- .where('id', 'in', productIds)
2150
- .get()];
2151
- case 1:
2152
- productSnap = _a.sent();
2153
- if (productSnap.empty)
2154
- return [2 /*return*/];
2155
- products.push.apply(products, __spreadArray([], __read(productSnap.docs.map(function (doc) { return doc.data(); }))));
2156
- return [2 /*return*/];
2157
- }
2158
- });
2159
- }); }))];
2371
+ _b.label = 1;
2160
2372
  case 1:
2161
- _a.sent();
2162
- return [2 /*return*/, products];
2373
+ _b.trys.push([1, 7, 8, 9]);
2374
+ chunks_1 = __values(chunks), chunks_1_1 = chunks_1.next();
2375
+ _b.label = 2;
2376
+ case 2:
2377
+ if (!!chunks_1_1.done) return [3 /*break*/, 6];
2378
+ productIds = chunks_1_1.value;
2379
+ if ((options === null || options === void 0 ? void 0 : options.limit) && products.length >= (options === null || options === void 0 ? void 0 : options.limit))
2380
+ return [3 /*break*/, 6];
2381
+ return [4 /*yield*/, this.collection('products').where(publishedField, '==', true).where('id', 'in', productIds)];
2382
+ case 3:
2383
+ query = _b.sent();
2384
+ if (options === null || options === void 0 ? void 0 : options.hasStock)
2385
+ query = query.where('stock.quantity', '>', 0);
2386
+ if (options === null || options === void 0 ? void 0 : options.limit)
2387
+ query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
2388
+ return [4 /*yield*/, query.get()];
2389
+ case 4:
2390
+ productSnap = _b.sent();
2391
+ if (productSnap.empty)
2392
+ return [3 /*break*/, 5];
2393
+ products.push.apply(products, __spreadArray([], __read(productSnap.docs.map(function (doc) { return doc.data(); }))));
2394
+ _b.label = 5;
2395
+ case 5:
2396
+ chunks_1_1 = chunks_1.next();
2397
+ return [3 /*break*/, 2];
2398
+ case 6: return [3 /*break*/, 9];
2399
+ case 7:
2400
+ e_1_1 = _b.sent();
2401
+ e_1 = { error: e_1_1 };
2402
+ return [3 /*break*/, 9];
2403
+ case 8:
2404
+ try {
2405
+ if (chunks_1_1 && !chunks_1_1.done && (_a = chunks_1.return)) _a.call(chunks_1);
2406
+ }
2407
+ finally { if (e_1) throw e_1.error; }
2408
+ return [7 /*endfinally*/];
2409
+ case 9: return [2 /*return*/, products];
2163
2410
  }
2164
2411
  });
2165
2412
  });
@@ -2182,10 +2429,12 @@
2182
2429
  var result;
2183
2430
  return __generator(this, function (_b) {
2184
2431
  switch (_b.label) {
2185
- case 0: return [4 /*yield*/, this.find([
2186
- { slug: { operator: exports.Where.EQUALS, value: slug } },
2187
- { shopAvailability: { operator: exports.Where.IN, value: [shop] } },
2188
- ])];
2432
+ case 0: return [4 /*yield*/, this.find({
2433
+ filters: {
2434
+ slug: { operator: exports.Where.EQUALS, value: slug },
2435
+ shopAvailability: { operator: exports.Where.IN, value: [shop] },
2436
+ },
2437
+ })];
2189
2438
  case 1:
2190
2439
  result = _b.sent();
2191
2440
  return [2 /*return*/, (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift()];
@@ -2244,29 +2493,19 @@
2244
2493
  return _this;
2245
2494
  }
2246
2495
  CouponFirestoreRepository.prototype.buildModelInstance = function () {
2247
- var _this = this;
2496
+ var _a = _super.prototype.buildModelInstance.call(this), fromFirestore = _a.fromFirestore, toFirestore = _a.toFirestore;
2248
2497
  return {
2249
2498
  toFirestore: function (data) {
2250
- var _a;
2251
- var plain = (data === null || data === void 0 ? void 0 : data.toPlain) ? data.toPlain() : data;
2252
- if (!!plain.categories)
2253
- plain.categories = (_a = plain === null || plain === void 0 ? void 0 : plain.categories) === null || _a === void 0 ? void 0 : _a.map(function (category) { return category.id; });
2499
+ var plain = toFirestore(data);
2500
+ if (!!data.expiresIn)
2501
+ plain.expiresIn = data.expiresIn.getTime();
2254
2502
  return plain;
2255
2503
  },
2256
2504
  fromFirestore: function (snap) {
2257
- var _a;
2258
- var data = snap.data();
2259
- Object.keys(data).forEach(function (key) {
2260
- if (data[key] instanceof firebase__default["default"].firestore.Timestamp) {
2261
- data[key] = data[key].toDate();
2262
- }
2263
- });
2264
- data.categories = (_a = data === null || data === void 0 ? void 0 : data.categories) === null || _a === void 0 ? void 0 : _a.map(function (category) { return ({ id: category }); });
2265
- if (data.checkout_type === exports.CheckoutTypes.SUBSCRIPTION)
2266
- return ClubCoupon.toInstance(Object.assign({ id: snap.id }, data));
2267
- if (data.checkout_type === exports.CheckoutTypes.ECOMMERCE)
2268
- return StoreCoupon.toInstance(Object.assign({ id: snap.id }, data));
2269
- return _this.model.toInstance(Object.assign({ id: snap.id }, data));
2505
+ var instance = fromFirestore(snap);
2506
+ if (!lodash.isNil(instance.expiresIn))
2507
+ instance.expiresIn = new Date(snap.data().expiresIn);
2508
+ return instance;
2270
2509
  },
2271
2510
  };
2272
2511
  };
@@ -2349,10 +2588,54 @@
2349
2588
  function HomeFirestoreRepository(firestore) {
2350
2589
  var _this = _super.call(this) || this;
2351
2590
  _this.firestore = firestore;
2591
+ _this.homeToFirestore = function (home) {
2592
+ var _a;
2593
+ if ((_a = home.data) === null || _a === void 0 ? void 0 : _a.data) {
2594
+ home.data.data.discoverProducts = home.data.data.discoverProducts.map(_this.homeCategoryGroupToPlain);
2595
+ home.data.data.featuredProducts = home.data.data.featuredProducts.map(_this.homeCategoryGroupToPlain);
2596
+ home.data.data.verticalProducts = home.data.data.verticalProducts.map(_this.homeCategoryGroupToPlain);
2597
+ }
2598
+ return home;
2599
+ };
2600
+ _this.homeCategoryGroupToPlain = function (homeCategoryGroup) { return ({
2601
+ category: homeCategoryGroup.category.toPlain(),
2602
+ products: homeCategoryGroup.products.map(function (product) { return product.toPlain(); }),
2603
+ }); };
2604
+ _this.homeFromFirestore = function (home) {
2605
+ var _a;
2606
+ if ((_a = home.data) === null || _a === void 0 ? void 0 : _a.data) {
2607
+ home.data.data.discoverProducts = home.data.data.discoverProducts.map(_this.plainToHomeCategoryGroup);
2608
+ home.data.data.featuredProducts = home.data.data.featuredProducts.map(_this.plainToHomeCategoryGroup);
2609
+ home.data.data.verticalProducts = home.data.data.verticalProducts.map(_this.plainToHomeCategoryGroup);
2610
+ home.data.createdAt =
2611
+ home.data.createdAt instanceof firebase__default["default"].firestore.Timestamp ? home.data.createdAt.toDate() : home.data.createdAt;
2612
+ home.data.expiresAt =
2613
+ home.data.expiresAt instanceof firebase__default["default"].firestore.Timestamp ? home.data.expiresAt.toDate() : home.data.expiresAt;
2614
+ }
2615
+ return home;
2616
+ };
2617
+ _this.plainToHomeCategoryGroup = function (homeCategoryGroup) { return ({
2618
+ category: Category.toInstance(homeCategoryGroup.category),
2619
+ products: homeCategoryGroup.products.map(function (product) { return Product.toInstance(product); }),
2620
+ }); };
2352
2621
  _this.collectionName = 'dms';
2353
2622
  _this.model = Home;
2354
2623
  return _this;
2355
2624
  }
2625
+ HomeFirestoreRepository.prototype.buildModelInstance = function () {
2626
+ var _this = this;
2627
+ var _b = _super.prototype.buildModelInstance.call(this), fromFirestore = _b.fromFirestore, toFirestore = _b.toFirestore;
2628
+ return {
2629
+ toFirestore: function (data) {
2630
+ var modifiedData = _this.homeToFirestore(data);
2631
+ return toFirestore(modifiedData);
2632
+ },
2633
+ fromFirestore: function (snap) {
2634
+ var instance = fromFirestore(snap);
2635
+ return _this.homeFromFirestore(instance);
2636
+ },
2637
+ };
2638
+ };
2356
2639
  return HomeFirestoreRepository;
2357
2640
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2358
2641
 
@@ -2435,6 +2718,13 @@
2435
2718
  });
2436
2719
  });
2437
2720
  };
2721
+ AuthenticationFirebaseAuthService.prototype.sendPasswordResetEmail = function (email) {
2722
+ return __awaiter(this, void 0, void 0, function () {
2723
+ return __generator(this, function (_a) {
2724
+ return [2 /*return*/, this.firebaseAuth.sendPasswordResetEmail(email)];
2725
+ });
2726
+ });
2727
+ };
2438
2728
  return AuthenticationFirebaseAuthService;
2439
2729
  }());
2440
2730
 
@@ -2471,18 +2761,1040 @@
2471
2761
  return RegisterFirebaseAuthService;
2472
2762
  }());
2473
2763
 
2764
+ var AttributeOptionHelper = /** @class */ (function () {
2765
+ function AttributeOptionHelper() {
2766
+ }
2767
+ return AttributeOptionHelper;
2768
+ }());
2769
+ AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
2770
+ if (fields.includes(attributeName))
2771
+ return { columnName: attributeName.toString(), attributeName: attributeName };
2772
+ var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
2773
+ var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
2774
+ if (lodash.isNil(fieldOption))
2775
+ return { columnName: attributeName.toString(), attributeName: attributeName };
2776
+ if (Array.isArray(fieldOption))
2777
+ return { columnName: attributeName.toString(), attributeName: attributeName, fields: fieldOption };
2778
+ return Object.assign({ attributeName: attributeName, columnName: attributeName.toString() }, fieldOption);
2779
+ };
2780
+ AttributeOptionHelper.CheckIsColumnModelOption = function (fieldValue) { return !!fieldValue.columnName && !!fieldValue.fields; };
2781
+ AttributeOptionHelper.CheckIsColumnOption = function (fieldValue) { return AttributeOptionHelper.CheckIsColumnModelOption(fieldValue) || !!fieldValue.columnName; };
2782
+ AttributeOptionHelper.FindColumnOptionFromList = function (columnName, fields) {
2783
+ if (fields.includes(columnName))
2784
+ return { columnName: columnName, attributeName: columnName };
2785
+ var field = fields.find(function (columnOption) {
2786
+ var _a;
2787
+ return lodash.isObject(columnOption) &&
2788
+ ((_a = Object.values(columnOption).find(function (option) { return AttributeOptionHelper.CheckIsColumnOption(option) && option.columnName === columnName; })) === null || _a === void 0 ? void 0 : _a.columnName) === columnName;
2789
+ }) || {};
2790
+ var attributeName = Object.keys(field).find(function (fieldOptionFromList) { return AttributeOptionHelper.CheckIsColumnOption(field[fieldOptionFromList]) ||
2791
+ Array.isArray(field[fieldOptionFromList]); });
2792
+ var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName];
2793
+ if (Array.isArray(fieldOption))
2794
+ return { attributeName: attributeName, fields: fieldOption };
2795
+ return Object.assign({ attributeName: attributeName || columnName, columnName: columnName }, fieldOption);
2796
+ };
2797
+
2798
+ var GraphQLFieldHelper = /** @class */ (function () {
2799
+ function GraphQLFieldHelper() {
2800
+ }
2801
+ return GraphQLFieldHelper;
2802
+ }());
2803
+ GraphQLFieldHelper.CheckIsGraphQLParams = function (params) { return !lodash.isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation; };
2804
+ GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields = function (fields) {
2805
+ return fields
2806
+ .map(function (field) {
2807
+ var _b, _c;
2808
+ if (lodash.isString(field))
2809
+ return field.toString();
2810
+ var fieldName = Object.keys(field).shift();
2811
+ var fieldValue = field[fieldName];
2812
+ if (Array.isArray(fieldValue))
2813
+ return _b = {}, _b[fieldName] = GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue), _b;
2814
+ if (AttributeOptionHelper.CheckIsColumnModelOption(fieldValue))
2815
+ return _c = {},
2816
+ _c[fieldValue.columnName || fieldName] = GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
2817
+ _c;
2818
+ if (AttributeOptionHelper.CheckIsColumnOption(fieldValue))
2819
+ return fieldValue.columnName;
2820
+ return;
2821
+ })
2822
+ .filter(function (field) { return !!field; });
2823
+ };
2824
+ GraphQLFieldHelper.ConvertFieldValueFrom = function (data, fields) { return Object.keys(data).reduce(function (result, columnName) {
2825
+ var _b, _c, _d, _e;
2826
+ var _f = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields), attributeName = _f.attributeName, attributeFields = _f.fields, from = _f.from;
2827
+ if (!!attributeFields && Array.isArray(attributeFields)) {
2828
+ if (Array.isArray(data[columnName]))
2829
+ return Object.assign(Object.assign({}, result), (_b = {}, _b[attributeName] = from
2830
+ ? from(data[columnName], data)
2831
+ : data[columnName].map(function (value) { return GraphQLFieldHelper.ConvertFieldValueFrom(value, attributeFields); }), _b));
2832
+ if (lodash.isObject(data[columnName]))
2833
+ return Object.assign(Object.assign({}, result), (_c = {}, _c[attributeName] = GraphQLFieldHelper.ConvertFieldValueFrom(data[columnName], attributeFields), _c));
2834
+ }
2835
+ if (!!from)
2836
+ return Object.assign(Object.assign({}, result), (_d = {}, _d[attributeName] = from(data[columnName], data), _d));
2837
+ return Object.assign(Object.assign({}, result), (_e = {}, _e[attributeName] = parseDateTime(data[columnName]), _e));
2838
+ }, {}); };
2839
+ GraphQLFieldHelper.ConvertFieldValueTo = function (instance, fields, update) {
2840
+ if (update === void 0) { update = false; }
2841
+ var _a;
2842
+ var data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
2843
+ return Object.keys(data)
2844
+ .filter(function (key) { return !lodash.isNil(data[key]); })
2845
+ .reduce(function (result, attributeName) {
2846
+ var _b, _c, _d;
2847
+ var _e = AttributeOptionHelper.FindByAttribute(attributeName, fields), columnName = _e.columnName, attributeFields = _e.fields, foreignKeyColumn = _e.foreignKeyColumn, to = _e.to, bindPersistData = _e.bindPersistData;
2848
+ if (bindPersistData)
2849
+ return Object.assign(Object.assign({}, result), bindPersistData(data[attributeName], instance));
2850
+ if (lodash.isNil(columnName))
2851
+ return result;
2852
+ if (!!foreignKeyColumn &&
2853
+ !lodash.isEmpty(foreignKeyColumn) &&
2854
+ !Object.keys(foreignKeyColumn).filter(function (key) { return !data[attributeName][key]; }).length)
2855
+ return Object.keys(foreignKeyColumn).reduce(function (object, current) {
2856
+ var _b;
2857
+ return (Object.assign(Object.assign({}, object), (_b = {}, _b[foreignKeyColumn[current]] = data[attributeName][current], _b)));
2858
+ }, Object.assign({}, result));
2859
+ if (update && lodash.isObject(data[attributeName]) && !lodash.isNil(attributeFields) && !lodash.isDate(data[attributeName]))
2860
+ return result;
2861
+ if (!!columnName && Array.isArray(attributeFields) && lodash.isObject(data[attributeName])) {
2862
+ var converted = !lodash.isNil(columnName) && to ? to(instance[attributeName], instance) : data[attributeName];
2863
+ return Object.assign(Object.assign({}, result), (converted !== undefined
2864
+ ? (_b = {},
2865
+ _b[columnName] = {
2866
+ data: data[attributeName] instanceof BaseModel
2867
+ ? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
2868
+ : converted,
2869
+ },
2870
+ _b) : {}));
2871
+ }
2872
+ if (!!to)
2873
+ return Object.assign(Object.assign({}, result), (_c = {}, _c[columnName] = to(instance[attributeName], instance), _c));
2874
+ return Object.assign(Object.assign({}, result), (_d = {}, _d[columnName] = data[attributeName], _d));
2875
+ }, {});
2876
+ };
2877
+
2878
+ var FilterOptionHelper = /** @class */ (function () {
2879
+ function FilterOptionHelper() {
2880
+ }
2881
+ return FilterOptionHelper;
2882
+ }());
2883
+ FilterOptionHelper.CheckIfIsFilterOption = function (filter) { return !lodash.isNil(filter === null || filter === void 0 ? void 0 : filter.operator); };
2884
+ FilterOptionHelper.GetValueFromFilter = function (filter, fieldOption) {
2885
+ if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
2886
+ return filter;
2887
+ if (filter.operator === exports.Where.ISNULL)
2888
+ return true;
2889
+ if (filter.operator === exports.Where.ISNOTNULL)
2890
+ return false;
2891
+ var converter = fieldOption.to ? fieldOption.to : function (value) { return value; };
2892
+ return Array.isArray(filter.value) && [exports.Where.IN, exports.Where.NOTIN].includes(filter.operator)
2893
+ ? filter.value.map(function (fieldValue) { return converter(fieldValue); })
2894
+ : converter(filter.value);
2895
+ };
2896
+
2897
+ var withCreateHasuraGraphQL = function (MixinBase) {
2898
+ return /** @class */ (function (_super) {
2899
+ __extends(CreateHasuraGraphQLMixin, _super);
2900
+ function CreateHasuraGraphQLMixin() {
2901
+ var params = [];
2902
+ for (var _i = 0; _i < arguments.length; _i++) {
2903
+ params[_i] = arguments[_i];
2904
+ }
2905
+ var _this = this;
2906
+ var options = params === null || params === void 0 ? void 0 : params[0];
2907
+ _this = _super.apply(this, __spreadArray([], __read(params))) || this;
2908
+ _this.insertGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertGraphQLOperation) || "insert_" + _this.tableName + "_one";
2909
+ _this.insertGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.insertGraphQLObjectType) || _this.tableName + "_insert_input";
2910
+ return _this;
2911
+ }
2912
+ CreateHasuraGraphQLMixin.prototype.create = function (data) {
2913
+ return __awaiter(this, void 0, void 0, function () {
2914
+ var newData;
2915
+ return __generator(this, function (_a) {
2916
+ switch (_a.label) {
2917
+ case 0: return [4 /*yield*/, this.save(this.model.toInstance(data))];
2918
+ case 1:
2919
+ newData = _a.sent();
2920
+ return [2 /*return*/, this.model.toInstance(newData)];
2921
+ }
2922
+ });
2923
+ });
2924
+ };
2925
+ CreateHasuraGraphQLMixin.prototype.save = function (data) {
2926
+ return __awaiter(this, void 0, void 0, function () {
2927
+ var result;
2928
+ var _this = this;
2929
+ return __generator(this, function (_a) {
2930
+ switch (_a.label) {
2931
+ case 0: return [4 /*yield*/, this.mutation(this.insertGraphQLOperation, this.model.identifiersFields.map(function (field) { return AttributeOptionHelper.FindByAttribute(field, _this.fields).columnName; }), {
2932
+ object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
2933
+ })];
2934
+ case 1:
2935
+ result = _a.sent();
2936
+ return [2 /*return*/, Object.assign(Object.assign({}, data.toPlain()), this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain())];
2937
+ }
2938
+ });
2939
+ });
2940
+ };
2941
+ return CreateHasuraGraphQLMixin;
2942
+ }(MixinBase));
2943
+ };
2944
+
2945
+ var withDeleteHasuraGraphQL = function (MixinBase) {
2946
+ return /** @class */ (function (_super) {
2947
+ __extends(DeleteHasuraGraphQLMixin, _super);
2948
+ function DeleteHasuraGraphQLMixin() {
2949
+ var params = [];
2950
+ for (var _i = 0; _i < arguments.length; _i++) {
2951
+ params[_i] = arguments[_i];
2952
+ }
2953
+ var _this = this;
2954
+ var options = params === null || params === void 0 ? void 0 : params[0];
2955
+ _this = _super.apply(this, __spreadArray([], __read(params))) || this;
2956
+ _this.deleteGraphQLOperation = (options === null || options === void 0 ? void 0 : options.deleteGraphQLOperation) || "delete_" + _this.tableName + "_by_pk";
2957
+ return _this;
2958
+ }
2959
+ DeleteHasuraGraphQLMixin.prototype.delete = function (identifiers) {
2960
+ return __awaiter(this, void 0, void 0, function () {
2961
+ var instance;
2962
+ var _this = this;
2963
+ return __generator(this, function (_a) {
2964
+ switch (_a.label) {
2965
+ case 0:
2966
+ instance = this.model.toInstance(identifiers);
2967
+ return [4 /*yield*/, this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map(function (field) { return AttributeOptionHelper.FindByAttribute(field, _this.fields).columnName; }), this.model.identifiersFields.reduce(function (ids, identifier) {
2968
+ var _a;
2969
+ if (lodash.isNil(instance[identifier]))
2970
+ return ids;
2971
+ var columnOption = AttributeOptionHelper.FindByAttribute(identifier, _this.fields);
2972
+ var value = columnOption.to(identifiers[identifier.toString()], instance);
2973
+ return Object.assign(Object.assign({}, ids), (_a = {}, _a[columnOption.columnName] = {
2974
+ type: _this.getAttributeGraphQLTypeOf(columnOption.type || value),
2975
+ value: value,
2976
+ required: true,
2977
+ }, _a));
2978
+ }, {}))];
2979
+ case 1:
2980
+ _a.sent();
2981
+ return [2 /*return*/];
2982
+ }
2983
+ });
2984
+ });
2985
+ };
2986
+ return DeleteHasuraGraphQLMixin;
2987
+ }(MixinBase));
2988
+ };
2989
+
2990
+ var withHasuraGraphQL = function (MixinBase) {
2991
+ return /** @class */ (function (_super) {
2992
+ __extends(HasuraGraphQLMixin, _super);
2993
+ function HasuraGraphQLMixin() {
2994
+ var params = [];
2995
+ for (var _i = 0; _i < arguments.length; _i++) {
2996
+ params[_i] = arguments[_i];
2997
+ }
2998
+ var _this = this;
2999
+ var options = params[0];
3000
+ _this = _super.apply(this, __spreadArray([], __read(params))) || this;
3001
+ _this.tableName = options.tableName;
3002
+ _this.endpoint = options.endpoint;
3003
+ _this.authOptions = options.authOptions;
3004
+ _this.model = options.model;
3005
+ _this.fields = options.fields || _this.model.identifiersFields;
3006
+ return _this;
3007
+ }
3008
+ Object.defineProperty(HasuraGraphQLMixin.prototype, "headers", {
3009
+ get: function () {
3010
+ return Object.assign(Object.assign(Object.assign({ 'Content-Type': 'application/json' }, (lodash.isNil(this.authOptions.authToken) ? {} : { Authorization: this.authOptions.authToken })), (lodash.isNil(this.authOptions.adminSecret) ? {} : { 'X-Hasura-Admin-Secret': this.authOptions.adminSecret })), (lodash.isNil(this.authOptions.authRole)
3011
+ ? {}
3012
+ : { 'X-Hasura-Role': this.authOptions.authRole.role, 'X-Hasura-User-Id': this.authOptions.authRole.userId }));
3013
+ },
3014
+ enumerable: false,
3015
+ configurable: true
3016
+ });
3017
+ HasuraGraphQLMixin.prototype.mutation = function (operation, fields, variables) {
3018
+ return __awaiter(this, void 0, void 0, function () {
3019
+ var resultQuery;
3020
+ return __generator(this, function (_a) {
3021
+ resultQuery = gqlQueryBuilder.mutation({
3022
+ operation: operation,
3023
+ variables: variables,
3024
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
3025
+ });
3026
+ return [2 /*return*/, this.fetch(resultQuery)];
3027
+ });
3028
+ });
3029
+ };
3030
+ HasuraGraphQLMixin.prototype.query = function (operation, fields, variables) {
3031
+ return __awaiter(this, void 0, void 0, function () {
3032
+ var resultQuery;
3033
+ return __generator(this, function (_a) {
3034
+ resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
3035
+ ? gqlQueryBuilder.query(operation.map(function (option) { return ({
3036
+ operation: option.operation,
3037
+ variables: option.variables,
3038
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
3039
+ }); }))
3040
+ : gqlQueryBuilder.query({
3041
+ operation: operation,
3042
+ variables: variables,
3043
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
3044
+ });
3045
+ return [2 /*return*/, this.fetch(resultQuery)];
3046
+ });
3047
+ });
3048
+ };
3049
+ HasuraGraphQLMixin.prototype.fetch = function (params) {
3050
+ return __awaiter(this, void 0, void 0, function () {
3051
+ var headers, response, result;
3052
+ return __generator(this, function (_a) {
3053
+ switch (_a.label) {
3054
+ case 0:
3055
+ headers = this.headers;
3056
+ return [4 /*yield*/, fetch__default["default"]("" + this.endpoint, {
3057
+ method: 'POST',
3058
+ body: JSON.stringify(params),
3059
+ headers: headers,
3060
+ })];
3061
+ case 1:
3062
+ response = _a.sent();
3063
+ return [4 /*yield*/, response.json()];
3064
+ case 2:
3065
+ result = _a.sent();
3066
+ if (!lodash.isNil(result.errors))
3067
+ throw new Error(JSON.stringify(result.errors));
3068
+ return [2 /*return*/, result.data];
3069
+ }
3070
+ });
3071
+ });
3072
+ };
3073
+ HasuraGraphQLMixin.prototype.getAttributeGraphQLTypeOf = function (value) {
3074
+ if (isUUID(value))
3075
+ return 'uuid';
3076
+ if (lodash.isString(value))
3077
+ return 'String';
3078
+ if (lodash.isBoolean(value))
3079
+ return 'Boolean';
3080
+ if (value instanceof Date)
3081
+ return 'timestamptz';
3082
+ if (lodash.isInteger(value))
3083
+ return 'Int';
3084
+ if (lodash.isNumber(value))
3085
+ return 'numeric';
3086
+ throw new Error('Type not implemented yet');
3087
+ };
3088
+ HasuraGraphQLMixin.prototype.checkIfIsDateTimeAndParse = function (value) {
3089
+ if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/.test(value))
3090
+ return value;
3091
+ var date = dateFns.parseISO(value);
3092
+ if (lodash.isNaN(date.getTime()))
3093
+ return value;
3094
+ return date;
3095
+ };
3096
+ HasuraGraphQLMixin.prototype.convertDataFromHasura = function (data) {
3097
+ var plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
3098
+ return this.model.toInstance(plain);
3099
+ };
3100
+ HasuraGraphQLMixin.prototype.convertDataToHasura = function (instance, update) {
3101
+ if (update === void 0) { update = false; }
3102
+ return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
3103
+ };
3104
+ return HasuraGraphQLMixin;
3105
+ }(MixinBase));
3106
+ };
3107
+
3108
+ var withUpdateHasuraGraphQL = function (MixinBase) {
3109
+ var getValueByAction = function (options) {
3110
+ if (lodash.isNil(options.action))
3111
+ return options;
3112
+ if (options.action === exports.UpdateOptionActions.REMOVE_FIELD)
3113
+ return null;
3114
+ return options.value;
3115
+ };
3116
+ return /** @class */ (function (_super) {
3117
+ __extends(UpdateHasuraGraphQLMixin, _super);
3118
+ function UpdateHasuraGraphQLMixin() {
3119
+ var params = [];
3120
+ for (var _i = 0; _i < arguments.length; _i++) {
3121
+ params[_i] = arguments[_i];
3122
+ }
3123
+ var _this = this;
3124
+ var options = params === null || params === void 0 ? void 0 : params[0];
3125
+ _this = _super.apply(this, __spreadArray([], __read(params))) || this;
3126
+ _this.updateGraphQLOperation = (options === null || options === void 0 ? void 0 : options.updateGraphQLOperation) || "update_" + _this.tableName + "_by_pk";
3127
+ _this.updateGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.updateGraphQLObjectType) || _this.tableName + "_set_input";
3128
+ _this.updateGraphQLPKType = (options === null || options === void 0 ? void 0 : options.updateGraphQLPKType) || _this.tableName + "_pk_columns_input";
3129
+ return _this;
3130
+ }
3131
+ UpdateHasuraGraphQLMixin.prototype.update = function (data) {
3132
+ return __awaiter(this, void 0, void 0, function () {
3133
+ var plainData;
3134
+ var _this = this;
3135
+ return __generator(this, function (_a) {
3136
+ switch (_a.label) {
3137
+ case 0:
3138
+ plainData = this.paramsToPlain(data);
3139
+ return [4 /*yield*/, this.mutation(this.updateGraphQLOperation, this.model.identifiersFields.map(function (field) { return AttributeOptionHelper.FindByAttribute(field, _this.fields).columnName; }), {
3140
+ _set: {
3141
+ type: this.updateGraphQLObjectType,
3142
+ value: this.convertDataToHasura(this.model.toInstance(plainData), true),
3143
+ required: true,
3144
+ },
3145
+ pk_columns: { type: this.updateGraphQLPKType, value: this.getUpdateModelKeys(plainData), required: true },
3146
+ })];
3147
+ case 1:
3148
+ _a.sent();
3149
+ return [2 /*return*/, this.model.toInstance(plainData)];
3150
+ }
3151
+ });
3152
+ });
3153
+ };
3154
+ UpdateHasuraGraphQLMixin.prototype.paramsToPlain = function (params) {
3155
+ var model = this.model;
3156
+ if (model.isModel(params))
3157
+ return params.toPlain();
3158
+ return Object.keys(params).reduce(function (data, currentKey) {
3159
+ var _a;
3160
+ return (Object.assign(Object.assign({}, data), (_a = {}, _a[currentKey] = getValueByAction(params[currentKey]), _a)));
3161
+ }, {});
3162
+ };
3163
+ UpdateHasuraGraphQLMixin.prototype.getUpdateModelKeys = function (data) {
3164
+ var _this = this;
3165
+ var instance = this.model.toInstance(data);
3166
+ return this.model.identifiersFields.reduce(function (ids, identifier) {
3167
+ var _a;
3168
+ if (lodash.isNil(instance[identifier]))
3169
+ return ids;
3170
+ var columnOption = AttributeOptionHelper.FindByAttribute(identifier, _this.fields);
3171
+ var value = columnOption.to(data[identifier.toString()], instance);
3172
+ return Object.assign(Object.assign({}, ids), (_a = {}, _a[columnOption.columnName] = value, _a));
3173
+ }, {});
3174
+ };
3175
+ return UpdateHasuraGraphQLMixin;
3176
+ }(MixinBase));
3177
+ };
3178
+
3179
+ var withGetHasuraGraphQL = function (MixinBase) {
3180
+ return /** @class */ (function (_super) {
3181
+ __extends(GetHasuraGraphQLMixin, _super);
3182
+ function GetHasuraGraphQLMixin() {
3183
+ var params = [];
3184
+ for (var _i = 0; _i < arguments.length; _i++) {
3185
+ params[_i] = arguments[_i];
3186
+ }
3187
+ var _this = this;
3188
+ var options = params === null || params === void 0 ? void 0 : params[0];
3189
+ _this = _super.apply(this, __spreadArray([], __read(params))) || this;
3190
+ _this.getGraphQLOperation = (options === null || options === void 0 ? void 0 : options.getGraphQLOperation) || _this.tableName + "_by_pk";
3191
+ return _this;
3192
+ }
3193
+ GetHasuraGraphQLMixin.prototype.get = function (identifiers) {
3194
+ return __awaiter(this, void 0, void 0, function () {
3195
+ var instance, result, data;
3196
+ var _this = this;
3197
+ return __generator(this, function (_a) {
3198
+ switch (_a.label) {
3199
+ case 0:
3200
+ instance = this.model.toInstance(identifiers);
3201
+ return [4 /*yield*/, this.query(this.getGraphQLOperation, this.fields, this.model.identifiersFields.reduce(function (ids, identifier) {
3202
+ var _a;
3203
+ if (lodash.isNil(instance[identifier]))
3204
+ return ids;
3205
+ var columnOption = AttributeOptionHelper.FindByAttribute(identifier, _this.fields);
3206
+ var value = columnOption.to(identifiers[identifier.toString()], instance);
3207
+ return Object.assign(Object.assign({}, ids), (_a = {}, _a[columnOption.columnName] = {
3208
+ type: _this.getAttributeGraphQLTypeOf(columnOption.type || value),
3209
+ value: value,
3210
+ required: true,
3211
+ }, _a));
3212
+ }, {}))];
3213
+ case 1:
3214
+ result = _a.sent();
3215
+ data = result[this.getGraphQLOperation];
3216
+ if (lodash.isNil(data))
3217
+ throw new NotFoundError(instance.constructor.name + " not found");
3218
+ return [2 /*return*/, this.convertDataFromHasura(result[this.getGraphQLOperation])];
3219
+ }
3220
+ });
3221
+ });
3222
+ };
3223
+ return GetHasuraGraphQLMixin;
3224
+ }(MixinBase));
3225
+ };
3226
+
3227
+ var HasuraGraphQLWhere;
3228
+ (function (HasuraGraphQLWhere) {
3229
+ HasuraGraphQLWhere["EQUALS"] = "_eq";
3230
+ HasuraGraphQLWhere["GT"] = "_gt";
3231
+ HasuraGraphQLWhere["GTE"] = "_gte";
3232
+ HasuraGraphQLWhere["IN"] = "_in";
3233
+ HasuraGraphQLWhere["NOTIN"] = "_nin";
3234
+ HasuraGraphQLWhere["LT"] = "_lt";
3235
+ HasuraGraphQLWhere["LTE"] = "_lte";
3236
+ HasuraGraphQLWhere["LIKE"] = "_like";
3237
+ HasuraGraphQLWhere["NOTLIKE"] = "_nlike";
3238
+ HasuraGraphQLWhere["ISNULL"] = "_is_null";
3239
+ HasuraGraphQLWhere["ISNOTNULL"] = "_is_null";
3240
+ })(HasuraGraphQLWhere || (HasuraGraphQLWhere = {}));
3241
+
3242
+ var HasuraGraphQLColumnType;
3243
+ (function (HasuraGraphQLColumnType) {
3244
+ HasuraGraphQLColumnType["Int"] = "Int";
3245
+ HasuraGraphQLColumnType["Float"] = "Float";
3246
+ HasuraGraphQLColumnType["Boolean"] = "Boolean";
3247
+ HasuraGraphQLColumnType["String"] = "String";
3248
+ HasuraGraphQLColumnType["DateTime"] = "timestampz";
3249
+ HasuraGraphQLColumnType["Json"] = "json";
3250
+ HasuraGraphQLColumnType["Jsonb"] = "jsonb";
3251
+ HasuraGraphQLColumnType["Enum"] = "enum";
3252
+ HasuraGraphQLColumnType["Uuid"] = "uuid";
3253
+ })(HasuraGraphQLColumnType || (HasuraGraphQLColumnType = {}));
3254
+
3255
+ var withFindHasuraGraphQL = function (MixinBase) {
3256
+ return /** @class */ (function (_super) {
3257
+ __extends(FindHasuraGraphQLMixin, _super);
3258
+ function FindHasuraGraphQLMixin() {
3259
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3260
+ _this.makeGraphQLWhere = function (filter, fields) { return Object.keys(filter).reduce(function (variables, fieldName) {
3261
+ var _a;
3262
+ var columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
3263
+ if (!columnOption.bindFindFilter)
3264
+ return Object.assign(Object.assign({}, variables), (_a = {}, _a[columnOption.columnName] = _this.buildWhereSentence(fieldName, filter[fieldName], fields), _a));
3265
+ var builtFilter = columnOption.bindFindFilter(filter[fieldName]);
3266
+ return Object.assign(Object.assign({}, variables), Object.keys(builtFilter).reduce(function (variablesList, columnName) {
3267
+ var _a;
3268
+ return (Object.assign(Object.assign({}, variablesList), (_a = {}, _a[columnName] = _this.buildWhereSentence(fieldName, builtFilter[columnName], fields), _a)));
3269
+ }, {}));
3270
+ }, {}); };
3271
+ _this.buildWhereSentence = function (field, options, fields) {
3272
+ var _a;
3273
+ var fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
3274
+ if (!Array.isArray(options) &&
3275
+ lodash.isObject(options) &&
3276
+ lodash.isNil(options === null || options === void 0 ? void 0 : options.operator) &&
3277
+ lodash.isNil(options === null || options === void 0 ? void 0 : options.value) &&
3278
+ lodash.isNil(fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.to))
3279
+ return Object.keys(options).reduce(function (variables, key) {
3280
+ var _a;
3281
+ var fieldOptions = AttributeOptionHelper.FindByAttribute(key, fields);
3282
+ var columnName = fieldOptions.columnName;
3283
+ var columnFields = fieldOptions.fields;
3284
+ return Object.assign(Object.assign({}, variables), (_a = {}, _a[columnName] = _this.buildWhereSentence(key, options[key], columnFields || []), _a));
3285
+ }, {});
3286
+ if (!Array.isArray(options) && !lodash.isNil(fieldSentenceOptions.fields))
3287
+ return _a = {},
3288
+ _a[fieldSentenceOptions.fields[0]] = _this.buildOperatorSentence(options, fieldSentenceOptions),
3289
+ _a;
3290
+ if (lodash.isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
3291
+ options = Object.values(options)[0];
3292
+ return Array.isArray(options)
3293
+ ? options.reduce(function (whereSentence, option) { return (Object.assign(Object.assign({}, whereSentence), _this.buildOperatorSentence(option, fieldSentenceOptions))); }, {})
3294
+ : _this.buildOperatorSentence(options, fieldSentenceOptions);
3295
+ };
3296
+ _this.buildOperatorSentence = function (options, fieldOption) {
3297
+ var _a;
3298
+ return (_a = {},
3299
+ _a[_this.getHasuraOperator(options, fieldOption)] = FilterOptionHelper.GetValueFromFilter(options, fieldOption),
3300
+ _a);
3301
+ };
3302
+ _this.getHasuraOperator = function (options, fieldOption) { return FilterOptionHelper.CheckIfIsFilterOption(options)
3303
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
3304
+ ? _this.getHasuraJsonbOperator(options)
3305
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find(function (graphQLOperator) { return graphQLOperator === Object.keys(exports.Where).find(function (operator) { return exports.Where[operator] === (options === null || options === void 0 ? void 0 : options.operator); }); })]
3306
+ : HasuraGraphQLWhere.EQUALS; };
3307
+ _this.getHasuraJsonbOperator = function (options) { return options.operator === exports.Where.IN
3308
+ ? '_contains'
3309
+ : options.operator === exports.Where.LIKE
3310
+ ? '_has_keys_any'
3311
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find(function (graphQLOperator) { return graphQLOperator === Object.keys(exports.Where).find(function (operator) { return exports.Where[operator] === (options === null || options === void 0 ? void 0 : options.operator); }); })]; };
3312
+ return _this;
3313
+ }
3314
+ FindHasuraGraphQLMixin.prototype.find = function (options) {
3315
+ return __awaiter(this, void 0, void 0, function () {
3316
+ var _a, filters, limits, orderBy, variablesCount, variables, result, data, count;
3317
+ var _this = this;
3318
+ return __generator(this, function (_b) {
3319
+ switch (_b.label) {
3320
+ case 0:
3321
+ _a = options || {}, filters = _a.filters, limits = _a.limits, orderBy = _a.orderBy;
3322
+ variablesCount = Object.assign(Object.assign({}, (lodash.isNil(orderBy) ? {} : { order_by: { type: this.tableName + "_order_by!", list: true, value: orderBy } })), (lodash.isNil(filters)
3323
+ ? {}
3324
+ : {
3325
+ where: {
3326
+ value: this.makeGraphQLWhere(filters, this.fields),
3327
+ type: this.tableName + "_bool_exp",
3328
+ required: true,
3329
+ },
3330
+ }));
3331
+ variables = Object.assign(Object.assign({}, (lodash.isNil(limits) ? {} : limits)), variablesCount);
3332
+ return [4 /*yield*/, this.query([
3333
+ {
3334
+ operation: this.tableName,
3335
+ fields: this.fields,
3336
+ variables: variables,
3337
+ },
3338
+ {
3339
+ operation: this.tableName + "_aggregate",
3340
+ fields: [{ aggregate: ['count'] }],
3341
+ variables: variablesCount,
3342
+ },
3343
+ ])];
3344
+ case 1:
3345
+ result = _b.sent();
3346
+ data = result[this.tableName].map(function (row) { return _this.convertDataFromHasura(row); });
3347
+ count = result[this.tableName + "_aggregate"].aggregate.count;
3348
+ return [2 /*return*/, { count: count, data: data }];
3349
+ }
3350
+ });
3351
+ });
3352
+ };
3353
+ return FindHasuraGraphQLMixin;
3354
+ }(MixinBase));
3355
+ };
3356
+
3357
+ var withCrudHasuraGraphQL = function (MixinBase) {
3358
+ return /** @class */ (function (_super) {
3359
+ __extends(CrudHasuraGraphQLMixin, _super);
3360
+ function CrudHasuraGraphQLMixin() {
3361
+ return _super !== null && _super.apply(this, arguments) || this;
3362
+ }
3363
+ return CrudHasuraGraphQLMixin;
3364
+ }(withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase)))))));
3365
+ };
3366
+
3367
+ var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
3368
+ __extends(CategoryHasuraGraphQLRepository, _super_1);
3369
+ function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
3370
+ var _this = _super_1.call(this, {
3371
+ tableName: 'category',
3372
+ model: Category,
3373
+ endpoint: endpoint,
3374
+ authOptions: authOptions,
3375
+ fields: [
3376
+ { id: { columnName: 'id', to: function (value) { return +value; }, from: function (value) { return value.toString(); } } },
3377
+ { firestoreId: { columnName: 'firestore_id' } },
3378
+ 'name',
3379
+ 'description',
3380
+ 'image',
3381
+ 'published',
3382
+ 'shop',
3383
+ 'slug',
3384
+ { brandCategory: { columnName: 'brand_category' } },
3385
+ { brandCategoryBanner: { columnName: 'brand_banner' } },
3386
+ { brandCategoryBannerMobile: { columnName: 'brand_banner_mobile' } },
3387
+ { brandLogo: { columnName: 'brand_logo' } },
3388
+ { brandCondition: { columnName: 'brand_condition' } },
3389
+ {
3390
+ conditions: {
3391
+ columnName: 'tag_condition',
3392
+ from: function (tags, row) { return ({ brand: row.brand_condition, tags: tags }); },
3393
+ bindPersistData: function (value) {
3394
+ return {
3395
+ brand_condition: value.brand,
3396
+ tag_condition: "{\"" + value.tags.join('","') + "\"}",
3397
+ };
3398
+ },
3399
+ },
3400
+ },
3401
+ 'filters',
3402
+ { createdAt: { columnName: 'created_at' } },
3403
+ { updatedAt: { columnName: 'updated_at' } },
3404
+ {
3405
+ products: {
3406
+ columnName: 'products',
3407
+ fields: ['product_id'],
3408
+ from: function (value) { return value.map(function (product) { return product.product_id.toString(); }); },
3409
+ to: function (productIds) { return productIds.map(function (productId) { return ({
3410
+ product_id: +productId,
3411
+ }); }); },
3412
+ },
3413
+ },
3414
+ ],
3415
+ }) || this;
3416
+ _this.productRepository = productRepository;
3417
+ return _this;
3418
+ }
3419
+ CategoryHasuraGraphQLRepository.prototype.get = function (identifiers) {
3420
+ var _super = Object.create(null, {
3421
+ get: { get: function () { return _super_1.prototype.get; } }
3422
+ });
3423
+ var _a;
3424
+ return __awaiter(this, void 0, void 0, function () {
3425
+ var _b;
3426
+ return __generator(this, function (_c) {
3427
+ switch (_c.label) {
3428
+ case 0:
3429
+ if (!Number.isNaN(+identifiers.id)) return [3 /*break*/, 2];
3430
+ return [4 /*yield*/, this.find({ filters: { firestoreId: identifiers.id } })];
3431
+ case 1:
3432
+ _b = (_a = (_c.sent()).data) === null || _a === void 0 ? void 0 : _a[0];
3433
+ return [3 /*break*/, 3];
3434
+ case 2:
3435
+ _b = _super.get.call(this, identifiers);
3436
+ _c.label = 3;
3437
+ case 3: return [2 /*return*/, _b];
3438
+ }
3439
+ });
3440
+ });
3441
+ };
3442
+ CategoryHasuraGraphQLRepository.prototype.getCategoryBySlug = function (slug, shop) {
3443
+ return __awaiter(this, void 0, void 0, function () {
3444
+ var _b, data, count;
3445
+ return __generator(this, function (_c) {
3446
+ switch (_c.label) {
3447
+ case 0:
3448
+ if (!slug)
3449
+ return [2 /*return*/];
3450
+ return [4 /*yield*/, this.find({ filters: { slug: slug, shop: shop, published: true } })];
3451
+ case 1:
3452
+ _b = _c.sent(), data = _b.data, count = _b.count;
3453
+ if (count > 1)
3454
+ throw new DuplicatedResultsError('Query returned duplicated values');
3455
+ if (!count)
3456
+ throw new NotFoundError("Category with slug " + slug + " not found");
3457
+ return [2 /*return*/, data.shift()];
3458
+ }
3459
+ });
3460
+ });
3461
+ };
3462
+ CategoryHasuraGraphQLRepository.prototype.getCategoriesForHome = function (categoryIds, limit) {
3463
+ if (limit === void 0) { limit = 4; }
3464
+ return __awaiter(this, void 0, void 0, function () {
3465
+ var _b, categories, count, homeSections;
3466
+ var _this = this;
3467
+ return __generator(this, function (_c) {
3468
+ switch (_c.label) {
3469
+ case 0: return [4 /*yield*/, this.find({
3470
+ filters: { firestoreId: { operator: exports.Where.IN, value: categoryIds.filter(Boolean) }, published: true },
3471
+ })];
3472
+ case 1:
3473
+ _b = _c.sent(), categories = _b.data, count = _b.count;
3474
+ if (!count)
3475
+ throw new NotFoundError('Categories not found');
3476
+ return [4 /*yield*/, Promise.all(categories.map(function (category) { return __awaiter(_this, void 0, void 0, function () {
3477
+ var _b;
3478
+ return __generator(this, function (_c) {
3479
+ switch (_c.label) {
3480
+ case 0:
3481
+ _b = {
3482
+ category: category
3483
+ };
3484
+ return [4 /*yield*/, this.mountCategory(category, { limit: limit, hasStock: true })];
3485
+ case 1: return [2 /*return*/, (_b.products = _c.sent(),
3486
+ _b)];
3487
+ }
3488
+ });
3489
+ }); }))];
3490
+ case 2:
3491
+ homeSections = _c.sent();
3492
+ return [2 /*return*/, homeSections];
3493
+ }
3494
+ });
3495
+ });
3496
+ };
3497
+ CategoryHasuraGraphQLRepository.prototype.mountCategory = function (category, options) {
3498
+ return __awaiter(this, void 0, void 0, function () {
3499
+ var products, publishedField, productsData;
3500
+ var _b;
3501
+ return __generator(this, function (_c) {
3502
+ switch (_c.label) {
3503
+ case 0:
3504
+ if (!category.products)
3505
+ throw new RequiredArgumentError(['Category products is empty']);
3506
+ products = [];
3507
+ publishedField = category.shop === exports.Shops.GLAMSHOP ? 'publishedGlam' : 'published';
3508
+ return [4 /*yield*/, this.productRepository.find(Object.assign({ filters: Object.assign((_b = { id: { operator: exports.Where.IN, value: category.products } }, _b[publishedField] = true, _b), ((options === null || options === void 0 ? void 0 : options.hasStock) ? { stock: { quantity: { operator: exports.Where.GT, value: 0 } } } : {})) }, ((options === null || options === void 0 ? void 0 : options.limit) ? { limits: { limit: options === null || options === void 0 ? void 0 : options.limit } } : {})))];
3509
+ case 1:
3510
+ productsData = (_c.sent()).data;
3511
+ products.push.apply(products, __spreadArray([], __read(productsData)));
3512
+ return [2 /*return*/, products];
3513
+ }
3514
+ });
3515
+ });
3516
+ };
3517
+ return CategoryHasuraGraphQLRepository;
3518
+ }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
3519
+
3520
+ var CategoryHasuraGraphQL = /** @class */ (function (_super) {
3521
+ __extends(CategoryHasuraGraphQL, _super);
3522
+ function CategoryHasuraGraphQL() {
3523
+ return _super !== null && _super.apply(this, arguments) || this;
3524
+ }
3525
+ return CategoryHasuraGraphQL;
3526
+ }(Category));
3527
+
3528
+ var ProductHasuraGraphQL = /** @class */ (function (_super) {
3529
+ __extends(ProductHasuraGraphQL, _super);
3530
+ function ProductHasuraGraphQL() {
3531
+ return _super !== null && _super.apply(this, arguments) || this;
3532
+ }
3533
+ return ProductHasuraGraphQL;
3534
+ }(Product));
3535
+
3536
+ var VariantHasuraGraphQL = /** @class */ (function (_super) {
3537
+ __extends(VariantHasuraGraphQL, _super);
3538
+ function VariantHasuraGraphQL() {
3539
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3540
+ _this.name = '';
3541
+ _this.hasVariants = false;
3542
+ return _this;
3543
+ }
3544
+ return VariantHasuraGraphQL;
3545
+ }(Variant));
3546
+
3547
+ var ProductHasuraGraphQLRepository = /** @class */ (function (_super) {
3548
+ __extends(ProductHasuraGraphQLRepository, _super);
3549
+ function ProductHasuraGraphQLRepository(endpoint, authOptions) {
3550
+ return _super.call(this, {
3551
+ tableName: 'product',
3552
+ model: ProductHasuraGraphQL,
3553
+ endpoint: endpoint,
3554
+ authOptions: authOptions,
3555
+ fields: [
3556
+ { id: { columnName: 'id', to: function (value) { return +value; }, from: function (value) { return value.toString(); } } },
3557
+ { firestoreId: { columnName: 'firestore_id' } },
3558
+ { CEST: { columnName: 'cest' } },
3559
+ { EAN: { columnName: 'ean' } },
3560
+ { NCM: { columnName: 'ncm' } },
3561
+ 'brand',
3562
+ { costPrice: { columnName: 'cost_price' } },
3563
+ {
3564
+ description: {
3565
+ columnName: 'description',
3566
+ from: function (description) { return Object.values(exports.Shops).reduce(function (shops, shop) {
3567
+ var _b;
3568
+ return (Object.assign(Object.assign({}, shops), (_b = {}, _b[shop] = { description: description }, _b)));
3569
+ }, {}); },
3570
+ to: function (value) { return Object.values(value).shift().description; },
3571
+ },
3572
+ },
3573
+ { hasVariants: { columnName: 'has_variants' } },
3574
+ { images: { columnName: 'images', to: function (value) { return "{\"" + value.join("\",\"") + "\"}"; } } },
3575
+ { miniatures: { columnName: 'miniatures', to: function (value) { return "{\"" + value.join("\",\"") + "\"}"; } } },
3576
+ 'name',
3577
+ {
3578
+ price: {
3579
+ columnName: 'price',
3580
+ from: function (price, data) { return Object.values(exports.Shops).reduce(function (prices, shop) {
3581
+ var _b;
3582
+ return (Object.assign(Object.assign({}, prices), (_b = {}, _b[shop] = {
3583
+ price: price,
3584
+ fullPrice: data.full_price,
3585
+ subscriberDiscountPercentage: data.subscriber_discount_percentage,
3586
+ subscriberPrice: data.subscriber_price,
3587
+ }, _b)));
3588
+ }, {}); },
3589
+ bindFindFilter: function (sentence) {
3590
+ var filters = Object.values(sentence).shift();
3591
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
3592
+ subscriber_discount_percentage: filters.subscriberDiscountPercentage,
3593
+ })), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
3594
+ },
3595
+ bindPersistData: function (value) {
3596
+ var priceData = Object.values(value).shift();
3597
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
3598
+ subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
3599
+ })), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
3600
+ },
3601
+ },
3602
+ },
3603
+ { fullPrice: { columnName: 'full_price' } },
3604
+ { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
3605
+ { subscriberPrice: { columnName: 'subscriber_price' } },
3606
+ 'published',
3607
+ { publishedGlam: { columnName: 'published_glam' } },
3608
+ 'sku',
3609
+ {
3610
+ stock: {
3611
+ columnName: 'stock',
3612
+ from: function (quantity) { return ({ quantity: quantity }); },
3613
+ to: function (value) { return (value === null || value === void 0 ? void 0 : value.quantity) || value; },
3614
+ },
3615
+ },
3616
+ 'slug',
3617
+ 'type',
3618
+ 'video',
3619
+ 'weight',
3620
+ {
3621
+ categories: {
3622
+ columnName: 'categories',
3623
+ fields: ['category_id'],
3624
+ to: function (categories) { return categories.map(function (categoryId) { return ({ category_id: +categoryId }); }); },
3625
+ from: function (categories) { return (categories === null || categories === void 0 ? void 0 : categories.map(function (category) { var _a; return (_a = category === null || category === void 0 ? void 0 : category.category_id) === null || _a === void 0 ? void 0 : _a.toString(); })) || []; },
3626
+ },
3627
+ },
3628
+ {
3629
+ shopAvailability: {
3630
+ columnName: 'shop_availabilities',
3631
+ fields: ['shop'],
3632
+ from: function (shop) { return (Array.isArray(shop) ? shop.map(function (row) { return row.shop; }) : []); },
3633
+ to: function (shops) { return shops.map(function (shop) { return ({ shop: shop }); }); },
3634
+ },
3635
+ },
3636
+ { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
3637
+ { createdAt: { columnName: 'created_at' } },
3638
+ { updatedAt: { columnName: 'updated_at' } },
3639
+ ],
3640
+ }) || this;
3641
+ }
3642
+ ProductHasuraGraphQLRepository.prototype.getBySlug = function (slug, shop) {
3643
+ var _a;
3644
+ return __awaiter(this, void 0, void 0, function () {
3645
+ var result;
3646
+ return __generator(this, function (_b) {
3647
+ switch (_b.label) {
3648
+ case 0: return [4 /*yield*/, this.find({
3649
+ filters: {
3650
+ slug: { operator: exports.Where.EQUALS, value: slug },
3651
+ shopAvailability: { operator: exports.Where.IN, value: [shop] },
3652
+ },
3653
+ })];
3654
+ case 1:
3655
+ result = _b.sent();
3656
+ return [2 /*return*/, (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift()];
3657
+ }
3658
+ });
3659
+ });
3660
+ };
3661
+ return ProductHasuraGraphQLRepository;
3662
+ }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
3663
+
3664
+ var VariantHasuraGraphQLRepository = /** @class */ (function (_super) {
3665
+ __extends(VariantHasuraGraphQLRepository, _super);
3666
+ function VariantHasuraGraphQLRepository(endpoint, authOptions) {
3667
+ return _super.call(this, {
3668
+ tableName: 'product',
3669
+ model: VariantHasuraGraphQL,
3670
+ endpoint: endpoint,
3671
+ authOptions: authOptions,
3672
+ fields: [
3673
+ { id: { columnName: 'id', to: function (value) { return +value; }, from: function (value) { return value.toString(); } } },
3674
+ { firestoreId: { columnName: 'firestore_id' } },
3675
+ { productId: { columnName: 'main_product_id', to: function (value) { return +value; }, from: function (value) { return value.toString(); } } },
3676
+ { EAN: { columnName: 'ean' } },
3677
+ { costPrice: { columnName: 'cost_price' } },
3678
+ {
3679
+ price: {
3680
+ columnName: 'price',
3681
+ from: function (price, data) { return Object.values(exports.Shops).reduce(function (prices, shop) {
3682
+ var _a;
3683
+ return (Object.assign(Object.assign({}, prices), (_a = {}, _a[shop] = {
3684
+ price: price,
3685
+ fullPrice: data.full_price,
3686
+ subscriberDiscountPercentage: data.subscriber_discount_percentage,
3687
+ subscriberPrice: data.subscriber_price,
3688
+ }, _a)));
3689
+ }, {}); },
3690
+ bindFindFilter: function (sentence) {
3691
+ var filters = Object.values(sentence).shift();
3692
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
3693
+ subscriber_discount_percentage: filters.subscriberDiscountPercentage,
3694
+ })), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
3695
+ },
3696
+ bindPersistData: function (value, instance) {
3697
+ var priceData = Object.values(value).shift();
3698
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
3699
+ subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
3700
+ })), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
3701
+ },
3702
+ },
3703
+ },
3704
+ { fullPrice: { columnName: 'full_price' } },
3705
+ { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
3706
+ { subscriberPrice: { columnName: 'subscriber_price' } },
3707
+ 'sku',
3708
+ {
3709
+ stock: {
3710
+ columnName: 'stock',
3711
+ from: function (quantity) { return ({ quantity: quantity }); },
3712
+ to: function (value) { return (value === null || value === void 0 ? void 0 : value.quantity) || value; },
3713
+ },
3714
+ },
3715
+ 'weight',
3716
+ { name: { to: function () { return ''; }, from: function () { return undefined; } } },
3717
+ { hasVariants: { columnName: 'has_variants', to: function () { return false; }, from: function () { return undefined; } } },
3718
+ { createdAt: { columnName: 'created_at' } },
3719
+ { updatedAt: { columnName: 'updated_at' } },
3720
+ ],
3721
+ }) || this;
3722
+ }
3723
+ return VariantHasuraGraphQLRepository;
3724
+ }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
3725
+
2474
3726
  /**
2475
3727
  * Generated bundle index. Do not edit.
2476
3728
  */
2477
3729
 
3730
+ Object.defineProperty(exports, 'add', {
3731
+ enumerable: true,
3732
+ get: function () { return dateFns.add; }
3733
+ });
3734
+ Object.defineProperty(exports, 'addBusinessDays', {
3735
+ enumerable: true,
3736
+ get: function () { return dateFns.addBusinessDays; }
3737
+ });
3738
+ Object.defineProperty(exports, 'addDays', {
3739
+ enumerable: true,
3740
+ get: function () { return dateFns.addDays; }
3741
+ });
3742
+ Object.defineProperty(exports, 'addMonths', {
3743
+ enumerable: true,
3744
+ get: function () { return dateFns.addMonths; }
3745
+ });
3746
+ Object.defineProperty(exports, 'addYears', {
3747
+ enumerable: true,
3748
+ get: function () { return dateFns.addYears; }
3749
+ });
3750
+ Object.defineProperty(exports, 'endOfDay', {
3751
+ enumerable: true,
3752
+ get: function () { return dateFns.endOfDay; }
3753
+ });
3754
+ Object.defineProperty(exports, 'format', {
3755
+ enumerable: true,
3756
+ get: function () { return dateFns.format; }
3757
+ });
3758
+ Object.defineProperty(exports, 'formatISO9075', {
3759
+ enumerable: true,
3760
+ get: function () { return dateFns.formatISO9075; }
3761
+ });
3762
+ Object.defineProperty(exports, 'parseISO', {
3763
+ enumerable: true,
3764
+ get: function () { return dateFns.parseISO; }
3765
+ });
3766
+ Object.defineProperty(exports, 'startOfDay', {
3767
+ enumerable: true,
3768
+ get: function () { return dateFns.startOfDay; }
3769
+ });
3770
+ Object.defineProperty(exports, 'sub', {
3771
+ enumerable: true,
3772
+ get: function () { return dateFns.sub; }
3773
+ });
2478
3774
  Object.defineProperty(exports, 'chunk', {
2479
3775
  enumerable: true,
2480
3776
  get: function () { return lodash.chunk; }
2481
3777
  });
3778
+ Object.defineProperty(exports, 'isBoolean', {
3779
+ enumerable: true,
3780
+ get: function () { return lodash.isBoolean; }
3781
+ });
3782
+ Object.defineProperty(exports, 'isDate', {
3783
+ enumerable: true,
3784
+ get: function () { return lodash.isDate; }
3785
+ });
2482
3786
  Object.defineProperty(exports, 'isEmpty', {
2483
3787
  enumerable: true,
2484
3788
  get: function () { return lodash.isEmpty; }
2485
3789
  });
3790
+ Object.defineProperty(exports, 'isInteger', {
3791
+ enumerable: true,
3792
+ get: function () { return lodash.isInteger; }
3793
+ });
3794
+ Object.defineProperty(exports, 'isNaN', {
3795
+ enumerable: true,
3796
+ get: function () { return lodash.isNaN; }
3797
+ });
2486
3798
  Object.defineProperty(exports, 'isNil', {
2487
3799
  enumerable: true,
2488
3800
  get: function () { return lodash.isNil; }
@@ -2499,13 +3811,26 @@
2499
3811
  enumerable: true,
2500
3812
  get: function () { return lodash.isString; }
2501
3813
  });
3814
+ Object.defineProperty(exports, 'now', {
3815
+ enumerable: true,
3816
+ get: function () { return lodash.now; }
3817
+ });
3818
+ Object.defineProperty(exports, 'omit', {
3819
+ enumerable: true,
3820
+ get: function () { return lodash.omit; }
3821
+ });
2502
3822
  Object.defineProperty(exports, 'pick', {
2503
3823
  enumerable: true,
2504
3824
  get: function () { return lodash.pick; }
2505
3825
  });
3826
+ Object.defineProperty(exports, 'set', {
3827
+ enumerable: true,
3828
+ get: function () { return lodash.set; }
3829
+ });
2506
3830
  exports.Address = Address;
2507
3831
  exports.Authentication = Authentication;
2508
3832
  exports.AuthenticationFirebaseAuthService = AuthenticationFirebaseAuthService;
3833
+ exports.AxiosAdapter = AxiosAdapter;
2509
3834
  exports.Base = Base;
2510
3835
  exports.BaseModel = BaseModel;
2511
3836
  exports.BeautyProfile = BeautyProfile;
@@ -2514,15 +3839,16 @@
2514
3839
  exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
2515
3840
  exports.Category = Category;
2516
3841
  exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
3842
+ exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;
2517
3843
  exports.Checkout = Checkout;
2518
3844
  exports.CheckoutFirestoreRepository = CheckoutFirestoreRepository;
2519
3845
  exports.CheckoutSubscription = CheckoutSubscription;
2520
3846
  exports.CheckoutSubscriptionFirestoreRepository = CheckoutSubscriptionFirestoreRepository;
2521
- exports.ClubCoupon = ClubCoupon;
2522
3847
  exports.Coupon = Coupon;
2523
3848
  exports.CouponFirestoreRepository = CouponFirestoreRepository;
2524
3849
  exports.DuplicatedResultsError = DuplicatedResultsError;
2525
3850
  exports.Edition = Edition;
3851
+ exports.FinancialCoupon = FinancialCoupon;
2526
3852
  exports.Home = Home;
2527
3853
  exports.HomeFirestoreRepository = HomeFirestoreRepository;
2528
3854
  exports.InvalidArgumentError = InvalidArgumentError;
@@ -2537,7 +3863,10 @@
2537
3863
  exports.PaymentFirestoreRepository = PaymentFirestoreRepository;
2538
3864
  exports.Product = Product;
2539
3865
  exports.ProductFirestoreRepository = ProductFirestoreRepository;
3866
+ exports.ProductHasuraGraphQLRepository = ProductHasuraGraphQLRepository;
2540
3867
  exports.ProductVariantFirestoreRepository = ProductVariantFirestoreRepository;
3868
+ exports.ProductsIndex = ProductsIndex;
3869
+ exports.RecoveryPassword = RecoveryPassword;
2541
3870
  exports.Register = Register;
2542
3871
  exports.RegisterFirebaseAuthService = RegisterFirebaseAuthService;
2543
3872
  exports.RequiredArgumentError = RequiredArgumentError;
@@ -2545,7 +3874,6 @@
2545
3874
  exports.ShopMenu = ShopMenu;
2546
3875
  exports.ShopMenuFirestoreRepository = ShopMenuFirestoreRepository;
2547
3876
  exports.SignOut = SignOut;
2548
- exports.StoreCoupon = StoreCoupon;
2549
3877
  exports.Subscription = Subscription;
2550
3878
  exports.SubscriptionEditionFirestoreRepository = SubscriptionEditionFirestoreRepository;
2551
3879
  exports.SubscriptionFirestoreRepository = SubscriptionFirestoreRepository;
@@ -2565,16 +3893,26 @@
2565
3893
  exports.UserPaymentMethodFirestoreRepository = UserPaymentMethodFirestoreRepository;
2566
3894
  exports.UserSearchFirestoreRepository = UserSearchFirestoreRepository;
2567
3895
  exports.Variant = Variant;
3896
+ exports.VariantHasuraGraphQLRepository = VariantHasuraGraphQLRepository;
2568
3897
  exports.WeakPasswordError = WeakPasswordError;
3898
+ exports.isUUID = isUUID;
3899
+ exports.parseDateTime = parseDateTime;
2569
3900
  exports.withCreateFirestore = withCreateFirestore;
3901
+ exports.withCreateHasuraGraphQL = withCreateHasuraGraphQL;
2570
3902
  exports.withCrudFirestore = withCrudFirestore;
3903
+ exports.withCrudHasuraGraphQL = withCrudHasuraGraphQL;
2571
3904
  exports.withDeleteFirestore = withDeleteFirestore;
3905
+ exports.withDeleteHasuraGraphQL = withDeleteHasuraGraphQL;
2572
3906
  exports.withFindFirestore = withFindFirestore;
3907
+ exports.withFindHasuraGraphQL = withFindHasuraGraphQL;
2573
3908
  exports.withFirestore = withFirestore;
2574
3909
  exports.withGetFirestore = withGetFirestore;
3910
+ exports.withGetHasuraGraphQL = withGetHasuraGraphQL;
3911
+ exports.withHasuraGraphQL = withHasuraGraphQL;
2575
3912
  exports.withHelpers = withHelpers;
2576
3913
  exports.withSubCollection = withSubCollection;
2577
3914
  exports.withUpdateFirestore = withUpdateFirestore;
3915
+ exports.withUpdateHasuraGraphQL = withUpdateHasuraGraphQL;
2578
3916
 
2579
3917
  Object.defineProperty(exports, '__esModule', { value: true });
2580
3918