@infrab4a/connect 0.17.1-beta.1 → 0.17.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/bundles/infrab4a-connect.umd.js +2784 -0
  2. package/bundles/infrab4a-connect.umd.js.map +1 -0
  3. package/domain/catalog/index.d.ts +2 -0
  4. package/domain/catalog/models/category.d.ts +22 -0
  5. package/domain/catalog/models/enums/index.d.ts +1 -0
  6. package/domain/catalog/models/enums/shops.enum.d.ts +5 -0
  7. package/domain/catalog/models/index.d.ts +5 -0
  8. package/domain/catalog/models/product.d.ts +35 -0
  9. package/domain/catalog/models/types/category-condition.type.d.ts +4 -0
  10. package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
  11. package/domain/catalog/models/types/index.d.ts +7 -0
  12. package/domain/catalog/models/types/product-review.type.d.ts +15 -0
  13. package/domain/catalog/models/types/shops-description.type.d.ts +7 -0
  14. package/domain/catalog/models/types/shops-price.type.d.ts +10 -0
  15. package/domain/catalog/models/types/stock.type.d.ts +3 -0
  16. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -0
  17. package/domain/catalog/models/variant.d.ts +14 -0
  18. package/domain/catalog/repositories/category.repository.d.ts +15 -0
  19. package/domain/catalog/repositories/index.d.ts +4 -0
  20. package/{src/domain/catalog/repositories/product.repository.ts → domain/catalog/repositories/product.repository.d.ts} +3 -4
  21. package/{src/domain/catalog/repositories/subscription-product.repository.ts → domain/catalog/repositories/subscription-product.repository.d.ts} +4 -4
  22. package/{src/domain/catalog/repositories/variant.repository.ts → domain/catalog/repositories/variant.repository.d.ts} +4 -4
  23. package/domain/general/index.d.ts +2 -0
  24. package/domain/general/model/base-model-with-identifier-fields.d.ts +3 -0
  25. package/domain/general/model/base.model.d.ts +6 -0
  26. package/{src/domain/general/model/identifier-fields.ts → domain/general/model/identifier-fields.d.ts} +2 -3
  27. package/domain/general/model/index.d.ts +4 -0
  28. package/domain/general/model/types/base-model-builder.type.d.ts +5 -0
  29. package/domain/general/model/types/index.d.ts +3 -0
  30. package/domain/general/model/types/non-function-properties.type.d.ts +2 -0
  31. package/domain/general/model/types/non-function-property-name.type.d.ts +3 -0
  32. package/{src/domain/general/repository/create.repository.ts → domain/general/repository/create.repository.d.ts} +3 -4
  33. package/domain/general/repository/crud.repository.d.ts +7 -0
  34. package/{src/domain/general/repository/delete.repository.ts → domain/general/repository/delete.repository.d.ts} +3 -4
  35. package/domain/general/repository/enums/index.d.ts +2 -0
  36. package/domain/general/repository/enums/update-option-actions.enum.d.ts +7 -0
  37. package/domain/general/repository/enums/where.enum.d.ts +10 -0
  38. package/domain/general/repository/find.repository.d.ts +5 -0
  39. package/{src/domain/general/repository/get.repository.ts → domain/general/repository/get.repository.d.ts} +3 -4
  40. package/domain/general/repository/index.d.ts +9 -0
  41. package/domain/general/repository/read.repository.d.ts +5 -0
  42. package/domain/general/repository/types/index.d.ts +5 -0
  43. package/domain/general/repository/types/repository-find-filters.type.d.ts +14 -0
  44. package/domain/general/repository/types/repository-find-result.type.d.ts +4 -0
  45. package/domain/general/repository/types/repository-limit-options.type.d.ts +4 -0
  46. package/domain/general/repository/types/repository-order-by-list.type.d.ts +5 -0
  47. package/domain/general/repository/types/repository-update-params.type.d.ts +11 -0
  48. package/{src/domain/general/repository/update.repository.ts → domain/general/repository/update.repository.d.ts} +3 -5
  49. package/domain/index.d.ts +6 -0
  50. package/domain/location/index.d.ts +1 -0
  51. package/domain/location/models/address.d.ts +21 -0
  52. package/domain/location/models/index.d.ts +2 -0
  53. package/domain/location/models/types/index.d.ts +3 -0
  54. package/domain/location/models/types/location-bound.type.d.ts +6 -0
  55. package/domain/location/models/types/location-geometry.type.d.ts +7 -0
  56. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -0
  57. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -0
  58. package/domain/shop-settings/enums/index.d.ts +2 -0
  59. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -0
  60. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -0
  61. package/domain/shop-settings/helpers/index.d.ts +1 -0
  62. package/domain/shop-settings/index.d.ts +4 -0
  63. package/domain/shop-settings/models/home.d.ts +17 -0
  64. package/domain/shop-settings/models/index.d.ts +4 -0
  65. package/domain/shop-settings/models/shop-menu.d.ts +7 -0
  66. package/domain/shop-settings/models/shop-settings.d.ts +6 -0
  67. package/domain/shop-settings/models/types/banner.type.d.ts +6 -0
  68. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -0
  69. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -0
  70. package/domain/shop-settings/models/types/index.d.ts +5 -0
  71. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -0
  72. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -0
  73. package/domain/shop-settings/repositories/home.repository.d.ts +4 -0
  74. package/domain/shop-settings/repositories/index.d.ts +3 -0
  75. package/{src/domain/shop-settings/repositories/shop-menu.repository.ts → domain/shop-settings/repositories/shop-menu.repository.d.ts} +4 -4
  76. package/{src/domain/shop-settings/repositories/shop-settings.repository.ts → domain/shop-settings/repositories/shop-settings.repository.d.ts} +4 -4
  77. package/domain/shopping/index.d.ts +2 -0
  78. package/domain/shopping/models/buy-2-win.d.ts +18 -0
  79. package/domain/shopping/models/checkout.d.ts +29 -0
  80. package/domain/shopping/models/coupons/coupon.d.ts +28 -0
  81. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -0
  82. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +6 -0
  83. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +5 -0
  84. package/domain/shopping/models/coupons/enums/index.d.ts +3 -0
  85. package/domain/shopping/models/coupons/financial-coupon.d.ts +9 -0
  86. package/domain/shopping/models/coupons/index.d.ts +3 -0
  87. package/domain/shopping/models/enums/checkout-types.enum.d.ts +4 -0
  88. package/domain/shopping/models/enums/index.d.ts +2 -0
  89. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -0
  90. package/domain/shopping/models/index.d.ts +11 -0
  91. package/domain/shopping/models/line-item.d.ts +8 -0
  92. package/domain/shopping/models/order.d.ts +9 -0
  93. package/domain/shopping/models/payment.d.ts +69 -0
  94. package/domain/shopping/models/shipping-method.d.ts +18 -0
  95. package/domain/shopping/models/subscription/checkout.d.ts +23 -0
  96. package/domain/shopping/models/subscription/index.d.ts +2 -0
  97. package/domain/shopping/models/subscription/plan.d.ts +12 -0
  98. package/domain/shopping/models/types/index.d.ts +7 -0
  99. package/domain/shopping/models/types/payment-address.type.d.ts +12 -0
  100. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -0
  101. package/domain/shopping/models/types/payment-card.type.d.ts +14 -0
  102. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -0
  103. package/domain/shopping/models/types/payment-document.type.d.ts +6 -0
  104. package/domain/shopping/models/types/payment-item.type.d.ts +11 -0
  105. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -0
  106. package/{src/domain/shopping/repositories/buy-2-win.repository.ts → domain/shopping/repositories/buy-2-win.repository.d.ts} +4 -4
  107. package/{src/domain/shopping/repositories/checkout.repository.ts → domain/shopping/repositories/checkout.repository.d.ts} +4 -4
  108. package/{src/domain/shopping/repositories/coupon.repository.ts → domain/shopping/repositories/coupon.repository.d.ts} +4 -4
  109. package/domain/shopping/repositories/index.d.ts +7 -0
  110. package/{src/domain/shopping/repositories/legacy-order.repository.ts → domain/shopping/repositories/legacy-order.repository.d.ts} +3 -3
  111. package/{src/domain/shopping/repositories/order.repository.ts → domain/shopping/repositories/order.repository.d.ts} +4 -4
  112. package/{src/domain/shopping/repositories/payment.repository.ts → domain/shopping/repositories/payment.repository.d.ts} +4 -4
  113. package/{src/domain/shopping/repositories/subscription/checkout.repository.ts → domain/shopping/repositories/subscription/checkout.repository.d.ts} +4 -4
  114. package/domain/shopping/repositories/subscription/index.d.ts +2 -0
  115. package/{src/domain/shopping/repositories/subscription/plan.repository.ts → domain/shopping/repositories/subscription/plan.repository.d.ts} +4 -4
  116. package/domain/users/errors/index.d.ts +3 -0
  117. package/domain/users/errors/unauthorized.error.d.ts +4 -0
  118. package/domain/users/errors/user-already-registered.error.d.ts +4 -0
  119. package/domain/users/errors/weak-password.error.d.ts +4 -0
  120. package/domain/users/index.d.ts +5 -0
  121. package/domain/users/models/beauty-profile.d.ts +12 -0
  122. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -0
  123. package/domain/users/models/enums/area.enum.d.ts +11 -0
  124. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -0
  125. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -0
  126. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -0
  127. package/domain/users/models/enums/body-problems.enum.d.ts +11 -0
  128. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -0
  129. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -0
  130. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -0
  131. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -0
  132. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -0
  133. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -0
  134. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -0
  135. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -0
  136. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -0
  137. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -0
  138. package/domain/users/models/enums/hair-types.enum.d.ts +7 -0
  139. package/domain/users/models/enums/index.d.ts +20 -0
  140. package/domain/users/models/enums/office-position.enum.d.ts +6 -0
  141. package/domain/users/models/enums/product-spents.enum.d.ts +8 -0
  142. package/domain/users/models/enums/user-type.enum.d.ts +8 -0
  143. package/domain/users/models/index.d.ts +7 -0
  144. package/domain/users/models/lead.d.ts +9 -0
  145. package/domain/users/models/subscription/edition.d.ts +17 -0
  146. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -0
  147. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -0
  148. package/domain/users/models/subscription/enums/index.d.ts +4 -0
  149. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -0
  150. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -0
  151. package/domain/users/models/subscription/index.d.ts +4 -0
  152. package/domain/users/models/subscription/payment.d.ts +14 -0
  153. package/domain/users/models/subscription/subscription.d.ts +30 -0
  154. package/domain/users/models/user-address.d.ts +7 -0
  155. package/domain/users/models/user-payment-method.d.ts +14 -0
  156. package/domain/users/models/user.d.ts +25 -0
  157. package/{src/domain/users/repositories/beauty-profile.repository.ts → domain/users/repositories/beauty-profile.repository.d.ts} +4 -4
  158. package/{src/domain/users/repositories/edition.repository.ts → domain/users/repositories/edition.repository.d.ts} +4 -4
  159. package/domain/users/repositories/index.d.ts +8 -0
  160. package/domain/users/repositories/lead.repository.d.ts +4 -0
  161. package/{src/domain/users/repositories/subscription-payment.repository.ts → domain/users/repositories/subscription-payment.repository.d.ts} +4 -4
  162. package/{src/domain/users/repositories/subscription.repository.ts → domain/users/repositories/subscription.repository.d.ts} +4 -4
  163. package/{src/domain/users/repositories/user-address.repository.ts → domain/users/repositories/user-address.repository.d.ts} +4 -4
  164. package/{src/domain/users/repositories/user-payment-method.repository.ts → domain/users/repositories/user-payment-method.repository.d.ts} +4 -4
  165. package/domain/users/repositories/user.repository.d.ts +6 -0
  166. package/domain/users/services/authentication.service.d.ts +12 -0
  167. package/domain/users/services/index.d.ts +3 -0
  168. package/domain/users/services/register.service.d.ts +7 -0
  169. package/domain/users/services/types/basic-user-data.type.d.ts +4 -0
  170. package/domain/users/services/types/index.d.ts +1 -0
  171. package/domain/users/use-cases/authentication.d.ts +21 -0
  172. package/domain/users/use-cases/index.d.ts +4 -0
  173. package/domain/users/use-cases/recovery-password.d.ts +6 -0
  174. package/domain/users/use-cases/register.d.ts +13 -0
  175. package/domain/users/use-cases/signout.d.ts +6 -0
  176. package/errors/duplicated-results.error.d.ts +4 -0
  177. package/errors/index.d.ts +4 -0
  178. package/errors/invalid-argument.error.d.ts +4 -0
  179. package/errors/not-found.error.d.ts +4 -0
  180. package/errors/required-argument.error.d.ts +5 -0
  181. package/esm2015/domain/catalog/index.js +3 -0
  182. package/esm2015/domain/catalog/models/category.js +7 -0
  183. package/esm2015/domain/catalog/models/enums/index.js +2 -0
  184. package/esm2015/domain/catalog/models/enums/shops.enum.js +7 -0
  185. package/esm2015/domain/catalog/models/index.js +6 -0
  186. package/esm2015/domain/catalog/models/product.js +11 -0
  187. package/esm2015/domain/catalog/models/types/category-condition.type.js +2 -0
  188. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
  189. package/esm2015/domain/catalog/models/types/index.js +8 -0
  190. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -0
  191. package/esm2015/domain/catalog/models/types/shops-description.type.js +2 -0
  192. package/esm2015/domain/catalog/models/types/shops-price.type.js +2 -0
  193. package/esm2015/domain/catalog/models/types/stock.type.js +2 -0
  194. package/esm2015/domain/catalog/models/types/variant-grade.type.js +2 -0
  195. package/esm2015/domain/catalog/models/variant.js +7 -0
  196. package/esm2015/domain/catalog/repositories/category.repository.js +2 -0
  197. package/esm2015/domain/catalog/repositories/index.js +5 -0
  198. package/esm2015/domain/catalog/repositories/product.repository.js +2 -0
  199. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +2 -0
  200. package/esm2015/domain/catalog/repositories/variant.repository.js +2 -0
  201. package/esm2015/domain/general/index.js +3 -0
  202. package/esm2015/domain/general/model/base-model-with-identifier-fields.js +2 -0
  203. package/esm2015/domain/general/model/base.model.js +13 -0
  204. package/esm2015/domain/general/model/identifier-fields.js +2 -0
  205. package/esm2015/domain/general/model/index.js +5 -0
  206. package/esm2015/domain/general/model/types/base-model-builder.type.js +2 -0
  207. package/esm2015/domain/general/model/types/index.js +4 -0
  208. package/esm2015/domain/general/model/types/non-function-properties.type.js +2 -0
  209. package/esm2015/domain/general/model/types/non-function-property-name.type.js +2 -0
  210. package/esm2015/domain/general/repository/create.repository.js +2 -0
  211. package/esm2015/domain/general/repository/crud.repository.js +2 -0
  212. package/esm2015/domain/general/repository/delete.repository.js +2 -0
  213. package/esm2015/domain/general/repository/enums/index.js +3 -0
  214. package/esm2015/domain/general/repository/enums/update-option-actions.enum.js +9 -0
  215. package/esm2015/domain/general/repository/enums/where.enum.js +12 -0
  216. package/esm2015/domain/general/repository/find.repository.js +2 -0
  217. package/esm2015/domain/general/repository/get.repository.js +2 -0
  218. package/esm2015/domain/general/repository/index.js +10 -0
  219. package/esm2015/domain/general/repository/read.repository.js +2 -0
  220. package/esm2015/domain/general/repository/types/index.js +6 -0
  221. package/esm2015/domain/general/repository/types/repository-find-filters.type.js +2 -0
  222. package/esm2015/domain/general/repository/types/repository-find-result.type.js +2 -0
  223. package/esm2015/domain/general/repository/types/repository-limit-options.type.js +2 -0
  224. package/esm2015/domain/general/repository/types/repository-order-by-list.type.js +2 -0
  225. package/esm2015/domain/general/repository/types/repository-update-params.type.js +2 -0
  226. package/esm2015/domain/general/repository/update.repository.js +2 -0
  227. package/esm2015/domain/index.js +7 -0
  228. package/esm2015/domain/location/index.js +2 -0
  229. package/esm2015/domain/location/models/address.js +4 -0
  230. package/esm2015/domain/location/models/index.js +3 -0
  231. package/esm2015/domain/location/models/types/index.js +4 -0
  232. package/esm2015/domain/location/models/types/location-bound.type.js +2 -0
  233. package/esm2015/domain/location/models/types/location-geometry.type.js +2 -0
  234. package/esm2015/domain/location/models/types/location-lat-lng.type.js +2 -0
  235. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +21 -0
  236. package/esm2015/domain/shop-settings/enums/index.js +3 -0
  237. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +21 -0
  238. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +46 -0
  239. package/esm2015/domain/shop-settings/helpers/index.js +2 -0
  240. package/esm2015/domain/shop-settings/index.js +5 -0
  241. package/esm2015/domain/shop-settings/models/home.js +7 -0
  242. package/esm2015/domain/shop-settings/models/index.js +5 -0
  243. package/esm2015/domain/shop-settings/models/shop-menu.js +7 -0
  244. package/esm2015/domain/shop-settings/models/shop-settings.js +7 -0
  245. package/esm2015/domain/shop-settings/models/types/banner.type.js +2 -0
  246. package/esm2015/domain/shop-settings/models/types/benefit.type.js +2 -0
  247. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -0
  248. package/esm2015/domain/shop-settings/models/types/index.js +6 -0
  249. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +2 -0
  250. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +2 -0
  251. package/esm2015/domain/shop-settings/repositories/home.repository.js +2 -0
  252. package/esm2015/domain/shop-settings/repositories/index.js +4 -0
  253. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +2 -0
  254. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +2 -0
  255. package/esm2015/domain/shopping/index.js +3 -0
  256. package/esm2015/domain/shopping/models/buy-2-win.js +14 -0
  257. package/esm2015/domain/shopping/models/checkout.js +38 -0
  258. package/esm2015/domain/shopping/models/coupons/coupon.js +23 -0
  259. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
  260. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +8 -0
  261. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +7 -0
  262. package/esm2015/domain/shopping/models/coupons/enums/index.js +4 -0
  263. package/esm2015/domain/shopping/models/coupons/financial-coupon.js +28 -0
  264. package/esm2015/domain/shopping/models/coupons/index.js +4 -0
  265. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +6 -0
  266. package/esm2015/domain/shopping/models/enums/index.js +3 -0
  267. package/esm2015/domain/shopping/models/enums/order-status.enum.js +12 -0
  268. package/esm2015/domain/shopping/models/index.js +12 -0
  269. package/esm2015/domain/shopping/models/line-item.js +4 -0
  270. package/esm2015/domain/shopping/models/order.js +11 -0
  271. package/esm2015/domain/shopping/models/payment.js +169 -0
  272. package/esm2015/domain/shopping/models/shipping-method.js +7 -0
  273. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -0
  274. package/esm2015/domain/shopping/models/subscription/index.js +3 -0
  275. package/esm2015/domain/shopping/models/subscription/plan.js +7 -0
  276. package/esm2015/domain/shopping/models/types/index.js +8 -0
  277. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -0
  278. package/esm2015/domain/shopping/models/types/payment-billing.type.js +2 -0
  279. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -0
  280. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -0
  281. package/esm2015/domain/shopping/models/types/payment-document.type.js +2 -0
  282. package/esm2015/domain/shopping/models/types/payment-item.type.js +2 -0
  283. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +2 -0
  284. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +2 -0
  285. package/esm2015/domain/shopping/repositories/checkout.repository.js +2 -0
  286. package/esm2015/domain/shopping/repositories/coupon.repository.js +2 -0
  287. package/esm2015/domain/shopping/repositories/index.js +8 -0
  288. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +2 -0
  289. package/esm2015/domain/shopping/repositories/order.repository.js +2 -0
  290. package/esm2015/domain/shopping/repositories/payment.repository.js +2 -0
  291. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +2 -0
  292. package/esm2015/domain/shopping/repositories/subscription/index.js +3 -0
  293. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +2 -0
  294. package/esm2015/domain/users/errors/index.js +4 -0
  295. package/esm2015/domain/users/errors/unauthorized.error.js +7 -0
  296. package/esm2015/domain/users/errors/user-already-registered.error.js +7 -0
  297. package/esm2015/domain/users/errors/weak-password.error.js +7 -0
  298. package/esm2015/domain/users/index.js +6 -0
  299. package/esm2015/domain/users/models/beauty-profile.js +12 -0
  300. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +7 -0
  301. package/esm2015/domain/users/models/enums/area.enum.js +13 -0
  302. package/esm2015/domain/users/models/enums/beard-problems.enum.js +11 -0
  303. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +9 -0
  304. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +8 -0
  305. package/esm2015/domain/users/models/enums/body-problems.enum.js +13 -0
  306. package/esm2015/domain/users/models/enums/body-shapes.enum.js +9 -0
  307. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +7 -0
  308. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -0
  309. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +12 -0
  310. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +10 -0
  311. package/esm2015/domain/users/models/enums/family-incomes.enum.js +10 -0
  312. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +7 -0
  313. package/esm2015/domain/users/models/enums/hair-colors.enum.js +12 -0
  314. package/esm2015/domain/users/models/enums/hair-problems.enum.js +12 -0
  315. package/esm2015/domain/users/models/enums/hair-strands.enum.js +10 -0
  316. package/esm2015/domain/users/models/enums/hair-types.enum.js +9 -0
  317. package/esm2015/domain/users/models/enums/index.js +21 -0
  318. package/esm2015/domain/users/models/enums/office-position.enum.js +8 -0
  319. package/esm2015/domain/users/models/enums/product-spents.enum.js +10 -0
  320. package/esm2015/domain/users/models/enums/user-type.enum.js +10 -0
  321. package/esm2015/domain/users/models/index.js +8 -0
  322. package/esm2015/domain/users/models/lead.js +7 -0
  323. package/esm2015/domain/users/models/subscription/edition.js +7 -0
  324. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +5 -0
  325. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +6 -0
  326. package/esm2015/domain/users/models/subscription/enums/index.js +5 -0
  327. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +7 -0
  328. package/esm2015/domain/users/models/subscription/enums/status.enum.js +6 -0
  329. package/esm2015/domain/users/models/subscription/index.js +5 -0
  330. package/esm2015/domain/users/models/subscription/payment.js +14 -0
  331. package/esm2015/domain/users/models/subscription/subscription.js +43 -0
  332. package/esm2015/domain/users/models/user-address.js +7 -0
  333. package/esm2015/domain/users/models/user-payment-method.js +7 -0
  334. package/esm2015/domain/users/models/user.js +26 -0
  335. package/esm2015/domain/users/repositories/beauty-profile.repository.js +2 -0
  336. package/esm2015/domain/users/repositories/edition.repository.js +2 -0
  337. package/esm2015/domain/users/repositories/index.js +9 -0
  338. package/esm2015/domain/users/repositories/lead.repository.js +2 -0
  339. package/esm2015/domain/users/repositories/subscription-payment.repository.js +2 -0
  340. package/esm2015/domain/users/repositories/subscription.repository.js +2 -0
  341. package/esm2015/domain/users/repositories/user-address.repository.js +2 -0
  342. package/esm2015/domain/users/repositories/user-payment-method.repository.js +2 -0
  343. package/esm2015/domain/users/repositories/user.repository.js +2 -0
  344. package/esm2015/domain/users/services/authentication.service.js +2 -0
  345. package/esm2015/domain/users/services/index.js +4 -0
  346. package/esm2015/domain/users/services/register.service.js +2 -0
  347. package/esm2015/domain/users/services/types/basic-user-data.type.js +2 -0
  348. package/esm2015/domain/users/services/types/index.js +2 -0
  349. package/esm2015/domain/users/use-cases/authentication.js +40 -0
  350. package/esm2015/domain/users/use-cases/index.js +5 -0
  351. package/esm2015/domain/users/use-cases/recovery-password.js +12 -0
  352. package/esm2015/domain/users/use-cases/register.js +34 -0
  353. package/esm2015/domain/users/use-cases/signout.js +12 -0
  354. package/esm2015/errors/duplicated-results.error.js +7 -0
  355. package/esm2015/errors/index.js +5 -0
  356. package/esm2015/errors/invalid-argument.error.js +7 -0
  357. package/esm2015/errors/not-found.error.js +7 -0
  358. package/esm2015/errors/required-argument.error.js +8 -0
  359. package/esm2015/index.js +6 -0
  360. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +22 -0
  361. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -0
  362. package/esm2015/infra/elasticsearch/adapters/index.js +3 -0
  363. package/esm2015/infra/elasticsearch/index.js +4 -0
  364. package/esm2015/infra/elasticsearch/indexes/index.js +2 -0
  365. package/esm2015/infra/elasticsearch/indexes/products-index.js +59 -0
  366. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +2 -0
  367. package/esm2015/infra/elasticsearch/types/index.js +2 -0
  368. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -0
  369. package/esm2015/infra/firebase/auth/index.js +3 -0
  370. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -0
  371. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -0
  372. package/esm2015/infra/firebase/firestore/index.js +4 -0
  373. package/esm2015/infra/firebase/firestore/mixins/index.js +10 -0
  374. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -0
  375. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
  376. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
  377. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +87 -0
  378. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +26 -0
  379. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
  380. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
  381. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -0
  382. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -0
  383. package/esm2015/infra/firebase/firestore/models/user-search.js +7 -0
  384. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +72 -0
  385. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +5 -0
  386. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +23 -0
  387. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -0
  388. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -0
  389. package/esm2015/infra/firebase/firestore/repositories/index.js +5 -0
  390. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -0
  391. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +4 -0
  392. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -0
  393. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +12 -0
  394. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -0
  395. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -0
  396. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -0
  397. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -0
  398. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +9 -0
  399. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -0
  400. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +12 -0
  401. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -0
  402. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -0
  403. package/esm2015/infra/firebase/firestore/repositories/users/index.js +10 -0
  404. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -0
  405. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -0
  406. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -0
  407. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -0
  408. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -0
  409. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -0
  410. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +70 -0
  411. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -0
  412. package/esm2015/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +12 -0
  413. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
  414. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
  415. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
  416. package/esm2015/infra/firebase/firestore/types/index.js +4 -0
  417. package/esm2015/infra/firebase/index.js +3 -0
  418. package/esm2015/infra/index.js +3 -0
  419. package/esm2015/infrab4a-connect.js +5 -0
  420. package/esm2015/utils/index.js +6 -0
  421. package/esm2015/utils/mixins/base.mixin.js +6 -0
  422. package/esm2015/utils/mixins/index.js +3 -0
  423. package/esm2015/utils/mixins/mixin-ctor.type.js +2 -0
  424. package/esm2015/utils/types/index.js +2 -0
  425. package/esm2015/utils/types/prop.type.js +2 -0
  426. package/fesm2015/infrab4a-connect.js +1798 -0
  427. package/fesm2015/infrab4a-connect.js.map +1 -0
  428. package/index.d.ts +5 -0
  429. package/infra/elasticsearch/adapters/axios.adapter.d.ts +11 -0
  430. package/{src/infra/elasticsearch/adapters/elastic-search.adapter.ts → infra/elasticsearch/adapters/elastic-search.adapter.d.ts} +2 -3
  431. package/infra/elasticsearch/adapters/index.d.ts +2 -0
  432. package/infra/elasticsearch/index.d.ts +3 -0
  433. package/infra/elasticsearch/indexes/index.d.ts +1 -0
  434. package/infra/elasticsearch/indexes/products-index.d.ts +11 -0
  435. package/infra/elasticsearch/types/elastic-search-result.d.ts +7 -0
  436. package/infra/elasticsearch/types/index.d.ts +1 -0
  437. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -0
  438. package/infra/firebase/auth/index.d.ts +2 -0
  439. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -0
  440. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -0
  441. package/infra/firebase/firestore/index.d.ts +3 -0
  442. package/infra/firebase/firestore/mixins/index.d.ts +9 -0
  443. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +17 -0
  444. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +29 -0
  445. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +15 -0
  446. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +20 -0
  447. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +15 -0
  448. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +15 -0
  449. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +10 -0
  450. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +14 -0
  451. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +16 -0
  452. package/infra/firebase/firestore/models/user-search.d.ts +9 -0
  453. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +58 -0
  454. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -0
  455. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +50 -0
  456. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +60 -0
  457. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +49 -0
  458. package/infra/firebase/firestore/repositories/index.d.ts +4 -0
  459. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +57 -0
  460. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -0
  461. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +49 -0
  462. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +49 -0
  463. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +49 -0
  464. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +49 -0
  465. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +49 -0
  466. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +53 -0
  467. package/infra/firebase/firestore/repositories/shopping/index.d.ts +8 -0
  468. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -0
  469. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +49 -0
  470. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +49 -0
  471. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +49 -0
  472. package/infra/firebase/firestore/repositories/users/index.d.ts +9 -0
  473. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +49 -0
  474. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +60 -0
  475. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +49 -0
  476. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +60 -0
  477. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +60 -0
  478. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +60 -0
  479. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +60 -0
  480. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +60 -0
  481. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +50 -0
  482. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -0
  483. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -0
  484. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +8 -0
  485. package/infra/firebase/firestore/types/index.d.ts +3 -0
  486. package/infra/firebase/index.d.ts +2 -0
  487. package/infra/index.d.ts +2 -0
  488. package/infrab4a-connect.d.ts +5 -0
  489. package/package.json +28 -20
  490. package/utils/index.d.ts +6 -0
  491. package/utils/mixins/base.mixin.d.ts +3 -0
  492. package/utils/mixins/index.d.ts +2 -0
  493. package/utils/mixins/mixin-ctor.type.d.ts +1 -0
  494. package/utils/types/index.d.ts +1 -0
  495. package/utils/types/prop.type.d.ts +1 -0
  496. package/index.ts +0 -1
  497. package/karma.conf.js +0 -32
  498. package/ng-package.json +0 -24
  499. package/src/domain/catalog/index.ts +0 -2
  500. package/src/domain/catalog/models/category.ts +0 -27
  501. package/src/domain/catalog/models/enums/index.ts +0 -1
  502. package/src/domain/catalog/models/enums/shops.enum.ts +0 -5
  503. package/src/domain/catalog/models/index.ts +0 -5
  504. package/src/domain/catalog/models/product.ts +0 -47
  505. package/src/domain/catalog/models/types/category-condition.type.ts +0 -4
  506. package/src/domain/catalog/models/types/category-filter.type.ts +0 -4
  507. package/src/domain/catalog/models/types/index.ts +0 -7
  508. package/src/domain/catalog/models/types/product-review.type.ts +0 -16
  509. package/src/domain/catalog/models/types/shops-description.type.ts +0 -9
  510. package/src/domain/catalog/models/types/shops-price.type.ts +0 -12
  511. package/src/domain/catalog/models/types/stock.type.ts +0 -3
  512. package/src/domain/catalog/models/types/variant-grade.type.ts +0 -4
  513. package/src/domain/catalog/models/variant.ts +0 -19
  514. package/src/domain/catalog/repositories/category.repository.ts +0 -10
  515. package/src/domain/catalog/repositories/index.ts +0 -4
  516. package/src/domain/general/index.ts +0 -2
  517. package/src/domain/general/model/base-model-with-identifier-fields.ts +0 -4
  518. package/src/domain/general/model/base.model.ts +0 -17
  519. package/src/domain/general/model/index.ts +0 -4
  520. package/src/domain/general/model/types/base-model-builder.type.ts +0 -6
  521. package/src/domain/general/model/types/index.ts +0 -3
  522. package/src/domain/general/model/types/non-function-properties.type.ts +0 -3
  523. package/src/domain/general/model/types/non-function-property-name.type.ts +0 -1
  524. package/src/domain/general/repository/crud.repository.ts +0 -12
  525. package/src/domain/general/repository/enums/index.ts +0 -2
  526. package/src/domain/general/repository/enums/update-option-actions.enum.ts +0 -7
  527. package/src/domain/general/repository/enums/where.enum.ts +0 -10
  528. package/src/domain/general/repository/find.repository.ts +0 -11
  529. package/src/domain/general/repository/index.ts +0 -9
  530. package/src/domain/general/repository/read.repository.ts +0 -8
  531. package/src/domain/general/repository/types/index.ts +0 -5
  532. package/src/domain/general/repository/types/repository-find-filters.type.ts +0 -21
  533. package/src/domain/general/repository/types/repository-find-result.type.ts +0 -4
  534. package/src/domain/general/repository/types/repository-limit-options.type.ts +0 -4
  535. package/src/domain/general/repository/types/repository-order-by-list.type.ts +0 -7
  536. package/src/domain/general/repository/types/repository-update-params.type.ts +0 -16
  537. package/src/domain/index.ts +0 -6
  538. package/src/domain/location/index.ts +0 -1
  539. package/src/domain/location/models/address.ts +0 -23
  540. package/src/domain/location/models/index.ts +0 -2
  541. package/src/domain/location/models/types/index.ts +0 -3
  542. package/src/domain/location/models/types/location-bound.type.ts +0 -6
  543. package/src/domain/location/models/types/location-geometry.type.ts +0 -8
  544. package/src/domain/location/models/types/location-lat-lng.type.ts +0 -4
  545. package/src/domain/shop-settings/enums/filter-type.enum.ts +0 -19
  546. package/src/domain/shop-settings/enums/index.ts +0 -2
  547. package/src/domain/shop-settings/enums/questions-filters.enum.ts +0 -19
  548. package/src/domain/shop-settings/helpers/beauty-questions.helper.ts +0 -51
  549. package/src/domain/shop-settings/helpers/index.ts +0 -1
  550. package/src/domain/shop-settings/index.ts +0 -4
  551. package/src/domain/shop-settings/models/home.ts +0 -21
  552. package/src/domain/shop-settings/models/index.ts +0 -4
  553. package/src/domain/shop-settings/models/shop-menu.ts +0 -11
  554. package/src/domain/shop-settings/models/shop-settings.ts +0 -10
  555. package/src/domain/shop-settings/models/types/banner.type.ts +0 -6
  556. package/src/domain/shop-settings/models/types/benefit.type.ts +0 -5
  557. package/src/domain/shop-settings/models/types/home-data.type.ts +0 -18
  558. package/src/domain/shop-settings/models/types/index.ts +0 -5
  559. package/src/domain/shop-settings/models/types/menu-nav.type.ts +0 -9
  560. package/src/domain/shop-settings/models/types/sub-menu.type.ts +0 -8
  561. package/src/domain/shop-settings/repositories/home.repository.ts +0 -4
  562. package/src/domain/shop-settings/repositories/index.ts +0 -3
  563. package/src/domain/shopping/index.ts +0 -2
  564. package/src/domain/shopping/models/buy-2-win.ts +0 -26
  565. package/src/domain/shopping/models/checkout.ts +0 -43
  566. package/src/domain/shopping/models/coupons/coupon.ts +0 -42
  567. package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.ts +0 -4
  568. package/src/domain/shopping/models/coupons/enums/coupon-types.enum.ts +0 -6
  569. package/src/domain/shopping/models/coupons/enums/exclusivities.enum.ts +0 -5
  570. package/src/domain/shopping/models/coupons/enums/index.ts +0 -3
  571. package/src/domain/shopping/models/coupons/financial-coupon.ts +0 -32
  572. package/src/domain/shopping/models/coupons/index.ts +0 -3
  573. package/src/domain/shopping/models/enums/checkout-types.enum.ts +0 -4
  574. package/src/domain/shopping/models/enums/index.ts +0 -2
  575. package/src/domain/shopping/models/enums/order-status.enum.ts +0 -10
  576. package/src/domain/shopping/models/index.ts +0 -11
  577. package/src/domain/shopping/models/line-item.ts +0 -9
  578. package/src/domain/shopping/models/order.ts +0 -14
  579. package/src/domain/shopping/models/payment.ts +0 -117
  580. package/src/domain/shopping/models/shipping-method.ts +0 -22
  581. package/src/domain/shopping/models/subscription/checkout.ts +0 -38
  582. package/src/domain/shopping/models/subscription/index.ts +0 -2
  583. package/src/domain/shopping/models/subscription/plan.ts +0 -16
  584. package/src/domain/shopping/models/types/index.ts +0 -7
  585. package/src/domain/shopping/models/types/payment-address.type.ts +0 -12
  586. package/src/domain/shopping/models/types/payment-billing.type.ts +0 -8
  587. package/src/domain/shopping/models/types/payment-card.type.ts +0 -14
  588. package/src/domain/shopping/models/types/payment-customer.type.ts +0 -19
  589. package/src/domain/shopping/models/types/payment-document.type.ts +0 -6
  590. package/src/domain/shopping/models/types/payment-item.type.ts +0 -11
  591. package/src/domain/shopping/models/types/payment-shipping.type.ts +0 -11
  592. package/src/domain/shopping/repositories/index.ts +0 -7
  593. package/src/domain/shopping/repositories/subscription/index.ts +0 -2
  594. package/src/domain/users/errors/index.ts +0 -3
  595. package/src/domain/users/errors/unauthorized.error.ts +0 -5
  596. package/src/domain/users/errors/user-already-registered.error.ts +0 -5
  597. package/src/domain/users/errors/weak-password.error.ts +0 -5
  598. package/src/domain/users/index.ts +0 -5
  599. package/src/domain/users/models/beauty-profile.ts +0 -24
  600. package/src/domain/users/models/enums/accessory-importances.enum.ts +0 -5
  601. package/src/domain/users/models/enums/area.enum.ts +0 -11
  602. package/src/domain/users/models/enums/beard-problems.enum.ts +0 -9
  603. package/src/domain/users/models/enums/beard-sizes.enum.ts +0 -7
  604. package/src/domain/users/models/enums/beauty-product-importances.enum.ts +0 -6
  605. package/src/domain/users/models/enums/body-problems.enum.ts +0 -11
  606. package/src/domain/users/models/enums/body-shapes.enum.ts +0 -7
  607. package/src/domain/users/models/enums/body-tattoos.enum.ts +0 -5
  608. package/src/domain/users/models/enums/face-skin-oilinesses.enum.ts +0 -7
  609. package/src/domain/users/models/enums/face-skin-problems.enum.ts +0 -10
  610. package/src/domain/users/models/enums/face-skin-tones.enum.ts +0 -8
  611. package/src/domain/users/models/enums/family-incomes.enum.ts +0 -8
  612. package/src/domain/users/models/enums/fragrance-importances.enum.ts +0 -5
  613. package/src/domain/users/models/enums/hair-colors.enum.ts +0 -10
  614. package/src/domain/users/models/enums/hair-problems.enum.ts +0 -10
  615. package/src/domain/users/models/enums/hair-strands.enum.ts +0 -8
  616. package/src/domain/users/models/enums/hair-types.enum.ts +0 -7
  617. package/src/domain/users/models/enums/index.ts +0 -20
  618. package/src/domain/users/models/enums/office-position.enum.ts +0 -6
  619. package/src/domain/users/models/enums/product-spents.enum.ts +0 -8
  620. package/src/domain/users/models/enums/user-type.enum.ts +0 -8
  621. package/src/domain/users/models/index.ts +0 -7
  622. package/src/domain/users/models/lead.ts +0 -13
  623. package/src/domain/users/models/subscription/edition.ts +0 -22
  624. package/src/domain/users/models/subscription/enums/billing-status.enum.ts +0 -3
  625. package/src/domain/users/models/subscription/enums/edition-status.enum.ts +0 -4
  626. package/src/domain/users/models/subscription/enums/index.ts +0 -4
  627. package/src/domain/users/models/subscription/enums/payment-type.enum.ts +0 -5
  628. package/src/domain/users/models/subscription/enums/status.enum.ts +0 -4
  629. package/src/domain/users/models/subscription/index.ts +0 -4
  630. package/src/domain/users/models/subscription/payment.ts +0 -26
  631. package/src/domain/users/models/subscription/subscription.ts +0 -45
  632. package/src/domain/users/models/user-address.ts +0 -11
  633. package/src/domain/users/models/user-payment-method.ts +0 -18
  634. package/src/domain/users/models/user.ts +0 -50
  635. package/src/domain/users/repositories/index.ts +0 -8
  636. package/src/domain/users/repositories/lead.repository.ts +0 -4
  637. package/src/domain/users/repositories/user.repository.ts +0 -7
  638. package/src/domain/users/services/authentication.service.ts +0 -14
  639. package/src/domain/users/services/index.ts +0 -3
  640. package/src/domain/users/services/register.service.ts +0 -7
  641. package/src/domain/users/services/types/basic-user-data.type.ts +0 -7
  642. package/src/domain/users/services/types/index.ts +0 -1
  643. package/src/domain/users/use-cases/authentication.ts +0 -53
  644. package/src/domain/users/use-cases/index.ts +0 -4
  645. package/src/domain/users/use-cases/recovery-password.ts +0 -9
  646. package/src/domain/users/use-cases/register.ts +0 -45
  647. package/src/domain/users/use-cases/signout.ts +0 -9
  648. package/src/errors/duplicated-results.error.ts +0 -5
  649. package/src/errors/index.ts +0 -4
  650. package/src/errors/invalid-argument.error.ts +0 -5
  651. package/src/errors/not-found.error.ts +0 -5
  652. package/src/errors/required-argument.error.ts +0 -9
  653. package/src/index.ts +0 -6
  654. package/src/infra/elasticsearch/adapters/axios.adapter.ts +0 -27
  655. package/src/infra/elasticsearch/adapters/index.ts +0 -2
  656. package/src/infra/elasticsearch/index.ts +0 -3
  657. package/src/infra/elasticsearch/indexes/index.ts +0 -1
  658. package/src/infra/elasticsearch/indexes/products-index.ts +0 -61
  659. package/src/infra/elasticsearch/types/elastic-search-result.ts +0 -7
  660. package/src/infra/elasticsearch/types/index.ts +0 -1
  661. package/src/infra/firebase/auth/authentication-firebase-auth.service.ts +0 -52
  662. package/src/infra/firebase/auth/index.ts +0 -2
  663. package/src/infra/firebase/auth/register-firebase-auth.service.ts +0 -26
  664. package/src/infra/firebase/auth/types/firebase-user-with-id.type.ts +0 -1
  665. package/src/infra/firebase/auth/types/index.ts +0 -1
  666. package/src/infra/firebase/firestore/index.ts +0 -3
  667. package/src/infra/firebase/firestore/mixins/index.ts +0 -9
  668. package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.ts +0 -36
  669. package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.ts +0 -19
  670. package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.ts +0 -21
  671. package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.ts +0 -142
  672. package/src/infra/firebase/firestore/mixins/with-firestore.mixin.ts +0 -42
  673. package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.ts +0 -27
  674. package/src/infra/firebase/firestore/mixins/with-helpers.mixin.ts +0 -26
  675. package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.ts +0 -30
  676. package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.ts +0 -69
  677. package/src/infra/firebase/firestore/models/index.ts +0 -1
  678. package/src/infra/firebase/firestore/models/user-search.ts +0 -13
  679. package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.ts +0 -80
  680. package/src/infra/firebase/firestore/repositories/catalog/index.ts +0 -4
  681. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.ts +0 -26
  682. package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.ts +0 -19
  683. package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.ts +0 -17
  684. package/src/infra/firebase/firestore/repositories/index.ts +0 -4
  685. package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.ts +0 -72
  686. package/src/infra/firebase/firestore/repositories/shop-settings/index.ts +0 -3
  687. package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.ts +0 -16
  688. package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.ts +0 -17
  689. package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.ts +0 -17
  690. package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.ts +0 -17
  691. package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.ts +0 -17
  692. package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.ts +0 -41
  693. package/src/infra/firebase/firestore/repositories/shopping/index.ts +0 -8
  694. package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.ts +0 -12
  695. package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.ts +0 -17
  696. package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.ts +0 -17
  697. package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.ts +0 -17
  698. package/src/infra/firebase/firestore/repositories/users/index.ts +0 -9
  699. package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.ts +0 -17
  700. package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.ts +0 -19
  701. package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.ts +0 -17
  702. package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.ts +0 -19
  703. package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.ts +0 -19
  704. package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.ts +0 -19
  705. package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.ts +0 -86
  706. package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.ts +0 -19
  707. package/src/infra/firebase/firestore/repositories/users/user-search-firestore.repository.ts +0 -17
  708. package/src/infra/firebase/firestore/types/firestore-sub.repository.type.ts +0 -11
  709. package/src/infra/firebase/firestore/types/firestore.helpers.type.ts +0 -13
  710. package/src/infra/firebase/firestore/types/firestore.repository.type.ts +0 -10
  711. package/src/infra/firebase/firestore/types/index.ts +0 -3
  712. package/src/infra/firebase/index.ts +0 -2
  713. package/src/infra/index.ts +0 -2
  714. package/src/utils/index.ts +0 -8
  715. package/src/utils/mixins/base.mixin.ts +0 -5
  716. package/src/utils/mixins/index.ts +0 -2
  717. package/src/utils/mixins/mixin-ctor.type.ts +0 -1
  718. package/src/utils/types/index.ts +0 -1
  719. package/src/utils/types/prop.type.ts +0 -1
  720. package/tsconfig.json +0 -14
  721. package/tsconfig.lib.json +0 -12
  722. package/tsconfig.lib.prod.json +0 -11
  723. package/tsconfig.spec.json +0 -17
  724. package/tslint.json +0 -3
