@infrab4a/connect 0.17.0-beta.9 → 0.17.1-beta.1

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 (719) hide show
  1. package/index.ts +1 -0
  2. package/karma.conf.js +32 -0
  3. package/ng-package.json +24 -0
  4. package/package.json +20 -28
  5. package/src/domain/catalog/index.ts +2 -0
  6. package/src/domain/catalog/models/category.ts +27 -0
  7. package/src/domain/catalog/models/enums/index.ts +1 -0
  8. package/src/domain/catalog/models/enums/shops.enum.ts +5 -0
  9. package/src/domain/catalog/models/index.ts +5 -0
  10. package/src/domain/catalog/models/product.ts +47 -0
  11. package/src/domain/catalog/models/types/category-condition.type.ts +4 -0
  12. package/src/domain/catalog/models/types/category-filter.type.ts +4 -0
  13. package/src/domain/catalog/models/types/index.ts +7 -0
  14. package/src/domain/catalog/models/types/product-review.type.ts +16 -0
  15. package/src/domain/catalog/models/types/shops-description.type.ts +9 -0
  16. package/src/domain/catalog/models/types/shops-price.type.ts +12 -0
  17. package/src/domain/catalog/models/types/stock.type.ts +3 -0
  18. package/src/domain/catalog/models/types/variant-grade.type.ts +4 -0
  19. package/src/domain/catalog/models/variant.ts +19 -0
  20. package/src/domain/catalog/repositories/category.repository.ts +10 -0
  21. package/src/domain/catalog/repositories/index.ts +4 -0
  22. package/{domain/catalog/repositories/product.repository.d.ts → src/domain/catalog/repositories/product.repository.ts} +4 -3
  23. package/{domain/catalog/repositories/subscription-product.repository.d.ts → src/domain/catalog/repositories/subscription-product.repository.ts} +4 -4
  24. package/{domain/catalog/repositories/variant.repository.d.ts → src/domain/catalog/repositories/variant.repository.ts} +4 -4
  25. package/src/domain/general/index.ts +2 -0
  26. package/src/domain/general/model/base-model-with-identifier-fields.ts +4 -0
  27. package/src/domain/general/model/base.model.ts +17 -0
  28. package/{domain/general/model/identifier-fields.d.ts → src/domain/general/model/identifier-fields.ts} +3 -2
  29. package/src/domain/general/model/index.ts +4 -0
  30. package/src/domain/general/model/types/base-model-builder.type.ts +6 -0
  31. package/src/domain/general/model/types/index.ts +3 -0
  32. package/src/domain/general/model/types/non-function-properties.type.ts +3 -0
  33. package/src/domain/general/model/types/non-function-property-name.type.ts +1 -0
  34. package/{domain/general/repository/create.repository.d.ts → src/domain/general/repository/create.repository.ts} +4 -3
  35. package/src/domain/general/repository/crud.repository.ts +12 -0
  36. package/{domain/general/repository/delete.repository.d.ts → src/domain/general/repository/delete.repository.ts} +4 -3
  37. package/src/domain/general/repository/enums/index.ts +2 -0
  38. package/src/domain/general/repository/enums/update-option-actions.enum.ts +7 -0
  39. package/src/domain/general/repository/enums/where.enum.ts +10 -0
  40. package/src/domain/general/repository/find.repository.ts +11 -0
  41. package/{domain/general/repository/get.repository.d.ts → src/domain/general/repository/get.repository.ts} +4 -3
  42. package/src/domain/general/repository/index.ts +9 -0
  43. package/src/domain/general/repository/read.repository.ts +8 -0
  44. package/src/domain/general/repository/types/index.ts +5 -0
  45. package/src/domain/general/repository/types/repository-find-filters.type.ts +21 -0
  46. package/src/domain/general/repository/types/repository-find-result.type.ts +4 -0
  47. package/src/domain/general/repository/types/repository-limit-options.type.ts +4 -0
  48. package/src/domain/general/repository/types/repository-order-by-list.type.ts +7 -0
  49. package/src/domain/general/repository/types/repository-update-params.type.ts +16 -0
  50. package/{domain/general/repository/update.repository.d.ts → src/domain/general/repository/update.repository.ts} +5 -3
  51. package/src/domain/index.ts +6 -0
  52. package/src/domain/location/index.ts +1 -0
  53. package/src/domain/location/models/address.ts +23 -0
  54. package/src/domain/location/models/index.ts +2 -0
  55. package/src/domain/location/models/types/index.ts +3 -0
  56. package/src/domain/location/models/types/location-bound.type.ts +6 -0
  57. package/src/domain/location/models/types/location-geometry.type.ts +8 -0
  58. package/src/domain/location/models/types/location-lat-lng.type.ts +4 -0
  59. package/src/domain/shop-settings/enums/filter-type.enum.ts +19 -0
  60. package/src/domain/shop-settings/enums/index.ts +2 -0
  61. package/src/domain/shop-settings/enums/questions-filters.enum.ts +19 -0
  62. package/src/domain/shop-settings/helpers/beauty-questions.helper.ts +51 -0
  63. package/src/domain/shop-settings/helpers/index.ts +1 -0
  64. package/src/domain/shop-settings/index.ts +4 -0
  65. package/src/domain/shop-settings/models/home.ts +21 -0
  66. package/src/domain/shop-settings/models/index.ts +4 -0
  67. package/src/domain/shop-settings/models/shop-menu.ts +11 -0
  68. package/src/domain/shop-settings/models/shop-settings.ts +10 -0
  69. package/src/domain/shop-settings/models/types/banner.type.ts +6 -0
  70. package/src/domain/shop-settings/models/types/benefit.type.ts +5 -0
  71. package/src/domain/shop-settings/models/types/home-data.type.ts +18 -0
  72. package/src/domain/shop-settings/models/types/index.ts +5 -0
  73. package/src/domain/shop-settings/models/types/menu-nav.type.ts +9 -0
  74. package/src/domain/shop-settings/models/types/sub-menu.type.ts +8 -0
  75. package/src/domain/shop-settings/repositories/home.repository.ts +4 -0
  76. package/src/domain/shop-settings/repositories/index.ts +3 -0
  77. package/{domain/shop-settings/repositories/shop-menu.repository.d.ts → src/domain/shop-settings/repositories/shop-menu.repository.ts} +4 -4
  78. package/src/domain/shop-settings/repositories/shop-settings.repository.ts +4 -0
  79. package/src/domain/shopping/index.ts +2 -0
  80. package/src/domain/shopping/models/buy-2-win.ts +26 -0
  81. package/src/domain/shopping/models/checkout.ts +43 -0
  82. package/src/domain/shopping/models/coupons/coupon.ts +42 -0
  83. package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.ts +4 -0
  84. package/src/domain/shopping/models/coupons/enums/coupon-types.enum.ts +6 -0
  85. package/src/domain/shopping/models/coupons/enums/exclusivities.enum.ts +5 -0
  86. package/src/domain/shopping/models/coupons/enums/index.ts +3 -0
  87. package/src/domain/shopping/models/coupons/financial-coupon.ts +32 -0
  88. package/src/domain/shopping/models/coupons/index.ts +3 -0
  89. package/src/domain/shopping/models/enums/checkout-types.enum.ts +4 -0
  90. package/src/domain/shopping/models/enums/index.ts +2 -0
  91. package/src/domain/shopping/models/enums/order-status.enum.ts +10 -0
  92. package/src/domain/shopping/models/index.ts +11 -0
  93. package/src/domain/shopping/models/line-item.ts +9 -0
  94. package/src/domain/shopping/models/order.ts +14 -0
  95. package/src/domain/shopping/models/payment.ts +117 -0
  96. package/src/domain/shopping/models/shipping-method.ts +22 -0
  97. package/src/domain/shopping/models/subscription/checkout.ts +38 -0
  98. package/src/domain/shopping/models/subscription/index.ts +2 -0
  99. package/src/domain/shopping/models/subscription/plan.ts +16 -0
  100. package/src/domain/shopping/models/types/index.ts +7 -0
  101. package/src/domain/shopping/models/types/payment-address.type.ts +12 -0
  102. package/src/domain/shopping/models/types/payment-billing.type.ts +8 -0
  103. package/src/domain/shopping/models/types/payment-card.type.ts +14 -0
  104. package/src/domain/shopping/models/types/payment-customer.type.ts +19 -0
  105. package/src/domain/shopping/models/types/payment-document.type.ts +6 -0
  106. package/src/domain/shopping/models/types/payment-item.type.ts +11 -0
  107. package/src/domain/shopping/models/types/payment-shipping.type.ts +11 -0
  108. package/{domain/shopping/repositories/buy-2-win.repository.d.ts → src/domain/shopping/repositories/buy-2-win.repository.ts} +4 -4
  109. package/{domain/shopping/repositories/checkout.repository.d.ts → src/domain/shopping/repositories/checkout.repository.ts} +4 -4
  110. package/{domain/shopping/repositories/coupon.repository.d.ts → src/domain/shopping/repositories/coupon.repository.ts} +4 -4
  111. package/src/domain/shopping/repositories/index.ts +7 -0
  112. package/{domain/shopping/repositories/legacy-order.repository.d.ts → src/domain/shopping/repositories/legacy-order.repository.ts} +3 -3
  113. package/{domain/shopping/repositories/order.repository.d.ts → src/domain/shopping/repositories/order.repository.ts} +4 -4
  114. package/{domain/shopping/repositories/payment.repository.d.ts → src/domain/shopping/repositories/payment.repository.ts} +4 -4
  115. package/{domain/shopping/repositories/subscription/checkout.repository.d.ts → src/domain/shopping/repositories/subscription/checkout.repository.ts} +4 -4
  116. package/src/domain/shopping/repositories/subscription/index.ts +2 -0
  117. package/{domain/shopping/repositories/subscription/plan.repository.d.ts → src/domain/shopping/repositories/subscription/plan.repository.ts} +4 -4
  118. package/src/domain/users/errors/index.ts +3 -0
  119. package/src/domain/users/errors/unauthorized.error.ts +5 -0
  120. package/src/domain/users/errors/user-already-registered.error.ts +5 -0
  121. package/src/domain/users/errors/weak-password.error.ts +5 -0
  122. package/src/domain/users/index.ts +5 -0
  123. package/src/domain/users/models/beauty-profile.ts +24 -0
  124. package/src/domain/users/models/enums/accessory-importances.enum.ts +5 -0
  125. package/src/domain/users/models/enums/area.enum.ts +11 -0
  126. package/src/domain/users/models/enums/beard-problems.enum.ts +9 -0
  127. package/src/domain/users/models/enums/beard-sizes.enum.ts +7 -0
  128. package/src/domain/users/models/enums/beauty-product-importances.enum.ts +6 -0
  129. package/src/domain/users/models/enums/body-problems.enum.ts +11 -0
  130. package/src/domain/users/models/enums/body-shapes.enum.ts +7 -0
  131. package/src/domain/users/models/enums/body-tattoos.enum.ts +5 -0
  132. package/src/domain/users/models/enums/face-skin-oilinesses.enum.ts +7 -0
  133. package/src/domain/users/models/enums/face-skin-problems.enum.ts +10 -0
  134. package/src/domain/users/models/enums/face-skin-tones.enum.ts +8 -0
  135. package/src/domain/users/models/enums/family-incomes.enum.ts +8 -0
  136. package/src/domain/users/models/enums/fragrance-importances.enum.ts +5 -0
  137. package/src/domain/users/models/enums/hair-colors.enum.ts +10 -0
  138. package/src/domain/users/models/enums/hair-problems.enum.ts +10 -0
  139. package/src/domain/users/models/enums/hair-strands.enum.ts +8 -0
  140. package/src/domain/users/models/enums/hair-types.enum.ts +7 -0
  141. package/src/domain/users/models/enums/index.ts +20 -0
  142. package/src/domain/users/models/enums/office-position.enum.ts +6 -0
  143. package/src/domain/users/models/enums/product-spents.enum.ts +8 -0
  144. package/src/domain/users/models/enums/user-type.enum.ts +8 -0
  145. package/src/domain/users/models/index.ts +7 -0
  146. package/src/domain/users/models/lead.ts +13 -0
  147. package/src/domain/users/models/subscription/edition.ts +22 -0
  148. package/src/domain/users/models/subscription/enums/billing-status.enum.ts +3 -0
  149. package/src/domain/users/models/subscription/enums/edition-status.enum.ts +4 -0
  150. package/src/domain/users/models/subscription/enums/index.ts +4 -0
  151. package/src/domain/users/models/subscription/enums/payment-type.enum.ts +5 -0
  152. package/src/domain/users/models/subscription/enums/status.enum.ts +4 -0
  153. package/src/domain/users/models/subscription/index.ts +4 -0
  154. package/src/domain/users/models/subscription/payment.ts +26 -0
  155. package/src/domain/users/models/subscription/subscription.ts +45 -0
  156. package/src/domain/users/models/user-address.ts +11 -0
  157. package/src/domain/users/models/user-payment-method.ts +18 -0
  158. package/src/domain/users/models/user.ts +50 -0
  159. package/{domain/users/repositories/beauty-profile.repository.d.ts → src/domain/users/repositories/beauty-profile.repository.ts} +4 -4
  160. package/{domain/users/repositories/edition.repository.d.ts → src/domain/users/repositories/edition.repository.ts} +4 -4
  161. package/src/domain/users/repositories/index.ts +8 -0
  162. package/src/domain/users/repositories/lead.repository.ts +4 -0
  163. package/{domain/users/repositories/subscription-payment.repository.d.ts → src/domain/users/repositories/subscription-payment.repository.ts} +4 -4
  164. package/{domain/users/repositories/subscription.repository.d.ts → src/domain/users/repositories/subscription.repository.ts} +4 -4
  165. package/{domain/users/repositories/user-address.repository.d.ts → src/domain/users/repositories/user-address.repository.ts} +4 -4
  166. package/{domain/users/repositories/user-payment-method.repository.d.ts → src/domain/users/repositories/user-payment-method.repository.ts} +4 -4
  167. package/src/domain/users/repositories/user.repository.ts +7 -0
  168. package/src/domain/users/services/authentication.service.ts +14 -0
  169. package/src/domain/users/services/index.ts +3 -0
  170. package/src/domain/users/services/register.service.ts +7 -0
  171. package/src/domain/users/services/types/basic-user-data.type.ts +7 -0
  172. package/src/domain/users/services/types/index.ts +1 -0
  173. package/src/domain/users/use-cases/authentication.ts +53 -0
  174. package/src/domain/users/use-cases/index.ts +4 -0
  175. package/src/domain/users/use-cases/recovery-password.ts +9 -0
  176. package/src/domain/users/use-cases/register.ts +45 -0
  177. package/src/domain/users/use-cases/signout.ts +9 -0
  178. package/src/errors/duplicated-results.error.ts +5 -0
  179. package/src/errors/index.ts +4 -0
  180. package/src/errors/invalid-argument.error.ts +5 -0
  181. package/src/errors/not-found.error.ts +5 -0
  182. package/src/errors/required-argument.error.ts +9 -0
  183. package/src/index.ts +6 -0
  184. package/src/infra/elasticsearch/adapters/axios.adapter.ts +27 -0
  185. package/{infra/elasticsearch/adapters/elastic-search.adapter.d.ts → src/infra/elasticsearch/adapters/elastic-search.adapter.ts} +3 -2
  186. package/src/infra/elasticsearch/adapters/index.ts +2 -0
  187. package/src/infra/elasticsearch/index.ts +3 -0
  188. package/src/infra/elasticsearch/indexes/index.ts +1 -0
  189. package/src/infra/elasticsearch/indexes/products-index.ts +61 -0
  190. package/src/infra/elasticsearch/types/elastic-search-result.ts +7 -0
  191. package/src/infra/elasticsearch/types/index.ts +1 -0
  192. package/src/infra/firebase/auth/authentication-firebase-auth.service.ts +52 -0
  193. package/src/infra/firebase/auth/index.ts +2 -0
  194. package/src/infra/firebase/auth/register-firebase-auth.service.ts +26 -0
  195. package/src/infra/firebase/auth/types/firebase-user-with-id.type.ts +1 -0
  196. package/src/infra/firebase/auth/types/index.ts +1 -0
  197. package/src/infra/firebase/firestore/index.ts +3 -0
  198. package/src/infra/firebase/firestore/mixins/index.ts +9 -0
  199. package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.ts +36 -0
  200. package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.ts +19 -0
  201. package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.ts +21 -0
  202. package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.ts +142 -0
  203. package/src/infra/firebase/firestore/mixins/with-firestore.mixin.ts +42 -0
  204. package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.ts +27 -0
  205. package/src/infra/firebase/firestore/mixins/with-helpers.mixin.ts +26 -0
  206. package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.ts +30 -0
  207. package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.ts +69 -0
  208. package/src/infra/firebase/firestore/models/index.ts +1 -0
  209. package/src/infra/firebase/firestore/models/user-search.ts +13 -0
  210. package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.ts +80 -0
  211. package/src/infra/firebase/firestore/repositories/catalog/index.ts +4 -0
  212. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.ts +26 -0
  213. package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.ts +19 -0
  214. package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.ts +17 -0
  215. package/src/infra/firebase/firestore/repositories/index.ts +4 -0
  216. package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.ts +72 -0
  217. package/src/infra/firebase/firestore/repositories/shop-settings/index.ts +3 -0
  218. package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.ts +16 -0
  219. package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.ts +17 -0
  220. package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.ts +17 -0
  221. package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.ts +17 -0
  222. package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.ts +17 -0
  223. package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.ts +41 -0
  224. package/src/infra/firebase/firestore/repositories/shopping/index.ts +8 -0
  225. package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.ts +12 -0
  226. package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.ts +17 -0
  227. package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.ts +17 -0
  228. package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.ts +17 -0
  229. package/src/infra/firebase/firestore/repositories/users/index.ts +9 -0
  230. package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.ts +17 -0
  231. package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.ts +19 -0
  232. package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.ts +17 -0
  233. package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.ts +19 -0
  234. package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.ts +19 -0
  235. package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.ts +19 -0
  236. package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.ts +86 -0
  237. package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.ts +19 -0
  238. package/src/infra/firebase/firestore/repositories/users/user-search-firestore.repository.ts +17 -0
  239. package/src/infra/firebase/firestore/types/firestore-sub.repository.type.ts +11 -0
  240. package/src/infra/firebase/firestore/types/firestore.helpers.type.ts +13 -0
  241. package/src/infra/firebase/firestore/types/firestore.repository.type.ts +10 -0
  242. package/src/infra/firebase/firestore/types/index.ts +3 -0
  243. package/src/infra/firebase/index.ts +2 -0
  244. package/src/infra/index.ts +2 -0
  245. package/src/utils/index.ts +8 -0
  246. package/src/utils/mixins/base.mixin.ts +5 -0
  247. package/src/utils/mixins/index.ts +2 -0
  248. package/src/utils/mixins/mixin-ctor.type.ts +1 -0
  249. package/src/utils/types/index.ts +1 -0
  250. package/src/utils/types/prop.type.ts +1 -0
  251. package/tsconfig.json +14 -0
  252. package/tsconfig.lib.json +12 -0
  253. package/tsconfig.lib.prod.json +11 -0
  254. package/tsconfig.spec.json +17 -0
  255. package/tslint.json +3 -0
  256. package/bundles/infrab4a-connect.umd.js +0 -2751
  257. package/bundles/infrab4a-connect.umd.js.map +0 -1
  258. package/domain/catalog/index.d.ts +0 -2
  259. package/domain/catalog/models/category.d.ts +0 -22
  260. package/domain/catalog/models/enums/index.d.ts +0 -1
  261. package/domain/catalog/models/enums/shops.enum.d.ts +0 -6
  262. package/domain/catalog/models/index.d.ts +0 -5
  263. package/domain/catalog/models/product.d.ts +0 -35
  264. package/domain/catalog/models/types/category-condition.type.d.ts +0 -4
  265. package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
  266. package/domain/catalog/models/types/index.d.ts +0 -7
  267. package/domain/catalog/models/types/product-review.type.d.ts +0 -15
  268. package/domain/catalog/models/types/shops-description.type.d.ts +0 -7
  269. package/domain/catalog/models/types/shops-price.type.d.ts +0 -10
  270. package/domain/catalog/models/types/stock.type.d.ts +0 -3
  271. package/domain/catalog/models/types/variant-grade.type.d.ts +0 -4
  272. package/domain/catalog/models/variant.d.ts +0 -14
  273. package/domain/catalog/repositories/category.repository.d.ts +0 -15
  274. package/domain/catalog/repositories/index.d.ts +0 -4
  275. package/domain/general/index.d.ts +0 -2
  276. package/domain/general/model/base-model-with-identifier-fields.d.ts +0 -3
  277. package/domain/general/model/base.model.d.ts +0 -6
  278. package/domain/general/model/index.d.ts +0 -4
  279. package/domain/general/model/types/base-model-builder.type.d.ts +0 -5
  280. package/domain/general/model/types/index.d.ts +0 -3
  281. package/domain/general/model/types/non-function-properties.type.d.ts +0 -2
  282. package/domain/general/model/types/non-function-property-name.type.d.ts +0 -3
  283. package/domain/general/repository/crud.repository.d.ts +0 -7
  284. package/domain/general/repository/enums/index.d.ts +0 -2
  285. package/domain/general/repository/enums/update-option-actions.enum.d.ts +0 -7
  286. package/domain/general/repository/enums/where.enum.d.ts +0 -10
  287. package/domain/general/repository/find.repository.d.ts +0 -5
  288. package/domain/general/repository/index.d.ts +0 -9
  289. package/domain/general/repository/read.repository.d.ts +0 -5
  290. package/domain/general/repository/types/index.d.ts +0 -5
  291. package/domain/general/repository/types/repository-find-filters.type.d.ts +0 -14
  292. package/domain/general/repository/types/repository-find-result.type.d.ts +0 -4
  293. package/domain/general/repository/types/repository-limit-options.type.d.ts +0 -4
  294. package/domain/general/repository/types/repository-order-by-list.type.d.ts +0 -5
  295. package/domain/general/repository/types/repository-update-params.type.d.ts +0 -11
  296. package/domain/index.d.ts +0 -6
  297. package/domain/location/index.d.ts +0 -1
  298. package/domain/location/models/address.d.ts +0 -21
  299. package/domain/location/models/index.d.ts +0 -2
  300. package/domain/location/models/types/index.d.ts +0 -3
  301. package/domain/location/models/types/location-bound.type.d.ts +0 -6
  302. package/domain/location/models/types/location-geometry.type.d.ts +0 -7
  303. package/domain/location/models/types/location-lat-lng.type.d.ts +0 -4
  304. package/domain/shop-settings/enums/filter-type.enum.d.ts +0 -19
  305. package/domain/shop-settings/enums/index.d.ts +0 -2
  306. package/domain/shop-settings/enums/questions-filters.enum.d.ts +0 -19
  307. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +0 -9
  308. package/domain/shop-settings/helpers/index.d.ts +0 -1
  309. package/domain/shop-settings/index.d.ts +0 -4
  310. package/domain/shop-settings/models/home.d.ts +0 -17
  311. package/domain/shop-settings/models/index.d.ts +0 -3
  312. package/domain/shop-settings/models/shop-menu.d.ts +0 -7
  313. package/domain/shop-settings/models/types/banner.type.d.ts +0 -6
  314. package/domain/shop-settings/models/types/benefit.type.d.ts +0 -5
  315. package/domain/shop-settings/models/types/home-data.type.d.ts +0 -15
  316. package/domain/shop-settings/models/types/index.d.ts +0 -5
  317. package/domain/shop-settings/models/types/menu-nav.type.d.ts +0 -8
  318. package/domain/shop-settings/models/types/sub-menu.type.d.ts +0 -8
  319. package/domain/shop-settings/repositories/home.repository.d.ts +0 -4
  320. package/domain/shop-settings/repositories/index.d.ts +0 -2
  321. package/domain/shopping/index.d.ts +0 -2
  322. package/domain/shopping/models/buy-2-win.d.ts +0 -18
  323. package/domain/shopping/models/checkout.d.ts +0 -29
  324. package/domain/shopping/models/coupons/coupon.d.ts +0 -33
  325. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +0 -5
  326. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +0 -4
  327. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +0 -4
  328. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +0 -8
  329. package/domain/shopping/models/coupons/enums/index.d.ts +0 -3
  330. package/domain/shopping/models/coupons/index.d.ts +0 -2
  331. package/domain/shopping/models/enums/checkout-types.enum.d.ts +0 -5
  332. package/domain/shopping/models/enums/index.d.ts +0 -2
  333. package/domain/shopping/models/enums/order-status.enum.d.ts +0 -10
  334. package/domain/shopping/models/index.d.ts +0 -11
  335. package/domain/shopping/models/line-item.d.ts +0 -8
  336. package/domain/shopping/models/order.d.ts +0 -9
  337. package/domain/shopping/models/payment.d.ts +0 -69
  338. package/domain/shopping/models/shipping-method.d.ts +0 -18
  339. package/domain/shopping/models/subscription/checkout.d.ts +0 -23
  340. package/domain/shopping/models/subscription/index.d.ts +0 -2
  341. package/domain/shopping/models/subscription/plan.d.ts +0 -12
  342. package/domain/shopping/models/types/index.d.ts +0 -7
  343. package/domain/shopping/models/types/payment-address.type.d.ts +0 -12
  344. package/domain/shopping/models/types/payment-billing.type.d.ts +0 -7
  345. package/domain/shopping/models/types/payment-card.type.d.ts +0 -14
  346. package/domain/shopping/models/types/payment-customer.type.d.ts +0 -18
  347. package/domain/shopping/models/types/payment-document.type.d.ts +0 -6
  348. package/domain/shopping/models/types/payment-item.type.d.ts +0 -11
  349. package/domain/shopping/models/types/payment-shipping.type.d.ts +0 -10
  350. package/domain/shopping/repositories/index.d.ts +0 -7
  351. package/domain/shopping/repositories/subscription/index.d.ts +0 -2
  352. package/domain/users/errors/index.d.ts +0 -3
  353. package/domain/users/errors/unauthorized.error.d.ts +0 -4
  354. package/domain/users/errors/user-already-registered.error.d.ts +0 -4
  355. package/domain/users/errors/weak-password.error.d.ts +0 -4
  356. package/domain/users/index.d.ts +0 -5
  357. package/domain/users/models/beauty-profile.d.ts +0 -12
  358. package/domain/users/models/enums/accessory-importances.enum.d.ts +0 -5
  359. package/domain/users/models/enums/area.enum.d.ts +0 -11
  360. package/domain/users/models/enums/beard-problems.enum.d.ts +0 -9
  361. package/domain/users/models/enums/beard-sizes.enum.d.ts +0 -7
  362. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +0 -6
  363. package/domain/users/models/enums/body-problems.enum.d.ts +0 -11
  364. package/domain/users/models/enums/body-shapes.enum.d.ts +0 -7
  365. package/domain/users/models/enums/body-tattoos.enum.d.ts +0 -5
  366. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +0 -7
  367. package/domain/users/models/enums/face-skin-problems.enum.d.ts +0 -10
  368. package/domain/users/models/enums/face-skin-tones.enum.d.ts +0 -8
  369. package/domain/users/models/enums/family-incomes.enum.d.ts +0 -8
  370. package/domain/users/models/enums/fragrance-importances.enum.d.ts +0 -5
  371. package/domain/users/models/enums/hair-colors.enum.d.ts +0 -10
  372. package/domain/users/models/enums/hair-problems.enum.d.ts +0 -10
  373. package/domain/users/models/enums/hair-strands.enum.d.ts +0 -8
  374. package/domain/users/models/enums/hair-types.enum.d.ts +0 -7
  375. package/domain/users/models/enums/index.d.ts +0 -20
  376. package/domain/users/models/enums/office-position.enum.d.ts +0 -6
  377. package/domain/users/models/enums/product-spents.enum.d.ts +0 -8
  378. package/domain/users/models/enums/user-type.enum.d.ts +0 -8
  379. package/domain/users/models/index.d.ts +0 -7
  380. package/domain/users/models/lead.d.ts +0 -9
  381. package/domain/users/models/subscription/edition.d.ts +0 -17
  382. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +0 -3
  383. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +0 -4
  384. package/domain/users/models/subscription/enums/index.d.ts +0 -4
  385. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +0 -5
  386. package/domain/users/models/subscription/enums/status.enum.d.ts +0 -4
  387. package/domain/users/models/subscription/index.d.ts +0 -4
  388. package/domain/users/models/subscription/payment.d.ts +0 -14
  389. package/domain/users/models/subscription/subscription.d.ts +0 -30
  390. package/domain/users/models/user-address.d.ts +0 -7
  391. package/domain/users/models/user-payment-method.d.ts +0 -14
  392. package/domain/users/models/user.d.ts +0 -25
  393. package/domain/users/repositories/index.d.ts +0 -8
  394. package/domain/users/repositories/lead.repository.d.ts +0 -4
  395. package/domain/users/repositories/user.repository.d.ts +0 -6
  396. package/domain/users/services/authentication.service.d.ts +0 -12
  397. package/domain/users/services/index.d.ts +0 -3
  398. package/domain/users/services/register.service.d.ts +0 -7
  399. package/domain/users/services/types/basic-user-data.type.d.ts +0 -4
  400. package/domain/users/services/types/index.d.ts +0 -1
  401. package/domain/users/use-cases/authentication.d.ts +0 -21
  402. package/domain/users/use-cases/index.d.ts +0 -4
  403. package/domain/users/use-cases/recovery-password.d.ts +0 -6
  404. package/domain/users/use-cases/register.d.ts +0 -13
  405. package/domain/users/use-cases/signout.d.ts +0 -6
  406. package/errors/duplicated-results.error.d.ts +0 -4
  407. package/errors/index.d.ts +0 -4
  408. package/errors/invalid-argument.error.d.ts +0 -4
  409. package/errors/not-found.error.d.ts +0 -4
  410. package/errors/required-argument.error.d.ts +0 -5
  411. package/esm2015/domain/catalog/index.js +0 -3
  412. package/esm2015/domain/catalog/models/category.js +0 -7
  413. package/esm2015/domain/catalog/models/enums/index.js +0 -2
  414. package/esm2015/domain/catalog/models/enums/shops.enum.js +0 -8
  415. package/esm2015/domain/catalog/models/index.js +0 -6
  416. package/esm2015/domain/catalog/models/product.js +0 -11
  417. package/esm2015/domain/catalog/models/types/category-condition.type.js +0 -2
  418. package/esm2015/domain/catalog/models/types/category-filter.type.js +0 -2
  419. package/esm2015/domain/catalog/models/types/index.js +0 -8
  420. package/esm2015/domain/catalog/models/types/product-review.type.js +0 -2
  421. package/esm2015/domain/catalog/models/types/shops-description.type.js +0 -2
  422. package/esm2015/domain/catalog/models/types/shops-price.type.js +0 -2
  423. package/esm2015/domain/catalog/models/types/stock.type.js +0 -2
  424. package/esm2015/domain/catalog/models/types/variant-grade.type.js +0 -2
  425. package/esm2015/domain/catalog/models/variant.js +0 -7
  426. package/esm2015/domain/catalog/repositories/category.repository.js +0 -2
  427. package/esm2015/domain/catalog/repositories/index.js +0 -5
  428. package/esm2015/domain/catalog/repositories/product.repository.js +0 -2
  429. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +0 -2
  430. package/esm2015/domain/catalog/repositories/variant.repository.js +0 -2
  431. package/esm2015/domain/general/index.js +0 -3
  432. package/esm2015/domain/general/model/base-model-with-identifier-fields.js +0 -2
  433. package/esm2015/domain/general/model/base.model.js +0 -13
  434. package/esm2015/domain/general/model/identifier-fields.js +0 -2
  435. package/esm2015/domain/general/model/index.js +0 -5
  436. package/esm2015/domain/general/model/types/base-model-builder.type.js +0 -2
  437. package/esm2015/domain/general/model/types/index.js +0 -4
  438. package/esm2015/domain/general/model/types/non-function-properties.type.js +0 -2
  439. package/esm2015/domain/general/model/types/non-function-property-name.type.js +0 -2
  440. package/esm2015/domain/general/repository/create.repository.js +0 -2
  441. package/esm2015/domain/general/repository/crud.repository.js +0 -2
  442. package/esm2015/domain/general/repository/delete.repository.js +0 -2
  443. package/esm2015/domain/general/repository/enums/index.js +0 -3
  444. package/esm2015/domain/general/repository/enums/update-option-actions.enum.js +0 -9
  445. package/esm2015/domain/general/repository/enums/where.enum.js +0 -12
  446. package/esm2015/domain/general/repository/find.repository.js +0 -2
  447. package/esm2015/domain/general/repository/get.repository.js +0 -2
  448. package/esm2015/domain/general/repository/index.js +0 -10
  449. package/esm2015/domain/general/repository/read.repository.js +0 -2
  450. package/esm2015/domain/general/repository/types/index.js +0 -6
  451. package/esm2015/domain/general/repository/types/repository-find-filters.type.js +0 -2
  452. package/esm2015/domain/general/repository/types/repository-find-result.type.js +0 -2
  453. package/esm2015/domain/general/repository/types/repository-limit-options.type.js +0 -2
  454. package/esm2015/domain/general/repository/types/repository-order-by-list.type.js +0 -2
  455. package/esm2015/domain/general/repository/types/repository-update-params.type.js +0 -2
  456. package/esm2015/domain/general/repository/update.repository.js +0 -2
  457. package/esm2015/domain/index.js +0 -7
  458. package/esm2015/domain/location/index.js +0 -2
  459. package/esm2015/domain/location/models/address.js +0 -4
  460. package/esm2015/domain/location/models/index.js +0 -3
  461. package/esm2015/domain/location/models/types/index.js +0 -4
  462. package/esm2015/domain/location/models/types/location-bound.type.js +0 -2
  463. package/esm2015/domain/location/models/types/location-geometry.type.js +0 -2
  464. package/esm2015/domain/location/models/types/location-lat-lng.type.js +0 -2
  465. package/esm2015/domain/shop-settings/enums/filter-type.enum.js +0 -21
  466. package/esm2015/domain/shop-settings/enums/index.js +0 -3
  467. package/esm2015/domain/shop-settings/enums/questions-filters.enum.js +0 -21
  468. package/esm2015/domain/shop-settings/helpers/beauty-questions.helper.js +0 -46
  469. package/esm2015/domain/shop-settings/helpers/index.js +0 -2
  470. package/esm2015/domain/shop-settings/index.js +0 -5
  471. package/esm2015/domain/shop-settings/models/home.js +0 -7
  472. package/esm2015/domain/shop-settings/models/index.js +0 -4
  473. package/esm2015/domain/shop-settings/models/shop-menu.js +0 -7
  474. package/esm2015/domain/shop-settings/models/types/banner.type.js +0 -2
  475. package/esm2015/domain/shop-settings/models/types/benefit.type.js +0 -2
  476. package/esm2015/domain/shop-settings/models/types/home-data.type.js +0 -2
  477. package/esm2015/domain/shop-settings/models/types/index.js +0 -6
  478. package/esm2015/domain/shop-settings/models/types/menu-nav.type.js +0 -2
  479. package/esm2015/domain/shop-settings/models/types/sub-menu.type.js +0 -2
  480. package/esm2015/domain/shop-settings/repositories/home.repository.js +0 -2
  481. package/esm2015/domain/shop-settings/repositories/index.js +0 -3
  482. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +0 -2
  483. package/esm2015/domain/shopping/index.js +0 -3
  484. package/esm2015/domain/shopping/models/buy-2-win.js +0 -14
  485. package/esm2015/domain/shopping/models/checkout.js +0 -38
  486. package/esm2015/domain/shopping/models/coupons/coupon.js +0 -38
  487. package/esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js +0 -7
  488. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +0 -6
  489. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +0 -10
  490. package/esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js +0 -10
  491. package/esm2015/domain/shopping/models/coupons/enums/index.js +0 -4
  492. package/esm2015/domain/shopping/models/coupons/index.js +0 -3
  493. package/esm2015/domain/shopping/models/enums/checkout-types.enum.js +0 -7
  494. package/esm2015/domain/shopping/models/enums/index.js +0 -3
  495. package/esm2015/domain/shopping/models/enums/order-status.enum.js +0 -12
  496. package/esm2015/domain/shopping/models/index.js +0 -12
  497. package/esm2015/domain/shopping/models/line-item.js +0 -4
  498. package/esm2015/domain/shopping/models/order.js +0 -11
  499. package/esm2015/domain/shopping/models/payment.js +0 -169
  500. package/esm2015/domain/shopping/models/shipping-method.js +0 -7
  501. package/esm2015/domain/shopping/models/subscription/checkout.js +0 -28
  502. package/esm2015/domain/shopping/models/subscription/index.js +0 -3
  503. package/esm2015/domain/shopping/models/subscription/plan.js +0 -7
  504. package/esm2015/domain/shopping/models/types/index.js +0 -8
  505. package/esm2015/domain/shopping/models/types/payment-address.type.js +0 -2
  506. package/esm2015/domain/shopping/models/types/payment-billing.type.js +0 -2
  507. package/esm2015/domain/shopping/models/types/payment-card.type.js +0 -2
  508. package/esm2015/domain/shopping/models/types/payment-customer.type.js +0 -2
  509. package/esm2015/domain/shopping/models/types/payment-document.type.js +0 -2
  510. package/esm2015/domain/shopping/models/types/payment-item.type.js +0 -2
  511. package/esm2015/domain/shopping/models/types/payment-shipping.type.js +0 -2
  512. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +0 -2
  513. package/esm2015/domain/shopping/repositories/checkout.repository.js +0 -2
  514. package/esm2015/domain/shopping/repositories/coupon.repository.js +0 -2
  515. package/esm2015/domain/shopping/repositories/index.js +0 -8
  516. package/esm2015/domain/shopping/repositories/legacy-order.repository.js +0 -2
  517. package/esm2015/domain/shopping/repositories/order.repository.js +0 -2
  518. package/esm2015/domain/shopping/repositories/payment.repository.js +0 -2
  519. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +0 -2
  520. package/esm2015/domain/shopping/repositories/subscription/index.js +0 -3
  521. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +0 -2
  522. package/esm2015/domain/users/errors/index.js +0 -4
  523. package/esm2015/domain/users/errors/unauthorized.error.js +0 -7
  524. package/esm2015/domain/users/errors/user-already-registered.error.js +0 -7
  525. package/esm2015/domain/users/errors/weak-password.error.js +0 -7
  526. package/esm2015/domain/users/index.js +0 -6
  527. package/esm2015/domain/users/models/beauty-profile.js +0 -12
  528. package/esm2015/domain/users/models/enums/accessory-importances.enum.js +0 -7
  529. package/esm2015/domain/users/models/enums/area.enum.js +0 -13
  530. package/esm2015/domain/users/models/enums/beard-problems.enum.js +0 -11
  531. package/esm2015/domain/users/models/enums/beard-sizes.enum.js +0 -9
  532. package/esm2015/domain/users/models/enums/beauty-product-importances.enum.js +0 -8
  533. package/esm2015/domain/users/models/enums/body-problems.enum.js +0 -13
  534. package/esm2015/domain/users/models/enums/body-shapes.enum.js +0 -9
  535. package/esm2015/domain/users/models/enums/body-tattoos.enum.js +0 -7
  536. package/esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js +0 -9
  537. package/esm2015/domain/users/models/enums/face-skin-problems.enum.js +0 -12
  538. package/esm2015/domain/users/models/enums/face-skin-tones.enum.js +0 -10
  539. package/esm2015/domain/users/models/enums/family-incomes.enum.js +0 -10
  540. package/esm2015/domain/users/models/enums/fragrance-importances.enum.js +0 -7
  541. package/esm2015/domain/users/models/enums/hair-colors.enum.js +0 -12
  542. package/esm2015/domain/users/models/enums/hair-problems.enum.js +0 -12
  543. package/esm2015/domain/users/models/enums/hair-strands.enum.js +0 -10
  544. package/esm2015/domain/users/models/enums/hair-types.enum.js +0 -9
  545. package/esm2015/domain/users/models/enums/index.js +0 -21
  546. package/esm2015/domain/users/models/enums/office-position.enum.js +0 -8
  547. package/esm2015/domain/users/models/enums/product-spents.enum.js +0 -10
  548. package/esm2015/domain/users/models/enums/user-type.enum.js +0 -10
  549. package/esm2015/domain/users/models/index.js +0 -8
  550. package/esm2015/domain/users/models/lead.js +0 -7
  551. package/esm2015/domain/users/models/subscription/edition.js +0 -7
  552. package/esm2015/domain/users/models/subscription/enums/billing-status.enum.js +0 -5
  553. package/esm2015/domain/users/models/subscription/enums/edition-status.enum.js +0 -6
  554. package/esm2015/domain/users/models/subscription/enums/index.js +0 -5
  555. package/esm2015/domain/users/models/subscription/enums/payment-type.enum.js +0 -7
  556. package/esm2015/domain/users/models/subscription/enums/status.enum.js +0 -6
  557. package/esm2015/domain/users/models/subscription/index.js +0 -5
  558. package/esm2015/domain/users/models/subscription/payment.js +0 -14
  559. package/esm2015/domain/users/models/subscription/subscription.js +0 -43
  560. package/esm2015/domain/users/models/user-address.js +0 -7
  561. package/esm2015/domain/users/models/user-payment-method.js +0 -7
  562. package/esm2015/domain/users/models/user.js +0 -26
  563. package/esm2015/domain/users/repositories/beauty-profile.repository.js +0 -2
  564. package/esm2015/domain/users/repositories/edition.repository.js +0 -2
  565. package/esm2015/domain/users/repositories/index.js +0 -9
  566. package/esm2015/domain/users/repositories/lead.repository.js +0 -2
  567. package/esm2015/domain/users/repositories/subscription-payment.repository.js +0 -2
  568. package/esm2015/domain/users/repositories/subscription.repository.js +0 -2
  569. package/esm2015/domain/users/repositories/user-address.repository.js +0 -2
  570. package/esm2015/domain/users/repositories/user-payment-method.repository.js +0 -2
  571. package/esm2015/domain/users/repositories/user.repository.js +0 -2
  572. package/esm2015/domain/users/services/authentication.service.js +0 -2
  573. package/esm2015/domain/users/services/index.js +0 -4
  574. package/esm2015/domain/users/services/register.service.js +0 -2
  575. package/esm2015/domain/users/services/types/basic-user-data.type.js +0 -2
  576. package/esm2015/domain/users/services/types/index.js +0 -2
  577. package/esm2015/domain/users/use-cases/authentication.js +0 -40
  578. package/esm2015/domain/users/use-cases/index.js +0 -5
  579. package/esm2015/domain/users/use-cases/recovery-password.js +0 -12
  580. package/esm2015/domain/users/use-cases/register.js +0 -34
  581. package/esm2015/domain/users/use-cases/signout.js +0 -12
  582. package/esm2015/errors/duplicated-results.error.js +0 -7
  583. package/esm2015/errors/index.js +0 -5
  584. package/esm2015/errors/invalid-argument.error.js +0 -7
  585. package/esm2015/errors/not-found.error.js +0 -7
  586. package/esm2015/errors/required-argument.error.js +0 -8
  587. package/esm2015/index.js +0 -6
  588. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +0 -22
  589. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +0 -2
  590. package/esm2015/infra/elasticsearch/adapters/index.js +0 -3
  591. package/esm2015/infra/elasticsearch/index.js +0 -4
  592. package/esm2015/infra/elasticsearch/indexes/index.js +0 -2
  593. package/esm2015/infra/elasticsearch/indexes/products-index.js +0 -59
  594. package/esm2015/infra/elasticsearch/types/elastic-search-result.js +0 -2
  595. package/esm2015/infra/elasticsearch/types/index.js +0 -2
  596. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +0 -52
  597. package/esm2015/infra/firebase/auth/index.js +0 -3
  598. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +0 -26
  599. package/esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js +0 -2
  600. package/esm2015/infra/firebase/firestore/index.js +0 -4
  601. package/esm2015/infra/firebase/firestore/mixins/index.js +0 -10
  602. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +0 -31
  603. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +0 -10
  604. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +0 -18
  605. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +0 -87
  606. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +0 -26
  607. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +0 -24
  608. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +0 -17
  609. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +0 -11
  610. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +0 -45
  611. package/esm2015/infra/firebase/firestore/models/user-search.js +0 -7
  612. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +0 -70
  613. package/esm2015/infra/firebase/firestore/repositories/catalog/index.js +0 -5
  614. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +0 -23
  615. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +0 -14
  616. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +0 -12
  617. package/esm2015/infra/firebase/firestore/repositories/index.js +0 -5
  618. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +0 -56
  619. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +0 -3
  620. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +0 -12
  621. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +0 -12
  622. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +0 -12
  623. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +0 -12
  624. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +0 -29
  625. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +0 -9
  626. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +0 -9
  627. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +0 -12
  628. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +0 -12
  629. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +0 -12
  630. package/esm2015/infra/firebase/firestore/repositories/users/index.js +0 -10
  631. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +0 -12
  632. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +0 -14
  633. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +0 -12
  634. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +0 -14
  635. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +0 -14
  636. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +0 -14
  637. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +0 -70
  638. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +0 -14
  639. package/esm2015/infra/firebase/firestore/repositories/users/user-search-firestore.repository.js +0 -12
  640. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +0 -2
  641. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +0 -2
  642. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +0 -2
  643. package/esm2015/infra/firebase/firestore/types/index.js +0 -4
  644. package/esm2015/infra/firebase/index.js +0 -3
  645. package/esm2015/infra/index.js +0 -3
  646. package/esm2015/infrab4a-connect.js +0 -5
  647. package/esm2015/utils/index.js +0 -6
  648. package/esm2015/utils/mixins/base.mixin.js +0 -6
  649. package/esm2015/utils/mixins/index.js +0 -3
  650. package/esm2015/utils/mixins/mixin-ctor.type.js +0 -2
  651. package/esm2015/utils/types/index.js +0 -2
  652. package/esm2015/utils/types/prop.type.js +0 -2
  653. package/fesm2015/infrab4a-connect.js +0 -1778
  654. package/fesm2015/infrab4a-connect.js.map +0 -1
  655. package/index.d.ts +0 -5
  656. package/infra/elasticsearch/adapters/axios.adapter.d.ts +0 -11
  657. package/infra/elasticsearch/adapters/index.d.ts +0 -2
  658. package/infra/elasticsearch/index.d.ts +0 -3
  659. package/infra/elasticsearch/indexes/index.d.ts +0 -1
  660. package/infra/elasticsearch/indexes/products-index.d.ts +0 -11
  661. package/infra/elasticsearch/types/elastic-search-result.d.ts +0 -7
  662. package/infra/elasticsearch/types/index.d.ts +0 -1
  663. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +0 -12
  664. package/infra/firebase/auth/index.d.ts +0 -2
  665. package/infra/firebase/auth/register-firebase-auth.service.d.ts +0 -8
  666. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +0 -3
  667. package/infra/firebase/firestore/index.d.ts +0 -3
  668. package/infra/firebase/firestore/mixins/index.d.ts +0 -9
  669. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +0 -17
  670. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +0 -29
  671. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +0 -15
  672. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +0 -20
  673. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +0 -15
  674. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +0 -15
  675. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +0 -10
  676. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +0 -14
  677. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +0 -16
  678. package/infra/firebase/firestore/models/user-search.d.ts +0 -9
  679. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +0 -58
  680. package/infra/firebase/firestore/repositories/catalog/index.d.ts +0 -4
  681. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +0 -50
  682. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +0 -60
  683. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +0 -49
  684. package/infra/firebase/firestore/repositories/index.d.ts +0 -4
  685. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +0 -57
  686. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +0 -2
  687. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +0 -49
  688. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +0 -49
  689. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +0 -49
  690. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +0 -49
  691. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +0 -53
  692. package/infra/firebase/firestore/repositories/shopping/index.d.ts +0 -8
  693. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +0 -7
  694. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +0 -49
  695. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +0 -49
  696. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +0 -49
  697. package/infra/firebase/firestore/repositories/users/index.d.ts +0 -9
  698. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +0 -49
  699. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +0 -60
  700. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +0 -49
  701. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +0 -60
  702. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +0 -60
  703. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +0 -60
  704. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +0 -60
  705. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +0 -60
  706. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +0 -50
  707. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +0 -6
  708. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +0 -8
  709. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +0 -8
  710. package/infra/firebase/firestore/types/index.d.ts +0 -3
  711. package/infra/firebase/index.d.ts +0 -2
  712. package/infra/index.d.ts +0 -2
  713. package/infrab4a-connect.d.ts +0 -5
  714. package/utils/index.d.ts +0 -6
  715. package/utils/mixins/base.mixin.d.ts +0 -3
  716. package/utils/mixins/index.d.ts +0 -2
  717. package/utils/mixins/mixin-ctor.type.d.ts +0 -1
  718. package/utils/types/index.d.ts +0 -1
  719. package/utils/types/prop.type.d.ts +0 -1