@@ -0,0 +1,1798 @@
1
+ import 'reflect-metadata';
2
+ import { plainToClass, classToPlain, Expose, Type } from 'class-transformer';
3
+ import { __decorate, __metadata, __awaiter } from 'tslib';
4
+ export { add, sub } from 'date-fns';
5
+ import { isNil, isNumber, isString, isDate, set, isObject, isEmpty, chunk } from 'lodash';
6
+ export { chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set } from 'lodash';
7
+ import { Md5 } from 'ts-md5';
8
+ import axios from 'axios';
9
+ import firebase from 'firebase';
10
+ import firebase$1 from 'firebase/app';
11
+
12
+ class BaseModel {
13
+ constructor(args) {
14
+ Object.assign(this, args);
15
+ }
16
+ static toInstance(data) {
17
+ return plainToClass(this, data);
18
+ }
19
+ toPlain() {
20
+ return classToPlain(this, { exposeUnsetFields: false });
21
+ }
22
+ }
23
+
24
+ var Where;
25
+ (function (Where) {
26
+ Where["EQUALS"] = "==";
27
+ Where["NOTEQUALS"] = "!=";
28
+ Where["GT"] = ">";
29
+ Where["GTE"] = ">=";
30
+ Where["IN"] = "in";
31
+ Where["LT"] = "<";
32
+ Where["LTE"] = "<=";
33
+ Where["LIKE"] = "like";
34
+ })(Where || (Where = {}));
35
+
36
+ var UpdateOptionActions;
37
+ (function (UpdateOptionActions) {
38
+ UpdateOptionActions["UPDATE"] = "update";
39
+ UpdateOptionActions["MERGE"] = "merge";
40
+ UpdateOptionActions["REMOVE"] = "remove";
41
+ UpdateOptionActions["REMOVE_FIELD"] = "removeField";
42
+ UpdateOptionActions["NULL"] = "null";
43
+ })(UpdateOptionActions || (UpdateOptionActions = {}));
44
+
45
+ var AccessoryImportances;
46
+ (function (AccessoryImportances) {
47
+ AccessoryImportances["NOT_INTERESTED"] = "N\u00E3o tenho interesse";
48
+ AccessoryImportances["LIKE_RARELY_USE"] = "Gosto, mas uso poucos";
49
+ AccessoryImportances["LIKE_ALWAYS_FOLLOW_FASHION"] = "Gosto muito de acess\u00F3rios e sempre procuro acompanhar a moda";
50
+ })(AccessoryImportances || (AccessoryImportances = {}));
51
+
52
+ var Area;
53
+ (function (Area) {
54
+ Area["GP"] = "Geral";
55
+ Area["CRM"] = "CRM";
56
+ Area["MediaProd"] = "Media Production";
57
+ Area["Tech"] = "Tecnologia";
58
+ Area["Transactional"] = "Transacional";
59
+ Area["Operations"] = "Opera\u00E7\u00F5es";
60
+ Area["Sales"] = "Comercial";
61
+ Area["Finantial"] = "Financeiro";
62
+ Area["HR"] = "RH";
63
+ })(Area || (Area = {}));
64
+
65
+ var BeardProblems;
66
+ (function (BeardProblems) {
67
+ BeardProblems["NO_PROBLEMS"] = "Sem problemas";
68
+ BeardProblems["DRY"] = "Barba Seca";
69
+ BeardProblems["OILY"] = "Barba Oleaosa";
70
+ BeardProblems["DANCRUFF"] = "Barba com Caspa";
71
+ BeardProblems["INGROWN_HAIRS"] = "P\u00EAlos Encravados";
72
+ BeardProblems["DOESNT_GROW"] = "N\u00E3o Cresce";
73
+ BeardProblems["SPARSE_BEARD"] = "Barba Rala";
74
+ })(BeardProblems || (BeardProblems = {}));
75
+
76
+ var BeardSizes;
77
+ (function (BeardSizes) {
78
+ BeardSizes["BIG"] = "Grande";
79
+ BeardSizes["MEDIUM"] = "M\u00E9dia";
80
+ BeardSizes["SHORT"] = "Curta";
81
+ BeardSizes["MUSTACHE"] = "Bigode";
82
+ BeardSizes["NOTHING"] = "Sem Barba";
83
+ })(BeardSizes || (BeardSizes = {}));
84
+
85
+ var BeautyProductImportances;
86
+ (function (BeautyProductImportances) {
87
+ BeautyProductImportances["KNOW_LITTLE_ABOUT"] = "Conhe\u00E7o bem pouco de produtos de beleza e rotinas de cuidados";
88
+ BeautyProductImportances["ALREADY_BOUGHT_NOTHING_SPECIALIZED"] = "J\u00E1 comprei alguns produtos b\u00E1sicos para cuidar de mim, mas nada muito especializado";
89
+ BeautyProductImportances["GOOD_CARE_MYSELF"] = "Me considero um homem que se cuida bem. Conhe\u00E7o sobre produtos especializados e me preocupo em ter uma rotina de cuidados";
90
+ BeautyProductImportances["PERSONAL_CARE_EXPERT"] = "Sou um expert em cuidados pessoais";
91
+ })(BeautyProductImportances || (BeautyProductImportances = {}));
92
+
93
+ var BodyProblems;
94
+ (function (BodyProblems) {
95
+ BodyProblems["NO_WORRIES"] = "Sem preocupa\u00E7\u00F5es";
96
+ BodyProblems["FLACCIDITY"] = "Flacidez";
97
+ BodyProblems["LOCALIZED_FAT"] = "Gordura Localizada";
98
+ BodyProblems["STRETCH_MARKS"] = "Estrias";
99
+ BodyProblems["SENSITIVE_SKIN"] = "Pele Sens\u00EDvel";
100
+ BodyProblems["DRY_SKIN"] = "Pele Seca";
101
+ BodyProblems["OILY_ACNE"] = "Oleosa/Acne";
102
+ BodyProblems["SKIN_FRECKLES"] = "Pele com Sardas";
103
+ BodyProblems["PHOTOSENSITIVE_SKIN"] = "Pele Fotossens\u00EDvel";
104
+ })(BodyProblems || (BodyProblems = {}));
105
+
106
+ var BodyShapes;
107
+ (function (BodyShapes) {
108
+ BodyShapes["LEAN"] = "Magro";
109
+ BodyShapes["REGULAR"] = "Regular";
110
+ BodyShapes["OVERWEIGHT"] = "Acima do Peso";
111
+ BodyShapes["ATHLETIC"] = "Atl\u00E9tico";
112
+ BodyShapes["MUSCULAR"] = "Musculoso";
113
+ })(BodyShapes || (BodyShapes = {}));
114
+
115
+ var BodyTattoos;
116
+ (function (BodyTattoos) {
117
+ BodyTattoos["NONE"] = "Nenhuma";
118
+ BodyTattoos["HAS_DOESNT_CARE"] = "Tenho mas n\u00E3o cuido";
119
+ BodyTattoos["HAS_CARE_LOT"] = "Tenho e cuido bastante";
120
+ })(BodyTattoos || (BodyTattoos = {}));
121
+
122
+ var FaceSkinOilinesses;
123
+ (function (FaceSkinOilinesses) {
124
+ FaceSkinOilinesses["DRY"] = "Seca";
125
+ FaceSkinOilinesses["OILY"] = "Oleaosa";
126
+ FaceSkinOilinesses["MIXED"] = "Mista";
127
+ FaceSkinOilinesses["NORMAL"] = "Normal";
128
+ FaceSkinOilinesses["DONT_KNOW"] = "Eu n\u00E3o sei como dizer";
129
+ })(FaceSkinOilinesses || (FaceSkinOilinesses = {}));
130
+
131
+ var FaceSkinProblems;
132
+ (function (FaceSkinProblems) {
133
+ FaceSkinProblems["NO_PROBLEMS"] = "Sem problemas";
134
+ FaceSkinProblems["DARK_CIRCLES"] = "Olheiras";
135
+ FaceSkinProblems["WRINKLES"] = "Rugas";
136
+ FaceSkinProblems["BLACKHEADS_PIMPLES"] = "Cravos e Espinhas";
137
+ FaceSkinProblems["STAINS"] = "Manchas";
138
+ FaceSkinProblems["FRECKLES"] = "Sardas";
139
+ FaceSkinProblems["SENSITIVE"] = "Sens\u00EDvel";
140
+ FaceSkinProblems["PHOTOSENSITIVE"] = "Fotossens\u00EDvel";
141
+ })(FaceSkinProblems || (FaceSkinProblems = {}));
142
+
143
+ var FaceSkinTones;
144
+ (function (FaceSkinTones) {
145
+ FaceSkinTones["VERY_CLEAR"] = "Muito Clara";
146
+ FaceSkinTones["CLEAR"] = "Clara";
147
+ FaceSkinTones["MEDIUM_LIGHT"] = "Clara M\u00E9dia";
148
+ FaceSkinTones["MEDIUM_DARK"] = "Escura M\u00E9dia";
149
+ FaceSkinTones["DARK"] = "Escura";
150
+ FaceSkinTones["VERY_DARK"] = "Muito Escura";
151
+ })(FaceSkinTones || (FaceSkinTones = {}));
152
+
153
+ var FamilyIncomes;
154
+ (function (FamilyIncomes) {
155
+ FamilyIncomes["UNTIL_3000"] = "At\u00E9 R$3.000";
156
+ FamilyIncomes["SINCE_3001_TO_7000"] = "De R$3.001 a R$7.000";
157
+ FamilyIncomes["SINCE_7001_TO_10000"] = "De R$7.001 a R$10.000";
158
+ FamilyIncomes["SINCE_10001_TO_15000"] = "De R$10.001 a R$15.000";
159
+ FamilyIncomes["GRAN_THAN_15000"] = "Mais de R$15.000";
160
+ FamilyIncomes["NOW_ANSWER"] = "Prefiro nao responder";
161
+ })(FamilyIncomes || (FamilyIncomes = {}));
162
+
163
+ var FragranceImportances;
164
+ (function (FragranceImportances) {
165
+ FragranceImportances["NOT_INTERESTED"] = "N\u00E3o tenho interesse";
166
+ FragranceImportances["LIKE_ALWAYS_USE_SAME"] = "Gosto de perfumes, mas uso sempre os mesmos";
167
+ FragranceImportances["LIKE_INNOVATE"] = "Gosto de inovar e conhecer novas fragr\u00E2ncias";
168
+ })(FragranceImportances || (FragranceImportances = {}));
169
+
170
+ var HairColors;
171
+ (function (HairColors) {
172
+ HairColors["BLACK"] = "Preto";
173
+ HairColors["DARK_BROWN"] = "Castanho Escuro";
174
+ HairColors["LIGHT_BROWN"] = "Castanho Claro";
175
+ HairColors["DARK_BLONDE"] = "Loiro Escuro";
176
+ HairColors["LIGHT_BLONDE"] = "Loiro Claro";
177
+ HairColors["WHITE_GRAY"] = "Branco/Grisalho";
178
+ HairColors["REDHEAD"] = "Ruivo";
179
+ HairColors["OTHER"] = "RuiOutroo";
180
+ })(HairColors || (HairColors = {}));
181
+
182
+ var HairProblems;
183
+ (function (HairProblems) {
184
+ HairProblems["NO_PROBLEMS"] = "Sem problemas";
185
+ HairProblems["DANCRUFF"] = "Caspa";
186
+ HairProblems["LOSS"] = "Queda";
187
+ HairProblems["OILY"] = "Oleosidade";
188
+ HairProblems["DRYNESS"] = "Ressecamento";
189
+ HairProblems["CHEMICAL"] = "Quimica";
190
+ HairProblems["WHITE_HAIR"] = "Cabelos Brancos";
191
+ HairProblems["REBEL_WIRES"] = "Fios Rebeldes";
192
+ })(HairProblems || (HairProblems = {}));
193
+
194
+ var HairStrands;
195
+ (function (HairStrands) {
196
+ HairStrands["NORMAL"] = "Fio Normal";
197
+ HairStrands["DRY"] = "Fio Seco";
198
+ HairStrands["OILY"] = "Fio Oleoso";
199
+ HairStrands["MIXED"] = "Fio Misto";
200
+ HairStrands["FINE"] = "Fio Fino";
201
+ HairStrands["THICK"] = "Fio Grosso";
202
+ })(HairStrands || (HairStrands = {}));
203
+
204
+ var HairTypes;
205
+ (function (HairTypes) {
206
+ HairTypes["Smooth"] = "Liso";
207
+ HairTypes["WAVY"] = "Ondulado";
208
+ HairTypes["CURLY"] = "Cacheado";
209
+ HairTypes["FRIZZY"] = "Crespo";
210
+ HairTypes["BALD"] = "Sou careca";
211
+ })(HairTypes || (HairTypes = {}));
212
+
213
+ var OfficePosition;
214
+ (function (OfficePosition) {
215
+ OfficePosition["Intern"] = "Estagi\u00E1rio";
216
+ OfficePosition["Analyst"] = "Analista";
217
+ OfficePosition["Manager"] = "Gerente";
218
+ OfficePosition["Director"] = "Diretor";
219
+ })(OfficePosition || (OfficePosition = {}));
220
+
221
+ var ProductSpents;
222
+ (function (ProductSpents) {
223
+ ProductSpents["UNTIL_50"] = "At\u00E9 R$50";
224
+ ProductSpents["SINCE_51_TO_100"] = "De R$51 a R$100";
225
+ ProductSpents["SINCE_101_TO_200"] = "De R$101 a R$200";
226
+ ProductSpents["SINCE_201_TO_300"] = "De R$201 a R$300";
227
+ ProductSpents["GRAN_THAN_300"] = "Mais de R$300";
228
+ ProductSpents["NOW_ANSWER"] = "Prefiro nao responder";
229
+ })(ProductSpents || (ProductSpents = {}));
230
+
231
+ var UserType;
232
+ (function (UserType) {
233
+ UserType["B2C"] = "Cliente Transacional";
234
+ UserType["GlamGirl"] = "Glamgirl";
235
+ UserType["MensBoy"] = "Mensboy";
236
+ UserType["B2B"] = "Company";
237
+ UserType["Collaborator"] = "Funcion\u00E1rio";
238
+ UserType["Influencer"] = "Influencer";
239
+ })(UserType || (UserType = {}));
240
+
241
+ var BillingStatus;
242
+ (function (BillingStatus) {
243
+ BillingStatus["PAYED"] = "PAGO";
244
+ })(BillingStatus || (BillingStatus = {}));
245
+
246
+ var EditionStatus;
247
+ (function (EditionStatus) {
248
+ EditionStatus["ALLOCATION_WAITING"] = "Aguardando aloca\u00E7\u00E3o";
249
+ EditionStatus["SHIPPED"] = "Enviado";
250
+ })(EditionStatus || (EditionStatus = {}));
251
+
252
+ var PaymentType;
253
+ (function (PaymentType) {
254
+ PaymentType["AQUISITION"] = "Aquisi\u00E7\u00E3o";
255
+ PaymentType["RENEWAL"] = "Renova\u00E7\u00E3o";
256
+ PaymentType["FREIGHT"] = "mudan\u00E7a de endere\u00E7o, Frete";
257
+ })(PaymentType || (PaymentType = {}));
258
+
259
+ var Status;
260
+ (function (Status) {
261
+ Status["ACTIVE"] = "active";
262
+ Status["CANCELLED"] = "Cancelado";
263
+ })(Status || (Status = {}));
264
+
265
+ class Edition extends BaseModel {
266
+ identifierFields() {
267
+ return ['id'];
268
+ }
269
+ }
270
+
271
+ class Payment extends BaseModel {
272
+ identifierFields() {
273
+ return ['id'];
274
+ }
275
+ }
276
+ __decorate([
277
+ Expose({ name: 'refuse_reason' }),
278
+ __metadata("design:type", String)
279
+ ], Payment.prototype, "refuseReason", void 0);
280
+ __decorate([
281
+ Expose({ name: 'status_reason' }),
282
+ __metadata("design:type", String)
283
+ ], Payment.prototype, "statusReason", void 0);
284
+ __decorate([
285
+ Expose({ name: 'acquirer_response_code' }),
286
+ __metadata("design:type", String)
287
+ ], Payment.prototype, "acquirerResponseCode", void 0);
288
+ __decorate([
289
+ Expose({ name: 'acquirer_name' }),
290
+ __metadata("design:type", String)
291
+ ], Payment.prototype, "acquirerName", void 0);
292
+ __decorate([
293
+ Expose({ name: 'acquirer_id' }),
294
+ __metadata("design:type", String)
295
+ ], Payment.prototype, "acquirerId", void 0);
296
+ __decorate([
297
+ Expose({ name: 'authorization_code' }),
298
+ __metadata("design:type", String)
299
+ ], Payment.prototype, "authorizationCode", void 0);
300
+ __decorate([
301
+ Expose({ name: 'soft_descriptor' }),
302
+ __metadata("design:type", String)
303
+ ], Payment.prototype, "softDescriptor", void 0);
304
+ __decorate([
305
+ Expose({ name: 'date_created' }),
306
+ __metadata("design:type", String)
307
+ ], Payment.prototype, "dateCreated", void 0);
308
+ __decorate([
309
+ Expose({ name: 'date_updated' }),
310
+ __metadata("design:type", String)
311
+ ], Payment.prototype, "dateUpdated", void 0);
312
+ __decorate([
313
+ Expose({ name: 'authorized_amount' }),
314
+ __metadata("design:type", Number)
315
+ ], Payment.prototype, "authorizedAmount", void 0);
316
+ __decorate([
317
+ Expose({ name: 'paid_amount' }),
318
+ __metadata("design:type", Number)
319
+ ], Payment.prototype, "paidAmount", void 0);
320
+ __decorate([
321
+ Expose({ name: 'refunded_amount' }),
322
+ __metadata("design:type", Number)
323
+ ], Payment.prototype, "refundedAmount", void 0);
324
+ __decorate([
325
+ Expose({ name: 'card_holder_name' }),
326
+ __metadata("design:type", String)
327
+ ], Payment.prototype, "cardHolderName", void 0);
328
+ __decorate([
329
+ Expose({ name: 'card_last_digits' }),
330
+ __metadata("design:type", String)
331
+ ], Payment.prototype, "cardLastDigits", void 0);
332
+ __decorate([
333
+ Expose({ name: 'card_first_digits' }),
334
+ __metadata("design:type", String)
335
+ ], Payment.prototype, "cardFirstDigits", void 0);
336
+ __decorate([
337
+ Expose({ name: 'card_brand' }),
338
+ __metadata("design:type", String)
339
+ ], Payment.prototype, "cardBrand", void 0);
340
+ __decorate([
341
+ Expose({ name: 'card_pin_mode' }),
342
+ __metadata("design:type", String)
343
+ ], Payment.prototype, "cardPinMode", void 0);
344
+ __decorate([
345
+ Expose({ name: 'card_magstripe_fallback' }),
346
+ __metadata("design:type", Boolean)
347
+ ], Payment.prototype, "cardMagstripeFallback", void 0);
348
+ __decorate([
349
+ Expose({ name: 'cvm_pin' }),
350
+ __metadata("design:type", Boolean)
351
+ ], Payment.prototype, "cvmPin", void 0);
352
+ __decorate([
353
+ Expose({ name: 'postback_url' }),
354
+ __metadata("design:type", String)
355
+ ], Payment.prototype, "postbackUrl", void 0);
356
+ __decorate([
357
+ Expose({ name: 'payment_method' }),
358
+ __metadata("design:type", String)
359
+ ], Payment.prototype, "paymentMethod", void 0);
360
+ __decorate([
361
+ Expose({ name: 'capture_method' }),
362
+ __metadata("design:type", String)
363
+ ], Payment.prototype, "captureMethod", void 0);
364
+ __decorate([
365
+ Expose({ name: 'antifraud_score' }),
366
+ __metadata("design:type", String)
367
+ ], Payment.prototype, "antifraudScore", void 0);
368
+ __decorate([
369
+ Expose({ name: 'boleto_url' }),
370
+ __metadata("design:type", String)
371
+ ], Payment.prototype, "boletoUrl", void 0);
372
+ __decorate([
373
+ Expose({ name: 'boleto_barcode' }),
374
+ __metadata("design:type", String)
375
+ ], Payment.prototype, "boletoBarcode", void 0);
376
+ __decorate([
377
+ Expose({ name: 'boleto_expiration_date' }),
378
+ __metadata("design:type", String)
379
+ ], Payment.prototype, "boletoExpirationDate", void 0);
380
+ __decorate([
381
+ Expose({ name: 'subscription_id' }),
382
+ __metadata("design:type", String)
383
+ ], Payment.prototype, "subscriptionId", void 0);
384
+ __decorate([
385
+ Expose({ name: 'split_rules' }),
386
+ __metadata("design:type", String)
387
+ ], Payment.prototype, "splitRules", void 0);
388
+ __decorate([
389
+ Expose({ name: 'antifraud_metadata' }),
390
+ __metadata("design:type", Object)
391
+ ], Payment.prototype, "antifraudMetadata", void 0);
392
+ __decorate([
393
+ Expose({ name: 'reference_key' }),
394
+ __metadata("design:type", String)
395
+ ], Payment.prototype, "referenceKey", void 0);
396
+ __decorate([
397
+ Expose({ name: 'local_transaction_id' }),
398
+ __metadata("design:type", String)
399
+ ], Payment.prototype, "localTransactionId", void 0);
400
+ __decorate([
401
+ Expose({ name: 'local_time' }),
402
+ __metadata("design:type", String)
403
+ ], Payment.prototype, "localTime", void 0);
404
+ __decorate([
405
+ Expose({ name: 'fraud_covered' }),
406
+ __metadata("design:type", Boolean)
407
+ ], Payment.prototype, "fraudCovered", void 0);
408
+ __decorate([
409
+ Expose({ name: 'fraud_reimbursed' }),
410
+ __metadata("design:type", String)
411
+ ], Payment.prototype, "fraudReimbursed", void 0);
412
+ __decorate([
413
+ Expose({ name: 'order_id' }),
414
+ __metadata("design:type", String)
415
+ ], Payment.prototype, "orderId", void 0);
416
+ __decorate([
417
+ Expose({ name: 'risk_level' }),
418
+ __metadata("design:type", String)
419
+ ], Payment.prototype, "riskLevel", void 0);
420
+ __decorate([
421
+ Expose({ name: 'receipt_url' }),
422
+ __metadata("design:type", String)
423
+ ], Payment.prototype, "receiptUrl", void 0);
424
+ __decorate([
425
+ Expose({ name: 'private_label' }),
426
+ __metadata("design:type", String)
427
+ ], Payment.prototype, "privateLabel", void 0);
428
+ __decorate([
429
+ Expose({ name: 'pix_qr_code' }),
430
+ __metadata("design:type", String)
431
+ ], Payment.prototype, "pixQrCode", void 0);
432
+ __decorate([
433
+ Expose({ name: 'pix_expiration_date' }),
434
+ __metadata("design:type", String)
435
+ ], Payment.prototype, "pixExpirationDate", void 0);
436
+
437
+ class SubscriptionPayment extends BaseModel {
438
+ identifierFields() {
439
+ return ['id'];
440
+ }
441
+ }
442
+ __decorate([
443
+ Type(() => Payment),
444
+ __metadata("design:type", Payment)
445
+ ], SubscriptionPayment.prototype, "payment", void 0);
446
+
447
+ class Address extends BaseModel {
448
+ }
449
+
450
+ var CheckoutTypes;
451
+ (function (CheckoutTypes) {
452
+ CheckoutTypes[CheckoutTypes["ECOMMERCE"] = 1] = "ECOMMERCE";
453
+ CheckoutTypes[CheckoutTypes["SUBSCRIPTION"] = 2] = "SUBSCRIPTION";
454
+ })(CheckoutTypes || (CheckoutTypes = {}));
455
+
456
+ class Base {
457
+ constructor(...args) {
458
+ Object.assign(this, ...args);
459
+ }
460
+ }
461
+
462
+ var CouponTypes;
463
+ (function (CouponTypes) {
464
+ CouponTypes[CouponTypes["FINANCIAL"] = 1] = "FINANCIAL";
465
+ CouponTypes[CouponTypes["PRODUCT"] = 2] = "PRODUCT";
466
+ CouponTypes[CouponTypes["GIFTCARD"] = 3] = "GIFTCARD";
467
+ CouponTypes[CouponTypes["VOUCHER"] = 4] = "VOUCHER";
468
+ })(CouponTypes || (CouponTypes = {}));
469
+
470
+ var CouponSubtypes;
471
+ (function (CouponSubtypes) {
472
+ CouponSubtypes[CouponSubtypes["ABSOLUTE"] = 1] = "ABSOLUTE";
473
+ CouponSubtypes[CouponSubtypes["PERCENTAGE"] = 2] = "PERCENTAGE";
474
+ })(CouponSubtypes || (CouponSubtypes = {}));
475
+
476
+ var Exclusivities;
477
+ (function (Exclusivities) {
478
+ Exclusivities[Exclusivities["ALL_USERS"] = 1] = "ALL_USERS";
479
+ Exclusivities[Exclusivities["SPECIFIC_USER"] = 2] = "SPECIFIC_USER";
480
+ Exclusivities[Exclusivities["COLLABORATORS"] = 3] = "COLLABORATORS";
481
+ })(Exclusivities || (Exclusivities = {}));
482
+
483
+ class Coupon extends BaseModel {
484
+ get isInfluencer() {
485
+ return !isNil(this.influencerEmail);
486
+ }
487
+ identifierFields() {
488
+ return ['id'];
489
+ }
490
+ }
491
+ __decorate([
492
+ Expose({ name: 'checkout_type' }),
493
+ __metadata("design:type", Number)
494
+ ], Coupon.prototype, "checkoutType", void 0);
495
+ __decorate([
496
+ Expose({ name: 'exclusivity_type' }),
497
+ __metadata("design:type", Number)
498
+ ], Coupon.prototype, "exclusivityType", void 0);
499
+
500
+ class SubscriptionPlan extends BaseModel {
501
+ identifierFields() {
502
+ return ['id'];
503
+ }
504
+ }
505
+
506
+ class BeautyProfile extends BaseModel {
507
+ toPlain() {
508
+ const plain = super.toPlain();
509
+ delete plain.id;
510
+ return plain;
511
+ }
512
+ identifierFields() {
513
+ return ['id'];
514
+ }
515
+ }
516
+
517
+ class User extends BaseModel {
518
+ static toInstance(data) {
519
+ const instance = super.toInstance(data);
520
+ if (!isNil(data.firstName))
521
+ instance.displayName = `${data.firstName}${!isNil(data.lastName) ? ` ${data.lastName}` : ''}`;
522
+ return instance;
523
+ }
524
+ identifierFields() {
525
+ return ['id'];
526
+ }
527
+ toPlain() {
528
+ const plain = super.toPlain();
529
+ delete plain.beautyProfile;
530
+ return plain;
531
+ }
532
+ }
533
+ __decorate([
534
+ Type(() => BeautyProfile),
535
+ __metadata("design:type", BeautyProfile)
536
+ ], User.prototype, "beautyProfile", void 0);
537
+
538
+ class Subscription extends BaseModel {
539
+ identifierFields() {
540
+ return ['id'];
541
+ }
542
+ }
543
+ __decorate([
544
+ Type(() => User),
545
+ __metadata("design:type", User)
546
+ ], Subscription.prototype, "user", void 0);
547
+ __decorate([
548
+ Type(() => SubscriptionPlan),
549
+ __metadata("design:type", SubscriptionPlan)
550
+ ], Subscription.prototype, "subscriptionPlan", void 0);
551
+ __decorate([
552
+ Type(() => Address),
553
+ __metadata("design:type", Address)
554
+ ], Subscription.prototype, "shippingAddress", void 0);
555
+ __decorate([
556
+ Type(() => Address),
557
+ __metadata("design:type", Address)
558
+ ], Subscription.prototype, "billingAddress", void 0);
559
+ __decorate([
560
+ Type(() => Coupon),
561
+ __metadata("design:type", Coupon)
562
+ ], Subscription.prototype, "coupon", void 0);
563
+ __decorate([
564
+ Type(() => Edition),
565
+ __metadata("design:type", Array)
566
+ ], Subscription.prototype, "editions", void 0);
567
+ __decorate([
568
+ Type(() => SubscriptionPayment),
569
+ __metadata("design:type", Array)
570
+ ], Subscription.prototype, "payment", void 0);
571
+
572
+ class UserAddress extends Address {
573
+ identifierFields() {
574
+ return ['id'];
575
+ }
576
+ }
577
+
578
+ class UserPaymentMethod extends BaseModel {
579
+ identifierFields() {
580
+ return ['id'];
581
+ }
582
+ }
583
+
584
+ class Lead extends BaseModel {
585
+ identifierFields() {
586
+ return ['id'];
587
+ }
588
+ }
589
+
590
+ class UnauthorizedError extends Error {
591
+ constructor(message) {
592
+ super(message);
593
+ this.message = message;
594
+ }
595
+ }
596
+
597
+ var SignInMethods;
598
+ (function (SignInMethods) {
599
+ SignInMethods["EMAIL_PASSWORD"] = "email_password";
600
+ SignInMethods["GOOGLE"] = "google";
601
+ })(SignInMethods || (SignInMethods = {}));
602
+ class Authentication {
603
+ constructor(authService, userRepository) {
604
+ this.authService = authService;
605
+ this.userRepository = userRepository;
606
+ }
607
+ signIn({ email, password }, signInMethod) {
608
+ return __awaiter(this, void 0, void 0, function* () {
609
+ const method = this.getServiceByMethod(signInMethod);
610
+ const userAuth = yield this.authService[method]({ email, password });
611
+ const user = this.userRepository.get(userAuth);
612
+ if (!isNil(user))
613
+ return user;
614
+ if (/^.+@b4a.com.br$/.test(userAuth.email))
615
+ return this.createsUserByCredential(userAuth);
616
+ throw new UnauthorizedError('Invalid credentials');
617
+ });
618
+ }
619
+ getServiceByMethod(signInMethod) {
620
+ return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle';
621
+ }
622
+ createsUserByCredential(user) {
623
+ var _a;
624
+ return __awaiter(this, void 0, void 0, function* () {
625
+ const [firstName, lastName] = (_a = user.displayName) === null || _a === void 0 ? void 0 : _a.split(/\s/);
626
+ const person = User.toInstance(Object.assign(Object.assign({}, user), { cpf: '', birthday: new Date(), firstName,
627
+ lastName, acceptsNewsletter: false, area: Area.Transactional, officePosition: OfficePosition.Intern, type: UserType.Collaborator }));
628
+ return this.userRepository.create(person);
629
+ });
630
+ }
631
+ }
632
+
633
+ class UserAlreadyRegisteredError extends Error {
634
+ constructor(message) {
635
+ super(message);
636
+ this.message = message;
637
+ }
638
+ }
639
+
640
+ class WeakPasswordError extends Error {
641
+ constructor(message = 'Weak password') {
642
+ super(message);
643
+ this.message = message;
644
+ }
645
+ }
646
+
647
+ class Register {
648
+ constructor(registerService, userRepository) {
649
+ this.registerService = registerService;
650
+ this.userRepository = userRepository;
651
+ }
652
+ register(params) {
653
+ return __awaiter(this, void 0, void 0, function* () {
654
+ const email = params.email.toLocaleLowerCase();
655
+ const displayName = `${params.firstName} ${params.lastName}`;
656
+ if (yield this.userRepository.checkIfExistsByField('cpf', params.cpf))
657
+ throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`);
658
+ if (yield this.userRepository.checkIfExistsByField('email', params.email))
659
+ throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`);
660
+ const auth = yield this.registerService.register({
661
+ birthday: params.birthday,
662
+ email,
663
+ firstName: params.firstName,
664
+ lastName: params.lastName,
665
+ cpf: params.cpf,
666
+ displayName,
667
+ phone: params.phone,
668
+ password: params.password,
669
+ });
670
+ delete params.password;
671
+ const user = yield this.userRepository.create(Object.assign(Object.assign({}, params), { id: auth.id, email,
672
+ displayName, type: UserType.B2C, dateCreated: new Date(), dateModified: new Date() }));
673
+ return user;
674
+ });
675
+ }
676
+ }
677
+
678
+ class SignOut {
679
+ constructor(authService) {
680
+ this.authService = authService;
681
+ }
682
+ signOut() {
683
+ return __awaiter(this, void 0, void 0, function* () {
684
+ yield this.authService.signOut();
685
+ });
686
+ }
687
+ }
688
+
689
+ class RecoveryPassword {
690
+ constructor(authService) {
691
+ this.authService = authService;
692
+ }
693
+ sendEmail(email) {
694
+ return __awaiter(this, void 0, void 0, function* () {
695
+ yield this.authService.sendPasswordResetEmail(email);
696
+ });
697
+ }
698
+ }
699
+
700
+ var Shops;
701
+ (function (Shops) {
702
+ Shops["MENSMARKET"] = "mensmarket";
703
+ Shops["GLAMSHOP"] = "Glamshop";
704
+ Shops["GLAMPOINTS"] = "Glampoints";
705
+ })(Shops || (Shops = {}));
706
+
707
+ class Category extends BaseModel {
708
+ identifierFields() {
709
+ return ['id'];
710
+ }
711
+ }
712
+
713
+ class Product extends BaseModel {
714
+ identifierFields() {
715
+ return ['id'];
716
+ }
717
+ getInfoByShop(shop) {
718
+ var _a, _b, _c, _d, _e, _f;
719
+ 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]) || {}));
720
+ }
721
+ }
722
+
723
+ class Variant extends BaseModel {
724
+ identifierFields() {
725
+ return ['id'];
726
+ }
727
+ }
728
+
729
+ const COUPON_EXPIRATION = 60 * 60 * 24 * 30;
730
+ class FinancialCoupon extends Coupon {
731
+ constructor() {
732
+ super(...arguments);
733
+ this.type = CouponTypes.FINANCIAL;
734
+ }
735
+ static isFinancialCoupon(coupon) {
736
+ return coupon.type === CouponTypes.FINANCIAL && !!coupon.subtype;
737
+ }
738
+ static createCoupon(userId) {
739
+ return this.toInstance({
740
+ name: Md5.hashStr(`${userId}_${Date.now}`).toString(),
741
+ nickname: `${Date.now()}`,
742
+ type: CouponTypes.FINANCIAL,
743
+ subtype: CouponSubtypes.PERCENTAGE,
744
+ checkoutType: CheckoutTypes.ECOMMERCE,
745
+ discount: 30,
746
+ user: userId,
747
+ createdAt: new Date(Date.now()),
748
+ expiresIn: new Date(Date.now() + COUPON_EXPIRATION),
749
+ });
750
+ }
751
+ }
752
+
753
+ var OrderStatus;
754
+ (function (OrderStatus) {
755
+ OrderStatus["AGUARDANDO_PAGAMENTO"] = "Aguardando pagamento";
756
+ OrderStatus["EM_PREPARO"] = "Preparando pedido";
757
+ OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
758
+ OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
759
+ OrderStatus["ENVIADO"] = "Pedido Enviado";
760
+ OrderStatus["ENTREGUE"] = "Pedido entregue";
761
+ OrderStatus["CANCELADO"] = "Cancelado";
762
+ OrderStatus["CREDIT_CARD"] = "credit_card";
763
+ })(OrderStatus || (OrderStatus = {}));
764
+
765
+ class LineItem extends Product {
766
+ }
767
+
768
+ class ShippingMethod extends BaseModel {
769
+ identifierFields() {
770
+ return ['id'];
771
+ }
772
+ }
773
+
774
+ class Checkout extends BaseModel {
775
+ identifierFields() {
776
+ return ['id'];
777
+ }
778
+ }
779
+ __decorate([
780
+ Type(() => LineItem),
781
+ __metadata("design:type", Array)
782
+ ], Checkout.prototype, "lineItems", void 0);
783
+ __decorate([
784
+ Type(() => User),
785
+ __metadata("design:type", User)
786
+ ], Checkout.prototype, "user", void 0);
787
+ __decorate([
788
+ Type(() => Address),
789
+ __metadata("design:type", Address)
790
+ ], Checkout.prototype, "shippingAddress", void 0);
791
+ __decorate([
792
+ Type(() => Address),
793
+ __metadata("design:type", Address)
794
+ ], Checkout.prototype, "billingAddress", void 0);
795
+ __decorate([
796
+ Type(() => ShippingMethod),
797
+ __metadata("design:type", ShippingMethod)
798
+ ], Checkout.prototype, "shipping", void 0);
799
+ __decorate([
800
+ Type(() => Coupon),
801
+ __metadata("design:type", Coupon)
802
+ ], Checkout.prototype, "coupon", void 0);
803
+
804
+ class Order extends Checkout {
805
+ }
806
+ __decorate([
807
+ Type(() => Payment),
808
+ __metadata("design:type", Payment)
809
+ ], Order.prototype, "payment", void 0);
810
+
811
+ class CheckoutSubscription extends BaseModel {
812
+ identifierFields() {
813
+ return ['id'];
814
+ }
815
+ }
816
+ __decorate([
817
+ Type(() => Address),
818
+ __metadata("design:type", Address)
819
+ ], CheckoutSubscription.prototype, "shippingAddress", void 0);
820
+ __decorate([
821
+ Type(() => Address),
822
+ __metadata("design:type", Address)
823
+ ], CheckoutSubscription.prototype, "billingAddress", void 0);
824
+ __decorate([
825
+ Type(() => SubscriptionPlan),
826
+ __metadata("design:type", SubscriptionPlan)
827
+ ], CheckoutSubscription.prototype, "subscriptionPlan", void 0);
828
+ __decorate([
829
+ Type(() => Coupon),
830
+ __metadata("design:type", Coupon)
831
+ ], CheckoutSubscription.prototype, "coupon", void 0);
832
+
833
+ class Buy2Win extends BaseModel {
834
+ identifierFields() {
835
+ return ['id'];
836
+ }
837
+ }
838
+ __decorate([
839
+ Type(() => Category),
840
+ __metadata("design:type", Array)
841
+ ], Buy2Win.prototype, "categories", void 0);
842
+
843
+ var FilterType;
844
+ (function (FilterType) {
845
+ FilterType["ACCESSORY_IMPORTANCE"] = "accessoryImportance";
846
+ FilterType["BEARD_PROBLEMS"] = "beardProblems";
847
+ FilterType["BEARD_SIZE"] = "beardSize";
848
+ FilterType["BEAUTY_PRODUCT_IMPORTANCE"] = "beautyProductImportance";
849
+ FilterType["BODY_PROBLEMS"] = "bodyProblems";
850
+ FilterType["BODY_SHAPE"] = "bodyShape";
851
+ FilterType["BODY_TATTOOS"] = "bodyTattoos";
852
+ FilterType["FACE_SKIN_OILINESS"] = "faceSkinOiliness";
853
+ FilterType["FACE_SKIN_PROBLEMS"] = "faceSkinProblems";
854
+ FilterType["FACE_SKIN_TONE"] = "faceSkinTone";
855
+ FilterType["FAMILY_INCOME"] = "familyIncome";
856
+ FilterType["FRAGRANCE_IMPORTANCE"] = "fragranceImportance";
857
+ FilterType["HAIR_COLOR"] = "hairColor";
858
+ FilterType["HAIR_PROBLEMS"] = "hairProblems";
859
+ FilterType["HAIR_STRANDS"] = "hairStrands";
860
+ FilterType["HAIR_TYPE"] = "hairType";
861
+ FilterType["PRODUCT_SPENT"] = "productSpent";
862
+ })(FilterType || (FilterType = {}));
863
+
864
+ var QuestionsFilters;
865
+ (function (QuestionsFilters) {
866
+ QuestionsFilters["ACCESSORY_IMPORTANCE"] = "Voc\u00EA gosta de usar acess\u00F3rios masculinos?";
867
+ QuestionsFilters["BEARD_PROBLEMS"] = "Quais problemas de barba voc\u00EA tem?";
868
+ QuestionsFilters["BEARD_SIZE"] = "Quais caracteristicas se aplicam \u00E0 sua BARBA/BIGODE?";
869
+ QuestionsFilters["BEAUTY_PRODUCT_IMPORTANCE"] = "O que descreve melhor a sua rela\u00E7\u00E3o com produtos de beleza e cuidados pessoais?";
870
+ QuestionsFilters["BODY_PROBLEMS"] = "Qual ou quais preocupa\u00E7\u00F5es voc\u00EA tem com a pele do seu corpo?";
871
+ QuestionsFilters["BODY_SHAPE"] = "Qual e seu tipo de CORPO?";
872
+ QuestionsFilters["BODY_TATTOOS"] = "Voc\u00EA tem alguma tatuagem?";
873
+ QuestionsFilters["FACE_SKIN_OILINESS"] = "Quais caracteristicas se aplicam \u00E0 pele do seu ROSTO?";
874
+ QuestionsFilters["FACE_SKIN_PROBLEMS"] = "Quais problemas a pele do seu rosto tem?";
875
+ QuestionsFilters["FACE_SKIN_TONE"] = "Qual seu tom de pele?";
876
+ QuestionsFilters["FAMILY_INCOME"] = "Qual a sua renda familiar mensal (considerando a renda de todas as pessoas que moram com voc\u00EA)?";
877
+ QuestionsFilters["FRAGRANCE_IMPORTANCE"] = "O quanto voc\u00EA gosta de experimentar perfumes?";
878
+ QuestionsFilters["HAIR_COLOR"] = "Seu cabelo \u00E9 naturalmente de qual COR?";
879
+ QuestionsFilters["HAIR_PROBLEMS"] = "Qual ou quais problemas/caracter\u00EDstica de cabelo te preocupam?";
880
+ QuestionsFilters["HAIR_STRANDS"] = "Como s\u00E3o seus fios?";
881
+ QuestionsFilters["HAIR_TYPE"] = "Como \u00E9 o seu cabelo?";
882
+ QuestionsFilters["PRODUCT_SPENT"] = "Qual \u00E9 o seu nivel de gasto mensal em produtos de beleza e cuidados pessoais?";
883
+ })(QuestionsFilters || (QuestionsFilters = {}));
884
+
885
+ class BeautyQuestionsHelper {
886
+ static getAnswers(filter) {
887
+ switch (filter) {
888
+ case FilterType.ACCESSORY_IMPORTANCE:
889
+ return AccessoryImportances;
890
+ case FilterType.BEARD_PROBLEMS:
891
+ return BeardProblems;
892
+ case FilterType.BEARD_SIZE:
893
+ return BeardSizes;
894
+ case FilterType.BEAUTY_PRODUCT_IMPORTANCE:
895
+ return BeautyProductImportances;
896
+ case FilterType.BODY_PROBLEMS:
897
+ return BodyProblems;
898
+ case FilterType.BODY_SHAPE:
899
+ return BodyShapes;
900
+ case FilterType.BODY_TATTOOS:
901
+ return BodyTattoos;
902
+ case FilterType.FACE_SKIN_OILINESS:
903
+ return FaceSkinOilinesses;
904
+ case FilterType.FACE_SKIN_PROBLEMS:
905
+ return FaceSkinProblems;
906
+ case FilterType.FACE_SKIN_TONE:
907
+ return FaceSkinTones;
908
+ case FilterType.FAMILY_INCOME:
909
+ return FamilyIncomes;
910
+ case FilterType.FRAGRANCE_IMPORTANCE:
911
+ return FragranceImportances;
912
+ case FilterType.HAIR_COLOR:
913
+ return HairColors;
914
+ case FilterType.HAIR_PROBLEMS:
915
+ return HairProblems;
916
+ case FilterType.HAIR_STRANDS:
917
+ return HairStrands;
918
+ case FilterType.HAIR_TYPE:
919
+ return HairTypes;
920
+ case FilterType.PRODUCT_SPENT:
921
+ return ProductSpents;
922
+ }
923
+ }
924
+ static getQuestions(filter) {
925
+ return QuestionsFilters[filter];
926
+ }
927
+ }
928
+
929
+ class Home extends BaseModel {
930
+ identifierFields() {
931
+ return ['id'];
932
+ }
933
+ }
934
+
935
+ class ShopMenu extends BaseModel {
936
+ identifierFields() {
937
+ return ['id'];
938
+ }
939
+ }
940
+
941
+ class ShopSettings extends BaseModel {
942
+ identifierFields() {
943
+ return ['id'];
944
+ }
945
+ }
946
+
947
+ class InvalidArgumentError extends Error {
948
+ constructor(message) {
949
+ super(message);
950
+ this.message = message;
951
+ }
952
+ }
953
+
954
+ class RequiredArgumentError extends Error {
955
+ constructor(args) {
956
+ super(`Required arguments: ${args.join(', ')}`);
957
+ this.args = args;
958
+ this.arguments = args;
959
+ }
960
+ }
961
+
962
+ class NotFoundError extends Error {
963
+ constructor(message) {
964
+ super(message);
965
+ this.message = message;
966
+ }
967
+ }
968
+
969
+ class DuplicatedResultsError extends Error {
970
+ constructor(message) {
971
+ super(message);
972
+ this.message = message;
973
+ }
974
+ }
975
+
976
+ class AxiosAdapter {
977
+ constructor(config) {
978
+ this.config = config;
979
+ }
980
+ query(index, query) {
981
+ return __awaiter(this, void 0, void 0, function* () {
982
+ const { data } = yield axios({
983
+ url: `${this.config.url}/${index}`,
984
+ method: 'POST',
985
+ headers: { Authorization: `Basic ${this.config.credential}` },
986
+ data: query,
987
+ });
988
+ return {
989
+ total: data.hits.total.value,
990
+ hits: data.hits.hits,
991
+ };
992
+ });
993
+ }
994
+ }
995
+
996
+ class ProductsIndex {
997
+ constructor(adapter) {
998
+ this.adapter = adapter;
999
+ }
1000
+ findById(ids, options) {
1001
+ return __awaiter(this, void 0, void 0, function* () {
1002
+ const publishedField = options.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published';
1003
+ const fields = [
1004
+ 'brand',
1005
+ 'id',
1006
+ 'images',
1007
+ 'miniatures',
1008
+ 'name',
1009
+ 'price',
1010
+ 'sku',
1011
+ 'stock',
1012
+ 'slug',
1013
+ 'reviews',
1014
+ 'pricePaid',
1015
+ 'isGift',
1016
+ 'stock',
1017
+ 'weight',
1018
+ 'tags',
1019
+ 'hasVariants',
1020
+ ];
1021
+ const { hits } = yield this.adapter.query('products/_search', Object.assign({ _source: fields, query: {
1022
+ bool: {
1023
+ filter: [
1024
+ {
1025
+ terms: {
1026
+ _id: ids,
1027
+ },
1028
+ },
1029
+ {
1030
+ term: {
1031
+ [publishedField]: true,
1032
+ },
1033
+ },
1034
+ ...(options.hasStock
1035
+ ? [
1036
+ {
1037
+ range: {
1038
+ 'stock.quantity': {
1039
+ gt: 0,
1040
+ },
1041
+ },
1042
+ },
1043
+ ]
1044
+ : []),
1045
+ ],
1046
+ },
1047
+ } }, (options.size ? { size: options.size } : {})));
1048
+ return hits.map((hit) => Product.toInstance(hit._source));
1049
+ });
1050
+ }
1051
+ }
1052
+
1053
+ const withFirestore = (MixinBase) => {
1054
+ return class extends MixinBase {
1055
+ constructor(...args) {
1056
+ super(args);
1057
+ }
1058
+ collection(path) {
1059
+ return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance());
1060
+ }
1061
+ buildModelInstance() {
1062
+ return {
1063
+ toFirestore: (data) => ((data === null || data === void 0 ? void 0 : data.toPlain) ? data.toPlain() : data),
1064
+ fromFirestore: (snap) => {
1065
+ const data = snap.data();
1066
+ Object.keys(data).forEach((key) => {
1067
+ if (data[key] instanceof firebase.firestore.Timestamp) {
1068
+ data[key] = data[key].toDate();
1069
+ }
1070
+ });
1071
+ return this.model.toInstance(Object.assign(Object.assign({}, data), { id: snap.id }));
1072
+ },
1073
+ };
1074
+ }
1075
+ };
1076
+ };
1077
+
1078
+ const withHelpers = (MixinBase) => {
1079
+ return class extends MixinBase {
1080
+ toArray(snapShot) {
1081
+ if (Array.isArray(snapShot)) {
1082
+ return snapShot.map((doc) => doc.data());
1083
+ }
1084
+ else {
1085
+ return snapShot.docs.map((doc) => doc.data());
1086
+ }
1087
+ }
1088
+ isSubCollection(repository) {
1089
+ return !isNil(Object.keys(this).find((key) => key === 'parentRepository'));
1090
+ }
1091
+ };
1092
+ };
1093
+
1094
+ const withGetFirestore = (MixinBase) => {
1095
+ return class GetFirestore extends MixinBase {
1096
+ get(identifiers) {
1097
+ return __awaiter(this, void 0, void 0, function* () {
1098
+ const doc = yield this.collection(this.buildCollectionPathForGet(identifiers))
1099
+ .doc(Object.values(identifiers).shift().toString())
1100
+ .get();
1101
+ const data = doc.data();
1102
+ if (isNil(data))
1103
+ throw new NotFoundError(`Document ${JSON.stringify(identifiers)} not found`);
1104
+ return data;
1105
+ });
1106
+ }
1107
+ buildCollectionPathForGet(identifiers) {
1108
+ return this.isSubCollection(this)
1109
+ ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
1110
+ : this.collectionName;
1111
+ }
1112
+ };
1113
+ };
1114
+
1115
+ const withFindFirestore = (MixinBase) => {
1116
+ const checkIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
1117
+ const getValueFromFilter = (filter) => {
1118
+ return checkIfIsFilterOption(filter) ? filter.value : filter;
1119
+ };
1120
+ const getFinalValueFrom = (value) => isNumber(value) || isString(value) || isDate(value) || Array.isArray(value)
1121
+ ? value
1122
+ : Object.values(getFinalValueFrom);
1123
+ return class FindFirestore extends MixinBase {
1124
+ constructor() {
1125
+ super(...arguments);
1126
+ this.makeFirestoreWhere = (queryReference, filter) => Object.keys(filter).reduce((query, fieldName) => this.buildWhereSentence(query, fieldName, filter[fieldName]), queryReference);
1127
+ this.buildWhereSentence = (queryReference, fieldName, options) => {
1128
+ if (this.isSubCollection(this) && fieldName === this.parentIdField)
1129
+ return queryReference;
1130
+ const value = (options === null || options === void 0 ? void 0 : options.value) || options;
1131
+ const object = {};
1132
+ set(object, fieldName, value);
1133
+ const plainInstance = new this.model(object).toPlain();
1134
+ const firestoreFieldName = fieldName.toString().indexOf('.') > -1
1135
+ ? fieldName.toString()
1136
+ : Object.keys(plainInstance).find((key) => plainInstance[key]);
1137
+ if ((options === null || options === void 0 ? void 0 : options.operator) === Where.LIKE) {
1138
+ if (Array.isArray(options === null || options === void 0 ? void 0 : options.value))
1139
+ return queryReference.where(firestoreFieldName, 'array-contains-any', options.value);
1140
+ queryReference = queryReference.where(firestoreFieldName, '>=', options.value);
1141
+ queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`);
1142
+ return queryReference;
1143
+ }
1144
+ if ((options === null || options === void 0 ? void 0 : options.operator) === Where.IN && Array.isArray(options === null || options === void 0 ? void 0 : options.value))
1145
+ return queryReference.where(firestoreFieldName, 'array-contains', options.value);
1146
+ if (isObject(options) && isNil(options === null || options === void 0 ? void 0 : options.operator) && isNil(options === null || options === void 0 ? void 0 : options.value)) {
1147
+ return Object.keys(options).reduce((queryReferenceWithWhere, key) => this.buildWhereSentence(queryReferenceWithWhere, `${fieldName}.${key}`, options[key]), queryReference);
1148
+ }
1149
+ return queryReference.where(firestoreFieldName, (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
1150
+ };
1151
+ }
1152
+ find(filters, limits, orderBy) {
1153
+ return __awaiter(this, void 0, void 0, function* () {
1154
+ let query = this.collection(this.buildCollectionPathForFind(filters));
1155
+ filters === null || filters === void 0 ? void 0 : filters.forEach((filterer) => (query = this.makeFirestoreWhere(query, filterer)));
1156
+ orderBy === null || orderBy === void 0 ? void 0 : orderBy.forEach((orderer) => Object.keys(orderer).forEach((fieldName) => (query = query.orderBy(fieldName, orderer[fieldName]))));
1157
+ query = yield this.defineLimits(query, filters, limits);
1158
+ const docs = yield query.get();
1159
+ const data = docs.docs.map((doc) => doc.data());
1160
+ return {
1161
+ data,
1162
+ count: this.calculateCount(data, limits),
1163
+ };
1164
+ });
1165
+ }
1166
+ buildCollectionPathForFind(filters) {
1167
+ var _a;
1168
+ if (!this.isSubCollection(this))
1169
+ return this.collectionName;
1170
+ const parentIdField = this.parentIdField;
1171
+ const parentId = getValueFromFilter((_a = filters.find((groupFilter) => Boolean(getValueFromFilter(groupFilter[parentIdField])))) === null || _a === void 0 ? void 0 : _a[parentIdField]);
1172
+ return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`;
1173
+ }
1174
+ defineLimits(query, filters, limits) {
1175
+ return __awaiter(this, void 0, void 0, function* () {
1176
+ if (limits === null || limits === void 0 ? void 0 : limits.offset) {
1177
+ if (limits.offset instanceof this.model)
1178
+ query = query.startAfter(yield this.collection(this.buildCollectionPathForFind(filters))
1179
+ .doc(limits.offset[limits.offset.identifierFields().shift()])
1180
+ .get());
1181
+ else if (isNumber(limits.offset) || isString(limits.offset))
1182
+ query = query.startAt(limits.offset);
1183
+ }
1184
+ if (limits === null || limits === void 0 ? void 0 : limits.limit)
1185
+ query = query.limit(limits.limit);
1186
+ return query;
1187
+ });
1188
+ }
1189
+ calculateCount(data, limits) {
1190
+ if (data.length <= 0)
1191
+ return 0;
1192
+ if (data.length < (limits === null || limits === void 0 ? void 0 : limits.limit))
1193
+ return data.length;
1194
+ return Infinity;
1195
+ }
1196
+ };
1197
+ };
1198
+
1199
+ const withCreateFirestore = (MixinBase) => {
1200
+ return class CreateFirestore extends MixinBase {
1201
+ create(data) {
1202
+ return __awaiter(this, void 0, void 0, function* () {
1203
+ const docRef = yield this.save(this.model.toInstance(data));
1204
+ const doc = yield docRef.get();
1205
+ return doc.data();
1206
+ });
1207
+ }
1208
+ save(data) {
1209
+ var _a;
1210
+ return __awaiter(this, void 0, void 0, function* () {
1211
+ const id = (_a = data[data.identifierFields().shift()]) === null || _a === void 0 ? void 0 : _a.toString();
1212
+ const collectionPath = this.buildCollectionPathForAdd(data);
1213
+ if (isEmpty(id))
1214
+ return this.collection(collectionPath).add(data);
1215
+ const docRef = this.collection(collectionPath).doc(id);
1216
+ yield docRef.set(data);
1217
+ return docRef;
1218
+ });
1219
+ }
1220
+ buildCollectionPathForAdd(identifiers) {
1221
+ return this.isSubCollection(this)
1222
+ ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
1223
+ : this.collectionName;
1224
+ }
1225
+ };
1226
+ };
1227
+
1228
+ const withUpdateFirestore = (MixinBase) => {
1229
+ const getValueFromParams = (params, field) => { var _a; return (isNil((_a = params[field]) === null || _a === void 0 ? void 0 : _a.value) ? params[field] : params[field].value) || null; };
1230
+ const getValueByAction = (options) => {
1231
+ const fieldValues = firebase.firestore.FieldValue;
1232
+ if (isNil(options.action))
1233
+ return options;
1234
+ if (options.action === UpdateOptionActions.REMOVE_FIELD)
1235
+ return fieldValues.delete();
1236
+ if (Array.isArray(options.value)) {
1237
+ if (options.action === UpdateOptionActions.MERGE)
1238
+ return fieldValues.arrayUnion(...options.value);
1239
+ if (options.action === UpdateOptionActions.REMOVE)
1240
+ return fieldValues.arrayRemove(...options.value);
1241
+ }
1242
+ return options.value;
1243
+ };
1244
+ return class UpdateFirestore extends MixinBase {
1245
+ update(data) {
1246
+ return __awaiter(this, void 0, void 0, function* () {
1247
+ const model = new this.model();
1248
+ const keyField = model.identifierFields().shift();
1249
+ const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
1250
+ yield docRef.set(this.paramsToPlain(data), { merge: true });
1251
+ const doc = yield docRef.get();
1252
+ return doc.data();
1253
+ });
1254
+ }
1255
+ buildCollectionPathForUpdate(identifiers) {
1256
+ return this.isSubCollection(this)
1257
+ ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${this.collectionName}`
1258
+ : this.collectionName;
1259
+ }
1260
+ paramsToPlain(params) {
1261
+ const model = this.model;
1262
+ if (params instanceof model)
1263
+ return params;
1264
+ return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(params[currentKey]) })), {});
1265
+ }
1266
+ };
1267
+ };
1268
+
1269
+ const withDeleteFirestore = (MixinBase) => {
1270
+ return class DeleteFirestore extends MixinBase {
1271
+ delete(identifiers) {
1272
+ return __awaiter(this, void 0, void 0, function* () {
1273
+ yield this.collection(this.buildCollectionPathForRemove(identifiers))
1274
+ .doc(Object.values(identifiers).shift().toString())
1275
+ .delete();
1276
+ });
1277
+ }
1278
+ buildCollectionPathForRemove(identifiers) {
1279
+ return this.isSubCollection(this)
1280
+ ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
1281
+ : this.collectionName;
1282
+ }
1283
+ };
1284
+ };
1285
+
1286
+ const withSubCollection = (MixinBase, ParentModel) => {
1287
+ return class SubCollectionMix extends MixinBase {
1288
+ constructor(...args) {
1289
+ super(args);
1290
+ }
1291
+ collection(path) {
1292
+ return super.collection(path);
1293
+ }
1294
+ };
1295
+ };
1296
+
1297
+ const withCrudFirestore = (MixinBase) => {
1298
+ return class CrudFirestore extends withUpdateFirestore(withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase))))) {
1299
+ };
1300
+ };
1301
+
1302
+ class SubscriptionFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1303
+ constructor(firestore) {
1304
+ super();
1305
+ this.firestore = firestore;
1306
+ this.collectionName = 'subscription';
1307
+ this.model = Subscription;
1308
+ }
1309
+ }
1310
+
1311
+ class UserSearch extends BaseModel {
1312
+ identifierFields() {
1313
+ return ['id'];
1314
+ }
1315
+ }
1316
+
1317
+ class UserSearchFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1318
+ constructor(firestore) {
1319
+ super();
1320
+ this.firestore = firestore;
1321
+ this.collectionName = 'userSearch';
1322
+ this.model = UserSearch;
1323
+ }
1324
+ }
1325
+
1326
+ class UserFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1327
+ constructor(firestore, userSearchFirestoreRepository = new UserSearchFirestoreRepository(firestore)) {
1328
+ super();
1329
+ this.firestore = firestore;
1330
+ this.userSearchFirestoreRepository = userSearchFirestoreRepository;
1331
+ this.collectionName = 'users';
1332
+ this.model = User;
1333
+ }
1334
+ get(identifiers) {
1335
+ const _super = Object.create(null, {
1336
+ get: { get: () => super.get }
1337
+ });
1338
+ return __awaiter(this, void 0, void 0, function* () {
1339
+ const user = yield _super.get.call(this, { id: identifiers.id });
1340
+ user.beautyProfile = yield this.getBeautyProfile(user.id);
1341
+ user.isSubscriber = yield this.checkIfIsSubscriber(user.id);
1342
+ return user;
1343
+ });
1344
+ }
1345
+ checkIfExistsByField(field, value) {
1346
+ return __awaiter(this, void 0, void 0, function* () {
1347
+ const result = yield this.userSearchFirestoreRepository.find([{ [field]: { operator: Where.EQUALS, value } }]);
1348
+ return result.count > 0;
1349
+ });
1350
+ }
1351
+ buildModelInstance() {
1352
+ const { fromFirestore, toFirestore } = super.buildModelInstance();
1353
+ return {
1354
+ toFirestore: (data) => {
1355
+ const plain = toFirestore(data);
1356
+ delete plain.isSubscriber;
1357
+ return plain;
1358
+ },
1359
+ fromFirestore,
1360
+ };
1361
+ }
1362
+ getBeautyProfile(userId) {
1363
+ return __awaiter(this, void 0, void 0, function* () {
1364
+ const beautyProfile = yield this.collection()
1365
+ .doc(userId)
1366
+ .collection('CX')
1367
+ .withConverter(this.buildBeautyProfileModelInstance())
1368
+ .doc('beautyProfile')
1369
+ .get();
1370
+ return beautyProfile.data();
1371
+ });
1372
+ }
1373
+ checkIfIsSubscriber(userId) {
1374
+ return __awaiter(this, void 0, void 0, function* () {
1375
+ const docs = yield this.firestore
1376
+ .collection('subscription')
1377
+ .where('user.id', '==', userId)
1378
+ .where('status', '==', 'active')
1379
+ .get();
1380
+ return !!docs && !!docs.size;
1381
+ });
1382
+ }
1383
+ buildBeautyProfileModelInstance() {
1384
+ return {
1385
+ toFirestore: (data) => data.toPlain(),
1386
+ fromFirestore: (snap) => BeautyProfile.toInstance(snap.data()),
1387
+ };
1388
+ }
1389
+ }
1390
+
1391
+ class SubscriptionEditionFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), Subscription) {
1392
+ constructor(firestore, parentRepository) {
1393
+ super();
1394
+ this.firestore = firestore;
1395
+ this.parentRepository = parentRepository;
1396
+ this.collectionName = 'editions';
1397
+ this.parentIdField = 'subscriptionId';
1398
+ this.model = Edition;
1399
+ }
1400
+ }
1401
+
1402
+ class UserBeautyProfileFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), User) {
1403
+ constructor(firestore, parentRepository) {
1404
+ super();
1405
+ this.firestore = firestore;
1406
+ this.parentRepository = parentRepository;
1407
+ this.collectionName = 'CX';
1408
+ this.parentIdField = 'userId';
1409
+ this.model = BeautyProfile;
1410
+ }
1411
+ }
1412
+
1413
+ class UserAddressFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), User) {
1414
+ constructor(firestore, parentRepository) {
1415
+ super();
1416
+ this.firestore = firestore;
1417
+ this.parentRepository = parentRepository;
1418
+ this.collectionName = 'address';
1419
+ this.parentIdField = 'userId';
1420
+ this.model = UserAddress;
1421
+ }
1422
+ }
1423
+
1424
+ class UserPaymentMethodFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), User) {
1425
+ constructor(firestore, parentRepository) {
1426
+ super();
1427
+ this.firestore = firestore;
1428
+ this.parentRepository = parentRepository;
1429
+ this.collectionName = 'payment_method';
1430
+ this.parentIdField = 'userId';
1431
+ this.model = UserPaymentMethod;
1432
+ }
1433
+ }
1434
+
1435
+ class SubscriptionPaymentFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), Subscription) {
1436
+ constructor(firestore, parentRepository) {
1437
+ super();
1438
+ this.firestore = firestore;
1439
+ this.parentRepository = parentRepository;
1440
+ this.collectionName = 'payments';
1441
+ this.parentIdField = 'subscriptionId';
1442
+ this.model = SubscriptionPayment;
1443
+ }
1444
+ }
1445
+
1446
+ class LeadFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1447
+ constructor(firestore) {
1448
+ super();
1449
+ this.firestore = firestore;
1450
+ this.collectionName = 'leads';
1451
+ this.model = Lead;
1452
+ }
1453
+ }
1454
+
1455
+ class CategoryFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1456
+ constructor(firestore) {
1457
+ super();
1458
+ this.firestore = firestore;
1459
+ this.collectionName = 'categories';
1460
+ this.model = Category;
1461
+ }
1462
+ getCategoryBySlug(slug, shop) {
1463
+ return this.collection(this.collectionName)
1464
+ .where('slug', '==', slug)
1465
+ .where('shop', '==', shop)
1466
+ .where('published', '==', true)
1467
+ .get()
1468
+ .then((snap) => {
1469
+ if (snap.size > 1)
1470
+ throw new DuplicatedResultsError('Query returned duplicated values');
1471
+ if (snap.empty)
1472
+ throw new NotFoundError(`Document with slug ${slug} not found`);
1473
+ return snap.docs[0].data();
1474
+ })
1475
+ .catch((error) => error);
1476
+ }
1477
+ getCategoriesForHome(categoryIds, limit = 4) {
1478
+ return __awaiter(this, void 0, void 0, function* () {
1479
+ const categorySnap = yield this.collection(this.collectionName)
1480
+ .where('id', 'in', categoryIds.filter(Boolean))
1481
+ .where('published', '==', true)
1482
+ .get();
1483
+ if (categorySnap.empty)
1484
+ throw new NotFoundError('Categories not found');
1485
+ const categories = categorySnap.docs.map((doc) => doc.data());
1486
+ const homeSections = yield Promise.all(categories.map((category) => __awaiter(this, void 0, void 0, function* () {
1487
+ return ({
1488
+ category,
1489
+ products: yield this.mountCategory(category, { limit, hasStock: true }),
1490
+ });
1491
+ })));
1492
+ return homeSections;
1493
+ });
1494
+ }
1495
+ mountCategory(category, options) {
1496
+ return __awaiter(this, void 0, void 0, function* () {
1497
+ if (!category.products)
1498
+ throw new RequiredArgumentError(['Category products is empty']);
1499
+ const chunks = chunk(category.products, 10);
1500
+ const products = [];
1501
+ const publishedField = category.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published';
1502
+ for (const productIds of chunks) {
1503
+ if ((options === null || options === void 0 ? void 0 : options.limit) && products.length >= (options === null || options === void 0 ? void 0 : options.limit))
1504
+ break;
1505
+ let query = yield this.collection('productsErpVitrine')
1506
+ .where(publishedField, '==', true)
1507
+ .where('id', 'in', productIds);
1508
+ if (options === null || options === void 0 ? void 0 : options.hasStock)
1509
+ query = query.where('stock.quantity', '>', 0);
1510
+ if (options === null || options === void 0 ? void 0 : options.limit)
1511
+ query = query.limit(options === null || options === void 0 ? void 0 : options.limit);
1512
+ const productSnap = yield query.get();
1513
+ if (productSnap.empty)
1514
+ continue;
1515
+ products.push(...productSnap.docs.map((doc) => doc.data()));
1516
+ }
1517
+ return products;
1518
+ });
1519
+ }
1520
+ }
1521
+
1522
+ class ProductFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1523
+ constructor(firestore) {
1524
+ super();
1525
+ this.firestore = firestore;
1526
+ this.collectionName = 'productsErpVitrine';
1527
+ this.model = Product;
1528
+ }
1529
+ getBySlug(slug, shop) {
1530
+ var _a;
1531
+ return __awaiter(this, void 0, void 0, function* () {
1532
+ const result = yield this.find([
1533
+ { slug: { operator: Where.EQUALS, value: slug } },
1534
+ { shopAvailability: { operator: Where.IN, value: [shop] } },
1535
+ ]);
1536
+ return (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift();
1537
+ });
1538
+ }
1539
+ }
1540
+
1541
+ class ProductVariantFirestoreRepository extends withSubCollection(withCrudFirestore(withHelpers(withFirestore(Base))), Product) {
1542
+ constructor(firestore, parentRepository) {
1543
+ super();
1544
+ this.firestore = firestore;
1545
+ this.parentRepository = parentRepository;
1546
+ this.collectionName = 'variants';
1547
+ this.parentIdField = 'productId';
1548
+ this.model = Variant;
1549
+ }
1550
+ }
1551
+
1552
+ class SubscriptionProductFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1553
+ constructor(firestore) {
1554
+ super();
1555
+ this.firestore = firestore;
1556
+ this.collectionName = 'subscriptionProducts';
1557
+ this.model = Product;
1558
+ }
1559
+ }
1560
+
1561
+ class CheckoutFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1562
+ constructor(firestore) {
1563
+ super();
1564
+ this.firestore = firestore;
1565
+ this.collectionName = 'checkouts';
1566
+ this.model = Checkout;
1567
+ }
1568
+ }
1569
+
1570
+ class CouponFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1571
+ constructor(firestore) {
1572
+ super();
1573
+ this.firestore = firestore;
1574
+ this.collectionName = 'coupons';
1575
+ this.model = Coupon;
1576
+ }
1577
+ buildModelInstance() {
1578
+ const { fromFirestore, toFirestore } = super.buildModelInstance();
1579
+ return {
1580
+ toFirestore: (data) => {
1581
+ const plain = toFirestore(data);
1582
+ if (!!data.expiresIn)
1583
+ plain.expiresIn = data.expiresIn.getTime();
1584
+ return plain;
1585
+ },
1586
+ fromFirestore: (snap) => {
1587
+ const instance = fromFirestore(snap);
1588
+ if (!isNil(instance.expiresIn))
1589
+ instance.expiresIn = new Date(snap.data().expiresIn);
1590
+ return instance;
1591
+ },
1592
+ };
1593
+ }
1594
+ }
1595
+
1596
+ class OrderFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1597
+ constructor(firestore) {
1598
+ super();
1599
+ this.firestore = firestore;
1600
+ this.collectionName = 'orders';
1601
+ this.model = Order;
1602
+ }
1603
+ }
1604
+
1605
+ class PaymentFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1606
+ constructor(firestore) {
1607
+ super();
1608
+ this.firestore = firestore;
1609
+ this.collectionName = 'payments';
1610
+ this.model = Payment;
1611
+ }
1612
+ }
1613
+
1614
+ class CheckoutSubscriptionFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1615
+ constructor(firestore) {
1616
+ super();
1617
+ this.firestore = firestore;
1618
+ this.collectionName = 'checkoutsSubscription';
1619
+ this.model = CheckoutSubscription;
1620
+ }
1621
+ }
1622
+
1623
+ class SubscriptionPlanFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1624
+ constructor(firestore) {
1625
+ super();
1626
+ this.firestore = firestore;
1627
+ this.collectionName = 'subscriptionPlans';
1628
+ this.model = SubscriptionPlan;
1629
+ }
1630
+ }
1631
+
1632
+ class Buy2WinFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1633
+ constructor(firestore) {
1634
+ super();
1635
+ this.firestore = firestore;
1636
+ this.collectionName = 'buy2win';
1637
+ this.model = Buy2Win;
1638
+ }
1639
+ }
1640
+
1641
+ class LegacyOrderFirestoreRepository extends OrderFirestoreRepository {
1642
+ constructor(firestore) {
1643
+ super(firestore);
1644
+ this.firestore = firestore;
1645
+ this.collectionName = 'legacyOrders';
1646
+ }
1647
+ }
1648
+
1649
+ class HomeFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1650
+ constructor(firestore) {
1651
+ super();
1652
+ this.firestore = firestore;
1653
+ this.homeToFirestore = (home) => {
1654
+ var _a;
1655
+ if ((_a = home.data) === null || _a === void 0 ? void 0 : _a.data) {
1656
+ home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.homeCategoryGroupToPlain);
1657
+ home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.homeCategoryGroupToPlain);
1658
+ home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.homeCategoryGroupToPlain);
1659
+ }
1660
+ return home;
1661
+ };
1662
+ this.homeCategoryGroupToPlain = (homeCategoryGroup) => ({
1663
+ category: homeCategoryGroup.category.toPlain(),
1664
+ products: homeCategoryGroup.products.map((product) => product.toPlain()),
1665
+ });
1666
+ this.homeFromFirestore = (home) => {
1667
+ var _a;
1668
+ if ((_a = home.data) === null || _a === void 0 ? void 0 : _a.data) {
1669
+ home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.plainToHomeCategoryGroup);
1670
+ home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.plainToHomeCategoryGroup);
1671
+ home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.plainToHomeCategoryGroup);
1672
+ home.data.createdAt =
1673
+ home.data.createdAt instanceof firebase.firestore.Timestamp ? home.data.createdAt.toDate() : home.data.createdAt;
1674
+ home.data.expiresAt =
1675
+ home.data.expiresAt instanceof firebase.firestore.Timestamp ? home.data.expiresAt.toDate() : home.data.expiresAt;
1676
+ }
1677
+ return home;
1678
+ };
1679
+ this.plainToHomeCategoryGroup = (homeCategoryGroup) => ({
1680
+ category: Category.toInstance(homeCategoryGroup.category),
1681
+ products: homeCategoryGroup.products.map((product) => Product.toInstance(product)),
1682
+ });
1683
+ this.collectionName = 'dms';
1684
+ this.model = Home;
1685
+ }
1686
+ buildModelInstance() {
1687
+ const { fromFirestore, toFirestore } = super.buildModelInstance();
1688
+ return {
1689
+ toFirestore: (data) => {
1690
+ const modifiedData = this.homeToFirestore(data);
1691
+ return toFirestore(modifiedData);
1692
+ },
1693
+ fromFirestore: (snap) => {
1694
+ const instance = fromFirestore(snap);
1695
+ return this.homeFromFirestore(instance);
1696
+ },
1697
+ };
1698
+ }
1699
+ }
1700
+
1701
+ class ShopMenuFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1702
+ constructor(firestore) {
1703
+ super();
1704
+ this.firestore = firestore;
1705
+ this.collectionName = 'shopMenus';
1706
+ this.model = ShopMenu;
1707
+ }
1708
+ }
1709
+
1710
+ class ShopSettingsFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
1711
+ constructor(firestore) {
1712
+ super();
1713
+ this.firestore = firestore;
1714
+ this.collectionName = 'shopSettings';
1715
+ this.model = ShopSettings;
1716
+ }
1717
+ }
1718
+
1719
+ class AuthenticationFirebaseAuthService {
1720
+ constructor(firebaseAuth) {
1721
+ this.firebaseAuth = firebaseAuth;
1722
+ }
1723
+ signInWithEmailAndPassword(data) {
1724
+ return __awaiter(this, void 0, void 0, function* () {
1725
+ const credentials = yield this.firebaseAuth.signInWithEmailAndPassword(data.email, data.password);
1726
+ const user = credentials.user;
1727
+ return {
1728
+ id: user.uid,
1729
+ displayName: user.displayName,
1730
+ email: user.email,
1731
+ phone: user.phoneNumber,
1732
+ isAnonymous: false,
1733
+ };
1734
+ });
1735
+ }
1736
+ signInWithGoogle() {
1737
+ return __awaiter(this, void 0, void 0, function* () {
1738
+ const credentials = yield this.firebaseAuth.signInWithPopup(new firebase$1.auth.GoogleAuthProvider());
1739
+ const user = credentials.user;
1740
+ return {
1741
+ id: user.uid,
1742
+ displayName: user.displayName,
1743
+ email: user.email,
1744
+ phone: user.phoneNumber,
1745
+ isAnonymous: false,
1746
+ };
1747
+ });
1748
+ }
1749
+ signOut() {
1750
+ return __awaiter(this, void 0, void 0, function* () {
1751
+ this.firebaseAuth.signOut();
1752
+ });
1753
+ }
1754
+ signInAnonymously() {
1755
+ return __awaiter(this, void 0, void 0, function* () {
1756
+ const auth = yield this.firebaseAuth.signInAnonymously();
1757
+ const user = auth.user;
1758
+ user.id = auth.user.uid;
1759
+ return user;
1760
+ });
1761
+ }
1762
+ sendPasswordResetEmail(email) {
1763
+ return __awaiter(this, void 0, void 0, function* () {
1764
+ return this.firebaseAuth.sendPasswordResetEmail(email);
1765
+ });
1766
+ }
1767
+ }
1768
+
1769
+ class RegisterFirebaseAuthService {
1770
+ constructor(firebaseAuth) {
1771
+ this.firebaseAuth = firebaseAuth;
1772
+ }
1773
+ register(params) {
1774
+ return __awaiter(this, void 0, void 0, function* () {
1775
+ try {
1776
+ const auth = yield this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password);
1777
+ const user = auth.user;
1778
+ user.sendEmailVerification();
1779
+ user.id = auth.user.uid;
1780
+ return user;
1781
+ }
1782
+ catch (error) {
1783
+ if (error.code === 'auth/email-already-in-use')
1784
+ throw new UserAlreadyRegisteredError('Email already registered');
1785
+ if (error.code === 'auth/weak-password')
1786
+ throw new WeakPasswordError();
1787
+ throw error;
1788
+ }
1789
+ });
1790
+ }
1791
+ }
1792
+
1793
+ /**
1794
+ * Generated bundle index. Do not edit.
1795
+ */
1796
+
1797
+ export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, Category, CategoryFirestoreRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, FilterType, FinancialCoupon, FragranceImportances, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserSearchFirestoreRepository, UserType, Variant, WeakPasswordError, Where, withCreateFirestore, withCrudFirestore, withDeleteFirestore, withFindFirestore, withFirestore, withGetFirestore, withHelpers, withSubCollection, withUpdateFirestore };
1798
+ //# sourceMappingURL=infrab4a-connect.js.map