@@ -0,0 +1,6 @@
1
+ export enum OfficePosition {
2
+ Intern = 'Estagi\u00E1rio',
3
+ Analyst = 'Analista',
4
+ Manager = 'Gerente',
5
+ Director = 'Diretor',
6
+ }
@@ -0,0 +1,8 @@
1
+ export enum ProductSpents {
2
+ UNTIL_50 = 'Até R$50',
3
+ SINCE_51_TO_100 = 'De R$51 a R$100',
4
+ SINCE_101_TO_200 = 'De R$101 a R$200',
5
+ SINCE_201_TO_300 = 'De R$201 a R$300',
6
+ GRAN_THAN_300 = 'Mais de R$300',
7
+ NOW_ANSWER = 'Prefiro nao responder',
8
+ }
@@ -0,0 +1,8 @@
1
+ export enum UserType {
2
+ B2C = 'Cliente Transacional',
3
+ GlamGirl = 'Glamgirl',
4
+ MensBoy = 'Mensboy',
5
+ B2B = 'Company',
6
+ Collaborator = 'Funcionário',
7
+ Influencer = 'Influencer',
8
+ }
@@ -0,0 +1,7 @@
1
+ export * from './enums'
2
+ export * from './subscription'
3
+ export * from './user'
4
+ export * from './beauty-profile'
5
+ export * from './user-address'
6
+ export * from './user-payment-method'
7
+ export * from './lead'
@@ -0,0 +1,13 @@
1
+ import { BaseModel } from '../../general/model/base.model'
2
+ import { IdentifierFields } from '../../general/model/identifier-fields'
3
+ import { NonFunctionPropertyNames } from '../../general/model/types'
4
+
5
+ export class Lead extends BaseModel<Lead> implements IdentifierFields<Lead> {
6
+ id: string
7
+ acceptsNewsletter: boolean
8
+ email: string
9
+
10
+ identifierFields(): NonFunctionPropertyNames<Lead>[] {
11
+ return ['id']
12
+ }
13
+ }
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from '../../../general/model/base.model'
2
+ import { IdentifierFields } from '../../../general/model/identifier-fields'
3
+ import { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'
4
+
5
+ import { EditionStatus, BillingStatus } from './enums'
6
+
7
+ export class Edition extends BaseModel<Edition> implements IdentifierFields<Edition> {
8
+ id: string
9
+ subscriptionId: string
10
+ billingStatus: BillingStatus
11
+ editionId: number
12
+ editionStatus: EditionStatus
13
+ installment: number
14
+ paymentId: string
15
+ draftId?: string
16
+ createdAt: Date
17
+ updatedAt: Date
18
+
19
+ identifierFields(): NonFunctionPropertyNames<Edition>[] {
20
+ return ['id']
21
+ }
22
+ }
@@ -0,0 +1,3 @@
1
+ export enum BillingStatus {
2
+ PAYED = 'PAGO',
3
+ }
@@ -0,0 +1,4 @@
1
+ export enum EditionStatus {
2
+ ALLOCATION_WAITING = 'Aguardando alocação',
3
+ SHIPPED = 'Enviado',
4
+ }
@@ -0,0 +1,4 @@
1
+ export * from './billing-status.enum'
2
+ export * from './edition-status.enum'
3
+ export * from './payment-type.enum'
4
+ export * from './status.enum'
@@ -0,0 +1,5 @@
1
+ export enum PaymentType {
2
+ AQUISITION = 'Aquisição',
3
+ RENEWAL = 'Renovação',
4
+ FREIGHT = 'mudança de endereço, Frete',
5
+ }
@@ -0,0 +1,4 @@
1
+ export enum Status {
2
+ ACTIVE = 'active',
3
+ CANCELLED = 'Cancelado',
4
+ }
@@ -0,0 +1,4 @@
1
+ export * from './enums'
2
+ export * from './edition'
3
+ export * from './payment'
4
+ export * from './subscription'
@@ -0,0 +1,26 @@
1
+ import { Type } from 'class-transformer'
2
+
3
+ import { BaseModel } from '../../../general/model/base.model'
4
+ import { IdentifierFields } from '../../../general/model/identifier-fields'
5
+ import { NonFunctionPropertyNames } from '../../../general/model/types'
6
+ import { Payment } from '../../../shopping/models/payment'
7
+
8
+ import { PaymentType } from './enums/payment-type.enum'
9
+
10
+ export class SubscriptionPayment
11
+ extends BaseModel<SubscriptionPayment>
12
+ implements IdentifierFields<SubscriptionPayment>
13
+ {
14
+ id: string
15
+ subscriptionId: string
16
+ paymentType: PaymentType
17
+ createdAt: Date
18
+ attempts?: number
19
+
20
+ @Type(() => Payment)
21
+ payment: Payment
22
+
23
+ identifierFields(): NonFunctionPropertyNames<SubscriptionPayment>[] {
24
+ return ['id']
25
+ }
26
+ }
@@ -0,0 +1,45 @@
1
+ import { Type } from 'class-transformer'
2
+
3
+ import { Address } from '../../../location/models/address'
4
+ import { BaseModel } from '../../../general/model/base.model'
5
+ import { Coupon } from '../../../shopping/models/coupons/coupon'
6
+ import { IdentifierFields } from '../../../general/model/identifier-fields'
7
+ import { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'
8
+ import { SubscriptionPlan } from '../../../shopping/models/subscription/plan'
9
+ import { User } from '../user'
10
+
11
+ import { Edition } from './edition'
12
+ import { Status } from './enums/status.enum'
13
+ import { SubscriptionPayment } from './payment'
14
+
15
+ export class Subscription extends BaseModel<Subscription> implements IdentifierFields<Subscription> {
16
+ id: string
17
+ nextPayment: Date
18
+ recurrence: boolean
19
+ status: Status
20
+ cardToken: string
21
+ subtotalPrice?: number
22
+ discount?: number
23
+ totalPrice?: number
24
+ createdAt: Date
25
+ updatedAt: Date
26
+
27
+ @Type(() => User)
28
+ user: User
29
+ @Type(() => SubscriptionPlan)
30
+ subscriptionPlan: SubscriptionPlan
31
+ @Type(() => Address)
32
+ shippingAddress: Address
33
+ @Type(() => Address)
34
+ billingAddress?: Address
35
+ @Type(() => Coupon)
36
+ coupon?: Coupon
37
+ @Type(() => Edition)
38
+ editions: Edition[]
39
+ @Type(() => SubscriptionPayment)
40
+ payment?: SubscriptionPayment[]
41
+
42
+ identifierFields(): NonFunctionPropertyNames<Subscription>[] {
43
+ return ['id']
44
+ }
45
+ }
@@ -0,0 +1,11 @@
1
+ import { Address } from '../../location/models/address'
2
+ import { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'
3
+
4
+ export class UserAddress extends Address {
5
+ id: string
6
+ userId: string
7
+
8
+ identifierFields(): NonFunctionPropertyNames<UserAddress>[] {
9
+ return ['id']
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseModel } from '../../general/model/base.model'
2
+ import { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'
3
+
4
+ export class UserPaymentMethod extends BaseModel<UserPaymentMethod> {
5
+ brand: string
6
+ cpf: string
7
+ holderName: string
8
+ last4: string
9
+ pagarmeToken: string
10
+ validUntil: string
11
+ userId: string
12
+ id: string
13
+ fingerprint: string
14
+
15
+ identifierFields(): NonFunctionPropertyNames<UserPaymentMethod>[] {
16
+ return ['id']
17
+ }
18
+ }
@@ -0,0 +1,50 @@
1
+ import { Type } from 'class-transformer'
2
+
3
+ import { BaseModel } from '../../general/model/base.model'
4
+ import { IdentifierFields } from '../../general/model/identifier-fields'
5
+ import { isNil } from '../../../utils'
6
+ import { NonFunctionProperties, NonFunctionPropertyNames } from '../../general/model/types'
7
+
8
+ import { Area, OfficePosition, UserType } from './enums'
9
+ import { BeautyProfile } from './beauty-profile'
10
+
11
+ export class User extends BaseModel<User> implements IdentifierFields<User> {
12
+ id: string
13
+ cpf?: string
14
+ email: string
15
+ firstName: string
16
+ lastName: string
17
+ displayName?: string
18
+ phone: string
19
+ birthday?: Date
20
+ acceptsNewsletter: boolean
21
+ type?: UserType
22
+ area?: Area
23
+ officePosition?: OfficePosition
24
+ isSubscriber?: boolean
25
+ subscriptionPlan?: string
26
+
27
+ @Type(() => BeautyProfile)
28
+ beautyProfile?: BeautyProfile
29
+
30
+ static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T> & NonFunctionProperties<User>): T {
31
+ const instance = super.toInstance<User>(data)
32
+
33
+ if (!isNil(data.firstName))
34
+ instance.displayName = `${data.firstName}${!isNil(data.lastName) ? ` ${data.lastName}` : ''}`
35
+
36
+ return instance as any
37
+ }
38
+
39
+ identifierFields(): NonFunctionPropertyNames<User>[] {
40
+ return ['id']
41
+ }
42
+
43
+ toPlain(): any {
44
+ const plain = super.toPlain()
45
+
46
+ delete plain.beautyProfile
47
+
48
+ return plain
49
+ }
50
+ }
@@ -1,4 +1,4 @@
1
- import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { BeautyProfile } from '../models/beauty-profile';
3
- export interface BeautyProfileRepository extends CrudRepository<BeautyProfile> {
4
- }
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { BeautyProfile } from '../models/beauty-profile'
3
+
4
+ export interface BeautyProfileRepository extends CrudRepository<BeautyProfile> {}
@@ -1,4 +1,4 @@
1
- import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { Edition } from '../models/subscription/edition';
3
- export interface EditionRepository extends CrudRepository<Edition> {
4
- }
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { Edition } from '../models/subscription/edition'
3
+
4
+ export interface EditionRepository extends CrudRepository<Edition> {}
@@ -0,0 +1,8 @@
1
+ export * from './user.repository'
2
+ export * from './subscription.repository'
3
+ export * from './edition.repository'
4
+ export * from './beauty-profile.repository'
5
+ export * from './user-address.repository'
6
+ export * from './user-payment-method.repository'
7
+ export * from './subscription-payment.repository'
8
+ export * from './lead.repository'
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { Lead } from '../models/lead'
3
+
4
+ export interface LeadRepository extends CrudRepository<Lead> {}
@@ -1,4 +1,4 @@
1
- import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { SubscriptionPayment } from '../models/subscription/payment';
3
- export interface SubscriptionPaymentRepository extends CrudRepository<SubscriptionPayment> {
4
- }
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { SubscriptionPayment } from '../models/subscription/payment'
3
+
4
+ export interface SubscriptionPaymentRepository extends CrudRepository<SubscriptionPayment> {}
@@ -1,4 +1,4 @@
1
- import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { Subscription } from '../models/subscription/subscription';
3
- export interface SubscriptionRepository extends CrudRepository<Subscription> {
4
- }
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { Subscription } from '../models/subscription/subscription'
3
+
4
+ export interface SubscriptionRepository extends CrudRepository<Subscription> {}
@@ -1,4 +1,4 @@
1
- import { CrudRepository } from '../../general/repository/crud.repository';
2
- import { UserAddress } from '../models/user-address';
3
- export interface UserAddressRepository extends CrudRepository<UserAddress> {
4
- }
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { UserAddress } from '../models/user-address'
3
+
4
+ export interface UserAddressRepository extends CrudRepository<UserAddress> {}
@@ -1,4 +1,4 @@
1
- import { UserPaymentMethod } from '../models/user-payment-method';
2
- import { CrudRepository } from '../../general/repository/crud.repository';
3
- export interface UserPaymentMethodRepository extends CrudRepository<UserPaymentMethod> {
4
- }
1
+ import { UserPaymentMethod } from '../models/user-payment-method'
2
+ import { CrudRepository } from '../../general/repository/crud.repository'
3
+
4
+ export interface UserPaymentMethodRepository extends CrudRepository<UserPaymentMethod> {}
@@ -0,0 +1,7 @@
1
+ import { CrudRepository } from '../../general/repository/crud.repository'
2
+ import { NonFunctionPropertyNames } from '../../general'
3
+ import { User } from '../models/user'
4
+
5
+ export interface UserRepository extends CrudRepository<User> {
6
+ checkIfExistsByField(field: Extract<NonFunctionPropertyNames<User>, 'cpf' | 'email'>, value: string): Promise<boolean>
7
+ }
@@ -0,0 +1,14 @@
1
+ import { BasicUserData } from './types/basic-user-data.type'
2
+
3
+ export type LoginAndPasswordParams = {
4
+ email: string
5
+ password: string
6
+ }
7
+
8
+ export interface AuthenticationService {
9
+ signInWithEmailAndPassword(data: LoginAndPasswordParams): Promise<BasicUserData>
10
+ signInWithGoogle(): Promise<BasicUserData>
11
+ signOut(): Promise<void>
12
+ signInAnonymously(): Promise<Pick<BasicUserData, 'id' | 'isAnonymous'>>
13
+ sendPasswordResetEmail(email: string): Promise<void>
14
+ }
@@ -0,0 +1,3 @@
1
+ export * from './authentication.service'
2
+ export * from './register.service'
3
+ export * from './types'
@@ -0,0 +1,7 @@
1
+ import { BasicUserData } from './types/basic-user-data.type'
2
+
3
+ export type RegisterParams = Omit<BasicUserData, 'isAnonymous'> & { password: string }
4
+
5
+ export interface RegisterService {
6
+ register(params: RegisterParams): Promise<BasicUserData>
7
+ }
@@ -0,0 +1,7 @@
1
+ import { User } from '../../models/user'
2
+
3
+ export type BasicUserData = Partial<
4
+ Pick<User, 'id' | 'cpf' | 'email' | 'firstName' | 'lastName' | 'displayName' | 'phone' | 'birthday'>
5
+ > & {
6
+ isAnonymous: boolean
7
+ }
@@ -0,0 +1 @@
1
+ export * from './basic-user-data.type'
@@ -0,0 +1,53 @@
1
+ import { Area, OfficePosition, User, UserType } from '../models'
2
+ import { AuthenticationService } from '../services/authentication.service'
3
+ import { isNil } from '../../../utils'
4
+ import { UnauthorizedError } from '../errors/unauthorized.error'
5
+ import { UserRepository } from '../repositories/user.repository'
6
+
7
+ export enum SignInMethods {
8
+ EMAIL_PASSWORD = 'email_password',
9
+ GOOGLE = 'google',
10
+ }
11
+
12
+ type SignInMethod = Lowercase<keyof typeof SignInMethods>
13
+
14
+ type SignInParams = {
15
+ email?: string
16
+ password?: string
17
+ }
18
+
19
+ export class Authentication {
20
+ constructor(private readonly authService: AuthenticationService, private readonly userRepository: UserRepository) {}
21
+
22
+ async signIn({ email, password }: SignInParams, signInMethod: SignInMethod): Promise<User> {
23
+ const method = this.getServiceByMethod(signInMethod)
24
+ const userAuth = await this.authService[method]({ email, password })
25
+ const user = this.userRepository.get(userAuth)
26
+
27
+ if (!isNil(user)) return user
28
+ if (/^.+@b4a.com.br$/.test(userAuth.email)) return this.createsUserByCredential(userAuth)
29
+
30
+ throw new UnauthorizedError('Invalid credentials')
31
+ }
32
+
33
+ private getServiceByMethod(signInMethod: SignInMethod): string {
34
+ return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle'
35
+ }
36
+
37
+ private async createsUserByCredential(user: Partial<User>): Promise<User> {
38
+ const [firstName, lastName] = user.displayName?.split(/\s/)
39
+ const person = User.toInstance({
40
+ ...user,
41
+ cpf: '',
42
+ birthday: new Date(),
43
+ firstName,
44
+ lastName,
45
+ acceptsNewsletter: false,
46
+ area: Area.Transactional,
47
+ officePosition: OfficePosition.Intern,
48
+ type: UserType.Collaborator,
49
+ })
50
+
51
+ return this.userRepository.create(person)
52
+ }
53
+ }
@@ -0,0 +1,4 @@
1
+ export * from './authentication'
2
+ export * from './register'
3
+ export * from './signout'
4
+ export * from './recovery-password'
@@ -0,0 +1,9 @@
1
+ import { AuthenticationService } from '../services/authentication.service'
2
+
3
+ export class RecoveryPassword {
4
+ constructor(private readonly authService: AuthenticationService) {}
5
+
6
+ async sendEmail(email: string): Promise<void> {
7
+ await this.authService.sendPasswordResetEmail(email)
8
+ }
9
+ }
@@ -0,0 +1,45 @@
1
+ import { User, UserType } from '../models'
2
+ import { RegisterService } from '../services/register.service'
3
+ import { UserAlreadyRegisteredError } from '../errors'
4
+ import { UserRepository } from '../repositories/user.repository'
5
+
6
+ type RegisterParams = Partial<User> & { password: string }
7
+
8
+ export class Register {
9
+ constructor(private readonly registerService: RegisterService, private readonly userRepository: UserRepository) {}
10
+
11
+ async register(params: RegisterParams): Promise<User> {
12
+ const email = params.email.toLocaleLowerCase()
13
+ const displayName = `${params.firstName} ${params.lastName}`
14
+
15
+ if (await this.userRepository.checkIfExistsByField('cpf', params.cpf))
16
+ throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`)
17
+ if (await this.userRepository.checkIfExistsByField('email', params.email))
18
+ throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`)
19
+
20
+ const auth = await this.registerService.register({
21
+ birthday: params.birthday,
22
+ email,
23
+ firstName: params.firstName,
24
+ lastName: params.lastName,
25
+ cpf: params.cpf,
26
+ displayName,
27
+ phone: params.phone,
28
+ password: params.password,
29
+ })
30
+
31
+ delete params.password
32
+
33
+ const user = await this.userRepository.create({
34
+ ...params,
35
+ id: auth.id,
36
+ email,
37
+ displayName,
38
+ type: UserType.B2C,
39
+ dateCreated: new Date(),
40
+ dateModified: new Date(),
41
+ })
42
+
43
+ return user
44
+ }
45
+ }
@@ -0,0 +1,9 @@
1
+ import { AuthenticationService } from '../services/authentication.service'
2
+
3
+ export class SignOut {
4
+ constructor(private readonly authService: AuthenticationService) {}
5
+
6
+ async signOut(): Promise<void> {
7
+ await this.authService.signOut()
8
+ }
9
+ }
@@ -0,0 +1,5 @@
1
+ export class DuplicatedResultsError extends Error {
2
+ constructor(readonly message) {
3
+ super(message)
4
+ }
5
+ }
@@ -0,0 +1,4 @@
1
+ export * from './invalid-argument.error'
2
+ export * from './required-argument.error'
3
+ export * from './not-found.error'
4
+ export * from './duplicated-results.error'
@@ -0,0 +1,5 @@
1
+ export class InvalidArgumentError extends Error {
2
+ constructor(readonly message) {
3
+ super(message)
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ export class NotFoundError extends Error {
2
+ constructor(readonly message) {
3
+ super(message)
4
+ }
5
+ }
@@ -0,0 +1,9 @@
1
+ export class RequiredArgumentError extends Error {
2
+ arguments: string[]
3
+
4
+ constructor(readonly args: string[]) {
5
+ super(`Required arguments: ${args.join(', ')}`)
6
+
7
+ this.arguments = args
8
+ }
9
+ }
package/src/index.ts ADDED
@@ -0,0 +1,6 @@
1
+ import 'reflect-metadata'
2
+
3
+ export * from './domain'
4
+ export * from './errors'
5
+ export * from './infra'
6
+ export * from './utils'
@@ -0,0 +1,27 @@
1
+ import axios from 'axios'
2
+
3
+ import { BaseModel } from '../../../domain'
4
+ import { ElasticSearchResult } from '../types/elastic-search-result'
5
+
6
+ export type AxiosElasticSearchConfig = {
7
+ url: string
8
+ credential: string
9
+ }
10
+
11
+ export class AxiosAdapter<T extends BaseModel<T>> {
12
+ constructor(private readonly config: AxiosElasticSearchConfig) {}
13
+
14
+ async query(index: string, query: any): Promise<ElasticSearchResult<Partial<T>>> {
15
+ const { data } = await axios({
16
+ url: `${this.config.url}/${index}`,
17
+ method: 'POST',
18
+ headers: { Authorization: `Basic ${this.config.credential}` },
19
+ data: query,
20
+ })
21
+
22
+ return {
23
+ total: data.hits.total.value,
24
+ hits: data.hits.hits,
25
+ }
26
+ }
27
+ }
@@ -1,4 +1,5 @@
1
- import { ElasticSearchResult } from '../types/elastic-search-result';
1
+ import { ElasticSearchResult } from '../types/elastic-search-result'
2
+
2
3
  export interface ElasticSearchAdapter<T = any> {
3
- query(index: string, query: any): Promise<ElasticSearchResult<T>>;
4
+ query(index: string, query: any): Promise<ElasticSearchResult<T>>
4
5
  }
@@ -0,0 +1,2 @@
1
+ export * from './axios.adapter'
2
+ export * from './elastic-search.adapter'
@@ -0,0 +1,3 @@
1
+ export * from './adapters'
2
+ export * from './indexes'
3
+ export * from './types'
@@ -0,0 +1 @@
1
+ export * from './products-index'