@infrab4a/connect 1.0.0-beta.38 → 1.0.0-beta.4

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 (364) hide show
  1. package/bundles/infrab4a-connect.umd.js +212 -2112
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category.d.ts +4 -5
  4. package/domain/catalog/models/index.d.ts +2 -3
  5. package/domain/catalog/models/product.d.ts +4 -9
  6. package/domain/catalog/models/types/product-review.type.d.ts +8 -10
  7. package/domain/catalog/models/variant.d.ts +3 -7
  8. package/domain/catalog/repositories/category.repository.d.ts +1 -1
  9. package/domain/catalog/repositories/product.repository.d.ts +3 -10
  10. package/domain/catalog/repositories/subscription-product.repository.d.ts +1 -1
  11. package/domain/catalog/repositories/variant.repository.d.ts +1 -1
  12. package/domain/general/model/base-model-with-identifier-fields.d.ts +3 -0
  13. package/domain/general/model/base.model.d.ts +6 -0
  14. package/domain/{generic → general}/model/index.d.ts +1 -0
  15. package/domain/general/model/types/base-model-builder.type.d.ts +5 -0
  16. package/domain/{generic → general}/model/types/index.d.ts +0 -2
  17. package/domain/general/model/types/non-function-properties.type.d.ts +2 -0
  18. package/domain/general/model/types/non-function-property-name.type.d.ts +3 -0
  19. package/domain/general/repository/create.repository.d.ts +5 -0
  20. package/domain/general/repository/crud.repository.d.ts +7 -0
  21. package/domain/general/repository/delete.repository.d.ts +5 -0
  22. package/domain/{generic → general}/repository/enums/where.enum.d.ts +2 -5
  23. package/domain/general/repository/find.repository.d.ts +5 -0
  24. package/domain/general/repository/get.repository.d.ts +5 -0
  25. package/domain/general/repository/read.repository.d.ts +5 -0
  26. package/domain/{generic → general}/repository/types/index.d.ts +0 -1
  27. package/domain/general/repository/types/repository-find-filters.type.d.ts +14 -0
  28. package/domain/{generic → general}/repository/types/repository-update-params.type.d.ts +4 -4
  29. package/domain/general/repository/update.repository.d.ts +5 -0
  30. package/domain/index.d.ts +1 -1
  31. package/domain/location/models/address.d.ts +2 -3
  32. package/domain/shop-settings/models/home.d.ts +3 -3
  33. package/domain/shop-settings/models/shop-menu.d.ts +3 -3
  34. package/domain/shop-settings/repositories/home.repository.d.ts +1 -1
  35. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +1 -1
  36. package/domain/shopping/models/buy-2-win.d.ts +5 -3
  37. package/domain/shopping/models/checkout.d.ts +9 -7
  38. package/domain/shopping/models/coupons/club-coupon.d.ts +7 -0
  39. package/domain/shopping/models/coupons/coupon.d.ts +15 -13
  40. package/domain/shopping/models/coupons/enums/discount-type.enum.d.ts +5 -0
  41. package/domain/shopping/models/coupons/enums/index.d.ts +1 -2
  42. package/domain/shopping/models/coupons/index.d.ts +2 -1
  43. package/domain/shopping/models/coupons/store-coupon.d.ts +8 -0
  44. package/domain/shopping/models/payment.d.ts +5 -3
  45. package/domain/shopping/models/shipping-method.d.ts +5 -3
  46. package/domain/shopping/models/subscription/checkout.d.ts +5 -3
  47. package/domain/shopping/models/subscription/plan.d.ts +5 -3
  48. package/domain/shopping/repositories/buy-2-win.repository.d.ts +1 -1
  49. package/domain/shopping/repositories/checkout.repository.d.ts +1 -1
  50. package/domain/shopping/repositories/coupon.repository.d.ts +1 -1
  51. package/domain/shopping/repositories/order.repository.d.ts +1 -1
  52. package/domain/shopping/repositories/payment.repository.d.ts +1 -1
  53. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +1 -1
  54. package/domain/shopping/repositories/subscription/plan.repository.d.ts +1 -1
  55. package/domain/users/errors/unauthorized.error.d.ts +1 -2
  56. package/domain/users/errors/user-already-registered.error.d.ts +1 -2
  57. package/domain/users/errors/weak-password.error.d.ts +1 -2
  58. package/domain/users/models/beauty-profile.d.ts +5 -4
  59. package/domain/users/models/lead.d.ts +5 -3
  60. package/domain/users/models/subscription/edition.d.ts +5 -4
  61. package/domain/users/models/subscription/payment.d.ts +5 -4
  62. package/domain/users/models/subscription/subscription.d.ts +5 -3
  63. package/domain/users/models/user-address.d.ts +3 -3
  64. package/domain/users/models/user-payment-method.d.ts +4 -4
  65. package/domain/users/models/user.d.ts +10 -11
  66. package/domain/users/repositories/beauty-profile.repository.d.ts +1 -1
  67. package/domain/users/repositories/edition.repository.d.ts +1 -1
  68. package/domain/users/repositories/lead.repository.d.ts +1 -1
  69. package/domain/users/repositories/subscription-payment.repository.d.ts +1 -1
  70. package/domain/users/repositories/subscription.repository.d.ts +1 -1
  71. package/domain/users/repositories/user-address.repository.d.ts +1 -1
  72. package/domain/users/repositories/user-payment-method.repository.d.ts +1 -1
  73. package/domain/users/repositories/user.repository.d.ts +2 -2
  74. package/errors/duplicated-results.error.d.ts +1 -2
  75. package/errors/invalid-argument.error.d.ts +1 -2
  76. package/errors/not-found.error.d.ts +1 -2
  77. package/errors/required-argument.error.d.ts +1 -2
  78. package/esm2015/domain/catalog/models/category.js +2 -5
  79. package/esm2015/domain/catalog/models/index.js +3 -4
  80. package/esm2015/domain/catalog/models/product.js +2 -12
  81. package/esm2015/domain/catalog/models/types/product-review.type.js +1 -1
  82. package/esm2015/domain/catalog/models/variant.js +2 -5
  83. package/esm2015/domain/catalog/repositories/category.repository.js +1 -1
  84. package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
  85. package/esm2015/domain/catalog/repositories/subscription-product.repository.js +1 -1
  86. package/esm2015/domain/catalog/repositories/variant.repository.js +1 -1
  87. package/esm2015/domain/{generic → general}/index.js +1 -1
  88. package/esm2015/domain/general/model/base-model-with-identifier-fields.js +2 -0
  89. package/esm2015/domain/general/model/base.model.js +13 -0
  90. package/esm2015/domain/{generic → general}/model/identifier-fields.js +1 -1
  91. package/esm2015/domain/general/model/index.js +5 -0
  92. package/esm2015/domain/general/model/types/base-model-builder.type.js +2 -0
  93. package/esm2015/domain/general/model/types/index.js +4 -0
  94. package/esm2015/domain/general/model/types/non-function-properties.type.js +2 -0
  95. package/esm2015/domain/general/model/types/non-function-property-name.type.js +2 -0
  96. package/esm2015/domain/general/repository/create.repository.js +2 -0
  97. package/esm2015/domain/general/repository/crud.repository.js +2 -0
  98. package/esm2015/domain/general/repository/delete.repository.js +2 -0
  99. package/esm2015/domain/{generic → general}/repository/enums/index.js +1 -1
  100. package/esm2015/domain/{generic → general}/repository/enums/update-option-actions.enum.js +1 -1
  101. package/esm2015/domain/general/repository/enums/where.enum.js +12 -0
  102. package/esm2015/domain/general/repository/find.repository.js +2 -0
  103. package/esm2015/domain/general/repository/get.repository.js +2 -0
  104. package/esm2015/domain/{generic → general}/repository/index.js +1 -1
  105. package/esm2015/domain/general/repository/read.repository.js +2 -0
  106. package/esm2015/domain/general/repository/types/index.js +6 -0
  107. package/esm2015/domain/general/repository/types/repository-find-filters.type.js +2 -0
  108. package/esm2015/domain/{generic → general}/repository/types/repository-find-result.type.js +1 -1
  109. package/esm2015/domain/{generic → general}/repository/types/repository-limit-options.type.js +1 -1
  110. package/esm2015/domain/{generic → general}/repository/types/repository-order-by-list.type.js +1 -1
  111. package/esm2015/domain/general/repository/types/repository-update-params.type.js +2 -0
  112. package/esm2015/domain/general/repository/update.repository.js +2 -0
  113. package/esm2015/domain/index.js +2 -2
  114. package/esm2015/domain/location/models/address.js +2 -5
  115. package/esm2015/domain/shop-settings/models/home.js +3 -3
  116. package/esm2015/domain/shop-settings/models/shop-menu.js +3 -3
  117. package/esm2015/domain/shop-settings/repositories/home.repository.js +1 -1
  118. package/esm2015/domain/shop-settings/repositories/shop-menu.repository.js +1 -1
  119. package/esm2015/domain/shopping/models/buy-2-win.js +3 -3
  120. package/esm2015/domain/shopping/models/checkout.js +14 -6
  121. package/esm2015/domain/shopping/models/coupons/club-coupon.js +18 -0
  122. package/esm2015/domain/shopping/models/coupons/coupon.js +12 -4
  123. package/esm2015/domain/shopping/models/coupons/enums/discount-type.enum.js +7 -0
  124. package/esm2015/domain/shopping/models/coupons/enums/index.js +2 -3
  125. package/esm2015/domain/shopping/models/coupons/index.js +3 -2
  126. package/esm2015/domain/shopping/models/coupons/store-coupon.js +23 -0
  127. package/esm2015/domain/shopping/models/payment.js +3 -3
  128. package/esm2015/domain/shopping/models/shipping-method.js +3 -3
  129. package/esm2015/domain/shopping/models/subscription/checkout.js +3 -3
  130. package/esm2015/domain/shopping/models/subscription/plan.js +3 -3
  131. package/esm2015/domain/shopping/repositories/buy-2-win.repository.js +1 -1
  132. package/esm2015/domain/shopping/repositories/checkout.repository.js +1 -1
  133. package/esm2015/domain/shopping/repositories/coupon.repository.js +1 -1
  134. package/esm2015/domain/shopping/repositories/order.repository.js +1 -1
  135. package/esm2015/domain/shopping/repositories/payment.repository.js +1 -1
  136. package/esm2015/domain/shopping/repositories/subscription/checkout.repository.js +1 -1
  137. package/esm2015/domain/shopping/repositories/subscription/plan.repository.js +1 -1
  138. package/esm2015/domain/users/errors/unauthorized.error.js +2 -3
  139. package/esm2015/domain/users/errors/user-already-registered.error.js +2 -3
  140. package/esm2015/domain/users/errors/weak-password.error.js +2 -3
  141. package/esm2015/domain/users/models/beauty-profile.js +4 -4
  142. package/esm2015/domain/users/models/lead.js +3 -3
  143. package/esm2015/domain/users/models/subscription/edition.js +4 -4
  144. package/esm2015/domain/users/models/subscription/payment.js +4 -4
  145. package/esm2015/domain/users/models/subscription/subscription.js +3 -3
  146. package/esm2015/domain/users/models/user-address.js +3 -3
  147. package/esm2015/domain/users/models/user-payment-method.js +4 -4
  148. package/esm2015/domain/users/models/user.js +5 -5
  149. package/esm2015/domain/users/repositories/beauty-profile.repository.js +1 -1
  150. package/esm2015/domain/users/repositories/edition.repository.js +1 -1
  151. package/esm2015/domain/users/repositories/lead.repository.js +1 -1
  152. package/esm2015/domain/users/repositories/subscription-payment.repository.js +1 -1
  153. package/esm2015/domain/users/repositories/subscription.repository.js +1 -1
  154. package/esm2015/domain/users/repositories/user-address.repository.js +1 -1
  155. package/esm2015/domain/users/repositories/user-payment-method.repository.js +1 -1
  156. package/esm2015/domain/users/repositories/user.repository.js +1 -1
  157. package/esm2015/errors/duplicated-results.error.js +2 -3
  158. package/esm2015/errors/invalid-argument.error.js +2 -3
  159. package/esm2015/errors/not-found.error.js +2 -3
  160. package/esm2015/errors/required-argument.error.js +2 -3
  161. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +1 -36
  162. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +1 -1
  163. package/esm2015/infra/elasticsearch/indexes/products-index.js +1 -35
  164. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +2 -2
  165. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +1 -1
  166. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +2 -2
  167. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +1 -1
  168. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +1 -1
  169. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +10 -9
  170. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +6 -2
  171. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +1 -1
  172. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
  173. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +1 -1
  174. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +4 -4
  175. package/esm2015/infra/firebase/firestore/models/user-search.js +3 -3
  176. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +2 -4
  177. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +8 -37
  178. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +21 -11
  179. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +2 -2
  180. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +1 -1
  181. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +1 -1
  182. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
  183. package/esm2015/infra/index.js +1 -2
  184. package/esm2015/utils/index.js +4 -6
  185. package/esm2015/utils/mixins/index.js +1 -2
  186. package/esm2015/utils/mixins/mixin-ctor.type.js +1 -1
  187. package/esm2015/utils/types/index.js +1 -2
  188. package/fesm2015/infrab4a-connect.js +141 -1368
  189. package/fesm2015/infrab4a-connect.js.map +1 -1
  190. package/infra/elasticsearch/adapters/axios.adapter.d.ts +0 -3
  191. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +0 -3
  192. package/infra/elasticsearch/indexes/products-index.d.ts +1 -5
  193. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +1 -1
  194. package/infra/firebase/auth/register-firebase-auth.service.d.ts +1 -1
  195. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +16 -3
  196. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +28 -3
  197. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +14 -3
  198. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +19 -3
  199. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +14 -3
  200. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +14 -3
  201. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +4 -5
  202. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +14 -7
  203. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +15 -6
  204. package/infra/firebase/firestore/models/user-search.d.ts +3 -3
  205. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +42 -1
  206. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +44 -5
  207. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +51 -4
  208. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +42 -1
  209. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +42 -1
  210. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +42 -1
  211. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +42 -1
  212. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +42 -1
  213. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +42 -1
  214. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +42 -1
  215. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +42 -1
  216. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +42 -1
  217. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +42 -1
  218. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +42 -1
  219. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +51 -4
  220. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +42 -1
  221. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +51 -4
  222. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +51 -4
  223. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +51 -4
  224. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +42 -1
  225. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +51 -4
  226. package/infra/firebase/firestore/repositories/users/user-search-firestore.repository.d.ts +42 -1
  227. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +3 -3
  228. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +3 -3
  229. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +3 -7
  230. package/infra/index.d.ts +0 -1
  231. package/package.json +3 -5
  232. package/utils/index.d.ts +4 -5
  233. package/utils/mixins/index.d.ts +0 -1
  234. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  235. package/utils/types/index.d.ts +0 -1
  236. package/domain/catalog/models/kit-product.d.ts +0 -12
  237. package/domain/generic/model/base.model.d.ts +0 -10
  238. package/domain/generic/model/types/base-model-builder.type.d.ts +0 -15
  239. package/domain/generic/model/types/identifier-model.type.d.ts +0 -7
  240. package/domain/generic/model/types/model-base-structure.type.d.ts +0 -6
  241. package/domain/generic/model/types/non-function-properties.type.d.ts +0 -12
  242. package/domain/generic/model/types/non-function-property-name.type.d.ts +0 -4
  243. package/domain/generic/repository/create.repository.d.ts +0 -8
  244. package/domain/generic/repository/crud.repository.d.ts +0 -19
  245. package/domain/generic/repository/delete.repository.d.ts +0 -7
  246. package/domain/generic/repository/find.repository.d.ts +0 -11
  247. package/domain/generic/repository/get.repository.d.ts +0 -5
  248. package/domain/generic/repository/read.repository.d.ts +0 -14
  249. package/domain/generic/repository/types/repository-find-filters.type.d.ts +0 -13
  250. package/domain/generic/repository/types/where-options.type.d.ts +0 -2
  251. package/domain/generic/repository/update.repository.d.ts +0 -6
  252. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +0 -4
  253. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +0 -6
  254. package/domain/shopping/models/coupons/financial-coupon.d.ts +0 -9
  255. package/esm2015/domain/catalog/models/kit-product.js +0 -18
  256. package/esm2015/domain/generic/model/base.model.js +0 -23
  257. package/esm2015/domain/generic/model/index.js +0 -4
  258. package/esm2015/domain/generic/model/types/base-model-builder.type.js +0 -2
  259. package/esm2015/domain/generic/model/types/identifier-model.type.js +0 -2
  260. package/esm2015/domain/generic/model/types/index.js +0 -6
  261. package/esm2015/domain/generic/model/types/model-base-structure.type.js +0 -2
  262. package/esm2015/domain/generic/model/types/non-function-properties.type.js +0 -2
  263. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +0 -2
  264. package/esm2015/domain/generic/repository/create.repository.js +0 -2
  265. package/esm2015/domain/generic/repository/crud.repository.js +0 -2
  266. package/esm2015/domain/generic/repository/delete.repository.js +0 -2
  267. package/esm2015/domain/generic/repository/enums/where.enum.js +0 -15
  268. package/esm2015/domain/generic/repository/find.repository.js +0 -2
  269. package/esm2015/domain/generic/repository/get.repository.js +0 -2
  270. package/esm2015/domain/generic/repository/read.repository.js +0 -2
  271. package/esm2015/domain/generic/repository/types/index.js +0 -7
  272. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +0 -2
  273. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +0 -2
  274. package/esm2015/domain/generic/repository/types/where-options.type.js +0 -2
  275. package/esm2015/domain/generic/repository/update.repository.js +0 -2
  276. package/esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +0 -6
  277. package/esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js +0 -8
  278. package/esm2015/domain/shopping/models/coupons/financial-coupon.js +0 -28
  279. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +0 -13
  280. package/esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +0 -15
  281. package/esm2015/infra/hasura-graphql/enums/index.js +0 -3
  282. package/esm2015/infra/hasura-graphql/index.js +0 -5
  283. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +0 -31
  284. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +0 -18
  285. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +0 -72
  286. package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +0 -4
  287. package/esm2015/infra/hasura-graphql/mixins/index.js +0 -8
  288. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +0 -45
  289. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +0 -10
  290. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +0 -29
  291. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +0 -93
  292. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +0 -35
  293. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +0 -94
  294. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +0 -56
  295. package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +0 -4
  296. package/esm2015/infra/hasura-graphql/models/index.js +0 -5
  297. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +0 -15
  298. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +0 -11
  299. package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +0 -9
  300. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +0 -135
  301. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +0 -4
  302. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +0 -375
  303. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +0 -100
  304. package/esm2015/infra/hasura-graphql/repositories/index.js +0 -2
  305. package/esm2015/infra/hasura-graphql/types/fields.type.js +0 -2
  306. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +0 -2
  307. package/esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +0 -2
  308. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +0 -2
  309. package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +0 -2
  310. package/esm2015/infra/hasura-graphql/types/index.js +0 -9
  311. package/esm2015/infra/hasura-graphql/types/nested-field.type.js +0 -2
  312. package/esm2015/infra/hasura-graphql/types/query-builder-options.type.js +0 -2
  313. package/esm2015/infra/hasura-graphql/types/variable-options.type.js +0 -2
  314. package/esm2015/utils/is-uuid.js +0 -3
  315. package/esm2015/utils/mixins/merge-constructor-params.type.js +0 -2
  316. package/esm2015/utils/parse-datetime.js +0 -14
  317. package/esm2015/utils/types/array-element.type.js +0 -2
  318. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +0 -11
  319. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +0 -13
  320. package/infra/hasura-graphql/enums/index.d.ts +0 -2
  321. package/infra/hasura-graphql/index.d.ts +0 -4
  322. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +0 -13
  323. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +0 -6
  324. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +0 -8
  325. package/infra/hasura-graphql/mixins/helpers/index.d.ts +0 -3
  326. package/infra/hasura-graphql/mixins/index.d.ts +0 -7
  327. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +0 -8
  328. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +0 -11
  329. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +0 -7
  330. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +0 -31
  331. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +0 -24
  332. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +0 -11
  333. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +0 -14
  334. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +0 -6
  335. package/infra/hasura-graphql/models/index.d.ts +0 -4
  336. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +0 -6
  337. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +0 -9
  338. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +0 -9
  339. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +0 -22
  340. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -3
  341. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +0 -26
  342. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +0 -13
  343. package/infra/hasura-graphql/repositories/index.d.ts +0 -1
  344. package/infra/hasura-graphql/types/fields.type.d.ts +0 -2
  345. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +0 -21
  346. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +0 -8
  347. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +0 -36
  348. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +0 -7
  349. package/infra/hasura-graphql/types/index.d.ts +0 -8
  350. package/infra/hasura-graphql/types/nested-field.type.d.ts +0 -7
  351. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +0 -7
  352. package/infra/hasura-graphql/types/variable-options.type.d.ts +0 -9
  353. package/utils/is-uuid.d.ts +0 -1
  354. package/utils/mixins/merge-constructor-params.type.d.ts +0 -3
  355. package/utils/parse-datetime.d.ts +0 -1
  356. package/utils/types/array-element.type.d.ts +0 -1
  357. /package/domain/{generic → general}/index.d.ts +0 -0
  358. /package/domain/{generic → general}/model/identifier-fields.d.ts +0 -0
  359. /package/domain/{generic → general}/repository/enums/index.d.ts +0 -0
  360. /package/domain/{generic → general}/repository/enums/update-option-actions.enum.d.ts +0 -0
  361. /package/domain/{generic → general}/repository/index.d.ts +0 -0
  362. /package/domain/{generic → general}/repository/types/repository-find-result.type.d.ts +0 -0
  363. /package/domain/{generic → general}/repository/types/repository-limit-options.type.d.ts +0 -0
  364. /package/domain/{generic → general}/repository/types/repository-order-by-list.type.d.ts +0 -0
@@ -7,8 +7,5 @@ export declare type AxiosElasticSearchConfig = {
7
7
  export declare class AxiosAdapter<T extends BaseModel<T>> {
8
8
  private readonly config;
9
9
  constructor(config: AxiosElasticSearchConfig);
10
- get(index: string): Promise<Partial<T>>;
11
10
  query(index: string, query: any): Promise<ElasticSearchResult<Partial<T>>>;
12
- save(index: string, data: Partial<T>): Promise<void>;
13
- delete(index: string): Promise<void>;
14
11
  }
@@ -1,7 +1,4 @@
1
1
  import { ElasticSearchResult } from '../types/elastic-search-result';
2
2
  export interface ElasticSearchAdapter<T = any> {
3
- get(index: string): Promise<T>;
4
3
  query(index: string, query: any): Promise<ElasticSearchResult<T>>;
5
- save(index: string, data: Partial<T>): Promise<void>;
6
- delete(index: string): Promise<void>;
7
4
  }
@@ -1,15 +1,11 @@
1
- import { Product, Shops } from '../../../domain';
2
- import { ProductHasuraGraphQL } from '../../hasura-graphql';
3
1
  import { AxiosAdapter } from '../adapters';
2
+ import { Product, Shops } from '../../../domain';
4
3
  export declare class ProductsIndex {
5
4
  private readonly adapter;
6
5
  constructor(adapter: AxiosAdapter<Product>);
7
- get(id: any): Promise<Product>;
8
6
  findById(ids: string[], options?: {
9
7
  hasStock: boolean;
10
8
  size: number;
11
9
  shop: Shops;
12
10
  }): Promise<Product[]>;
13
- save(product: ProductHasuraGraphQL): Promise<void>;
14
- delete(product: ProductHasuraGraphQL): Promise<void>;
15
11
  }
@@ -1,4 +1,4 @@
1
- import firebase from 'firebase';
1
+ import firebase from 'firebase/app';
2
2
  import { AuthenticationService, BasicUserData, LoginAndPasswordParams } from '../../../domain';
3
3
  import { FirebaseUserWithId } from './types/firebase-user-with-id.type';
4
4
  export declare class AuthenticationFirebaseAuthService implements AuthenticationService {
@@ -1,4 +1,4 @@
1
- import firebase from 'firebase';
1
+ import firebase from 'firebase/app';
2
2
  import { RegisterParams, RegisterService } from '../../../domain';
3
3
  import { FirebaseUserWithId } from './types/firebase-user-with-id.type';
4
4
  export declare class RegisterFirebaseAuthService implements RegisterService {
@@ -1,4 +1,17 @@
1
- import { CreateRepository, CreateRepositoryParams, ModelBaseStructure } from '../../../../domain';
1
+ import { DocumentReference } from '@firebase/firestore-types';
2
+ import { BaseModelWithIdentifier } from '../../../../domain';
2
3
  import { FirestoreHelpers, FirestoreRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare const withCreateFirestore: <TBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & InstanceType<TMixinBase> & CreateRepository<TBase, CreateRepositoryParams<TBase>> & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
4
+ import { MixinCtor } from '../../../../utils';
5
+ export declare const withCreateFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
6
+ new (...args: any[]): {
7
+ create(data: Partial<TBase>): Promise<TBase>;
8
+ save(data: TBase): Promise<DocumentReference<TBase>>;
9
+ buildCollectionPathForAdd(identifiers: Partial<TBase>): string;
10
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
11
+ collectionName: string;
12
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
13
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
14
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
15
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
16
+ };
17
+ } & TMixinBase;
@@ -1,4 +1,29 @@
1
- import { ModelBaseStructure, CrudRepository } from '../../../../domain';
1
+ import { BaseModelWithIdentifier } from '../../../../domain';
2
2
  import { FirestoreHelpers, FirestoreRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare const withCrudFirestore: <TBase extends ModelBaseStructure<any, any>, Repository = CrudRepository<TBase, import("../../../../domain").CrudParams<TBase>>, TMixinBase extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & Repository & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
3
+ import { MixinCtor } from '../../../../utils';
4
+ export declare const withCrudFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
5
+ new (...args: any[]): {
6
+ update(data: import("../../../../domain").RepositoryUpdateParams<TBase>): Promise<TBase>;
7
+ buildCollectionPathForUpdate(identifiers: import("../../../../domain").RepositoryUpdateParams<TBase>): string;
8
+ paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<TBase>): Partial<TBase>;
9
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
10
+ collectionName: string;
11
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
12
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
13
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
14
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
15
+ get(identifiers: import("../../../../domain").NonFunctionProperties<TBase>): Promise<TBase>;
16
+ buildCollectionPathForGet(identifiers: import("../../../../domain").NonFunctionProperties<TBase>): string;
17
+ find(filters?: import("../../../../domain").RepositoryFindFielters<TBase>[], limits?: import("../../../../domain").RepositoryLimitOptions<TBase>, orderBy?: import("../../../../domain").RepositoryOrderByList<TBase>): Promise<import("../../../../domain").RepositoryFindResult<TBase>>;
18
+ buildCollectionPathForFind(filters: import("../../../../domain").RepositoryFindFielters<TBase>[]): string;
19
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<TBase> | import("@firebase/firestore-types").Query<TBase>, filter: import("../../../../domain").RepositoryFindFielters<TBase>) => import("@firebase/firestore-types").Query<TBase>;
20
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<TBase> | import("@firebase/firestore-types").Query<TBase>, fieldName: string | import("../../../../domain").NonFunctionPropertyNames<TBase>, options: import("../../../../domain").RepositoryFindFieltersOptions<TBase, import("../../../../domain").NonFunctionPropertyNames<TBase>>) => import("@firebase/firestore-types").Query<TBase>;
21
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<TBase> | import("@firebase/firestore-types").Query<TBase>, filters: import("../../../../domain").RepositoryFindFielters<TBase>[], limits: import("../../../../domain").RepositoryLimitOptions<TBase>): Promise<import("@firebase/firestore-types").Query<TBase>>;
22
+ calculateCount(data: TBase[], limits: import("../../../../domain").RepositoryLimitOptions<TBase>): number;
23
+ delete(identifiers: import("../../../../domain").NonFunctionProperties<TBase>): Promise<void>;
24
+ buildCollectionPathForRemove(identifiers: import("../../../../domain").NonFunctionProperties<TBase>): string;
25
+ create(data: Partial<TBase>): Promise<TBase>;
26
+ save(data: TBase): Promise<import("@firebase/firestore-types").DocumentReference<TBase>>;
27
+ buildCollectionPathForAdd(identifiers: Partial<TBase>): string;
28
+ };
29
+ } & TMixinBase;
@@ -1,4 +1,15 @@
1
- import { ModelBaseStructure, DeleteRepository, DeleteRepositoryParams } from '../../../../domain';
1
+ import { BaseModelWithIdentifier, NonFunctionProperties } from '../../../../domain';
2
2
  import { FirestoreHelpers, FirestoreRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare const withDeleteFirestore: <TBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & InstanceType<TMixinBase> & DeleteRepository<TBase, DeleteRepositoryParams<TBase>> & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
3
+ import { MixinCtor } from '../../../../utils';
4
+ export declare const withDeleteFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
5
+ new (...args: any[]): {
6
+ delete(identifiers: NonFunctionProperties<TBase>): Promise<void>;
7
+ buildCollectionPathForRemove(identifiers: NonFunctionProperties<TBase>): string;
8
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
12
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
14
+ };
15
+ } & TMixinBase;
@@ -1,4 +1,20 @@
1
- import { FindRepository, ModelBaseStructure } from '../../../../domain';
2
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
1
+ import { CollectionReference, Query } from '@firebase/firestore-types';
2
+ import { BaseModelWithIdentifier, NonFunctionPropertyNames, RepositoryFindFielters, RepositoryFindFieltersOptions, RepositoryFindResult, RepositoryLimitOptions, RepositoryOrderByList } from '../../../../domain';
3
3
  import { FirestoreHelpers, FirestoreRepository } from '../types';
4
- export declare const withFindFirestore: <TBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & InstanceType<TMixinBase> & FindRepository<TBase, import("../../../../domain").FindRepositoryParams<TBase>> & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
4
+ import { MixinCtor } from '../../../../utils';
5
+ export declare const withFindFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
6
+ new (...args: any[]): {
7
+ find(filters?: RepositoryFindFielters<TBase>[], limits?: RepositoryLimitOptions<TBase>, orderBy?: RepositoryOrderByList<TBase>): Promise<RepositoryFindResult<TBase>>;
8
+ buildCollectionPathForFind(filters: RepositoryFindFielters<TBase>[]): string;
9
+ makeFirestoreWhere: (queryReference: CollectionReference<TBase> | Query<TBase>, filter: RepositoryFindFielters<TBase>) => Query<TBase>;
10
+ buildWhereSentence: (queryReference: CollectionReference<TBase> | Query<TBase>, fieldName: string | NonFunctionPropertyNames<TBase>, options: RepositoryFindFieltersOptions<TBase, NonFunctionPropertyNames<TBase>>) => Query<TBase>;
11
+ defineLimits(query: CollectionReference<TBase> | Query<TBase>, filters: RepositoryFindFielters<TBase>[], limits: RepositoryLimitOptions<TBase>): Promise<Query<TBase>>;
12
+ calculateCount(data: TBase[], limits: RepositoryLimitOptions<TBase>): number;
13
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
14
+ collectionName: string;
15
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
16
+ collection(path?: string): CollectionReference<TBase>;
17
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
18
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
19
+ };
20
+ } & TMixinBase;
@@ -1,4 +1,15 @@
1
- import { ModelBaseStructure } from '../../../../domain';
1
+ import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
+ import { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain';
2
3
  import { MixinCtor } from '../../../../utils';
3
- import { FirestoreRepository } from '../types';
4
- export declare const withFirestore: <TBase extends ModelBaseStructure<any, any>, T extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: T) => MixinCtor<FirestoreRepository<TBase>, never>;
4
+ export declare const withFirestore: <TBase extends BaseModelWithIdentifier<TBase>>(MixinBase: MixinCtor) => {
5
+ new (...args: Array<any>): {
6
+ readonly firestore?: FirebaseFirestore;
7
+ collectionName: string;
8
+ model: BaseModelBuilder<TBase>;
9
+ collection(path?: string): CollectionReference<TBase>;
10
+ buildModelInstance(): {
11
+ toFirestore: (data: TBase) => DocumentData;
12
+ fromFirestore: (snap: QueryDocumentSnapshot<TBase>) => TBase;
13
+ };
14
+ };
15
+ };
@@ -1,4 +1,15 @@
1
- import { ModelBaseStructure, GetRepository } from '../../../../domain';
1
+ import { BaseModelWithIdentifier, NonFunctionProperties } from '../../../../domain';
2
2
  import { FirestoreHelpers, FirestoreRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare const withGetFirestore: <TBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & InstanceType<TMixinBase> & GetRepository<TBase, import("../../../../domain").GetRepositoryParams<TBase>> & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
3
+ import { MixinCtor } from '../../../../utils';
4
+ export declare const withGetFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
5
+ new (...args: any[]): {
6
+ get(identifiers: NonFunctionProperties<TBase>): Promise<TBase>;
7
+ buildCollectionPathForGet(identifiers: NonFunctionProperties<TBase>): string;
8
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
12
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
14
+ };
15
+ } & TMixinBase;
@@ -1,11 +1,10 @@
1
1
  import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
- import { ModelBaseStructure } from '../../../../domain';
2
+ import { BaseModelWithIdentifier } from '../../../../domain';
3
3
  import { FirestoreRepository, FirestoreSubRepository } from '../types';
4
4
  import { MixinCtor } from '../../../../utils';
5
- export declare const withHelpers: <TMixinBase extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: MixinCtor<any, any[]> & TMixinBase) => {
5
+ export declare const withHelpers: <Model extends BaseModelWithIdentifier<Model>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<{}> & TMixinBase) => {
6
6
  new (...args: any[]): {
7
- [x: string]: any;
8
- toArray<T extends ModelBaseStructure<any, any>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
9
- isSubCollection<T_2 extends ModelBaseStructure<any, any>>(repository: FirestoreRepository<T_2>): repository is FirestoreSubRepository<T_2, import("../../../../domain").BaseModel<{}, "id">>;
7
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
8
+ isSubCollection<T_2 extends BaseModelWithIdentifier<T_2>>(repository: FirestoreRepository<T_2>): repository is FirestoreSubRepository<T_2, BaseModelWithIdentifier<{}>>;
10
9
  };
11
10
  } & TMixinBase;
@@ -1,7 +1,14 @@
1
- import { ModelBaseStructure } from '../../../../domain';
2
- import { FirestoreHelpers, FirestoreRepository, FirestoreSubRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare const withSubCollection: <TBase extends ModelBaseStructure<any, any>, TBaseParent extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase>, any[]> & TMixinBase, ParentModel: new () => TBaseParent) => MixinCtor<FirestoreRepository<TBase> & InstanceType<TMixinBase> & {
5
- readonly parentRepository: FirestoreRepository<TBaseParent>;
6
- parentIdField: Extract<import("../../../../domain").NonFunctionAndIdentifierPropertyNames<TBase>, import("../../../../utils").ArrayElement<import("../../../../utils").PropType<TBase, "identifiersFields">>>;
7
- } & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
1
+ import { CollectionReference, FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain';
3
+ import { FirestoreRepository } from '../types';
4
+ import { MixinCtor } from '../../../../utils';
5
+ export declare const withSubCollection: <TBase extends BaseModelWithIdentifier<TBase>, TBaseParent extends BaseModelWithIdentifier<TBaseParent>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase>> & TMixinBase, ParentModel: new () => TBaseParent) => {
6
+ new (...args: Array<any>): {
7
+ readonly parentRepository: FirestoreRepository<TBaseParent>;
8
+ parentIdField: NonFunctionPropertyNames<TBase>;
9
+ collection(path?: string): CollectionReference<TBase>;
10
+ readonly firestore?: FirebaseFirestore;
11
+ collectionName: string;
12
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
13
+ };
14
+ } & TMixinBase;
@@ -1,7 +1,16 @@
1
- import { ModelBaseStructure, RepositoryUpdateParams, UpdateRepository } from '../../../../domain';
1
+ import { BaseModelWithIdentifier, RepositoryUpdateParams } from '../../../../domain';
2
2
  import { FirestoreHelpers, FirestoreRepository } from '../types';
3
- import { MergeConstructorParams, MixinCtor } from '../../../../utils';
4
- export declare type UpdateFirestoreRepositoryType<MBase extends ModelBaseStructure> = UpdateRepository<MBase> & {
5
- paramsToPlain(params: RepositoryUpdateParams<MBase>): Partial<MBase>;
6
- };
7
- export declare const withUpdateFirestore: <TBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<FirestoreRepository<TBase>, any[]>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers, any[]> & TMixinBase) => MixinCtor<FirestoreRepository<TBase> & UpdateRepository<TBase, RepositoryUpdateParams<TBase>> & InstanceType<TMixinBase> & FirestoreHelpers, MergeConstructorParams<{}, ConstructorParameters<TMixinBase>>>;
3
+ import { MixinCtor } from '../../../../utils';
4
+ export declare const withUpdateFirestore: <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor<{}>>(MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase) => {
5
+ new (...args: any[]): {
6
+ update(data: RepositoryUpdateParams<TBase>): Promise<TBase>;
7
+ buildCollectionPathForUpdate(identifiers: RepositoryUpdateParams<TBase>): string;
8
+ paramsToPlain(params: RepositoryUpdateParams<TBase>): Partial<TBase>;
9
+ readonly firestore?: import("@firebase/firestore-types").FirebaseFirestore;
10
+ collectionName: string;
11
+ model: import("../../../../domain").BaseModelBuilder<TBase>;
12
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<TBase>;
13
+ toArray<T extends BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
14
+ isSubCollection<T_1 extends BaseModelWithIdentifier<T_1>>(repository: FirestoreRepository<T_1>): repository is import("../types").FirestoreSubRepository<T_1, BaseModelWithIdentifier<{}>>;
15
+ };
16
+ } & TMixinBase;
@@ -1,9 +1,9 @@
1
- import { BaseModel, GenericIdentifier } from '../../../../domain/generic';
2
- export declare class UserSearch extends BaseModel<UserSearch> {
1
+ import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../../../domain/general';
2
+ export declare class UserSearch extends BaseModel<UserSearch> implements IdentifierFields<UserSearch> {
3
3
  id: string;
4
4
  cpf?: string;
5
5
  email?: string;
6
6
  createdAt: Date;
7
7
  copiedAt: Date;
8
- static get identifiersFields(): GenericIdentifier[];
8
+ identifierFields(): NonFunctionPropertyNames<UserSearch>[];
9
9
  }
@@ -1,6 +1,47 @@
1
1
  import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { Category, CategoryRepository, Product, Shops } from '../../../../../domain';
3
- declare const CategoryFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Category> & import("../../../../../domain").CrudRepository<Category, import("../../../../../domain").CrudParams<Category>> & import("@infrab4a/connect").FirestoreHelpers, never>;
3
+ declare const CategoryFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: import("../../../../../domain").RepositoryUpdateParams<Category>): Promise<Category>;
6
+ buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<Category>): string;
7
+ paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<Category>): Partial<Category>;
8
+ readonly firestore?: FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../../domain").BaseModelBuilder<Category>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Category>;
12
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
14
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Category>): Promise<Category>;
15
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Category>): string;
16
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Category>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Category>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Category>): Promise<import("../../../../../domain").RepositoryFindResult<Category>>;
17
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Category>[]): string;
18
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Category> | import("@firebase/firestore-types").Query<Category>, filter: import("../../../../../domain").RepositoryFindFielters<Category>) => import("@firebase/firestore-types").Query<Category>;
19
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Category> | import("@firebase/firestore-types").Query<Category>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<Category, import("../../../../../domain").NonFunctionPropertyNames<Category>>) => import("@firebase/firestore-types").Query<Category>;
20
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Category> | import("@firebase/firestore-types").Query<Category>, filters: import("../../../../../domain").RepositoryFindFielters<Category>[], limits: import("../../../../../domain").RepositoryLimitOptions<Category>): Promise<import("@firebase/firestore-types").Query<Category>>;
21
+ calculateCount(data: Category[], limits: import("../../../../../domain").RepositoryLimitOptions<Category>): number;
22
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Category>): Promise<void>;
23
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Category>): string;
24
+ create(data: Partial<Category>): Promise<Category>;
25
+ save(data: Category): Promise<import("@firebase/firestore-types").DocumentReference<Category>>;
26
+ buildCollectionPathForAdd(identifiers: Partial<Category>): string;
27
+ };
28
+ } & {
29
+ new (...args: any[]): {
30
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
32
+ };
33
+ } & {
34
+ new (...args: any[]): {
35
+ readonly firestore?: FirebaseFirestore;
36
+ collectionName: string;
37
+ model: import("../../../../../domain").BaseModelBuilder<Category>;
38
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Category>;
39
+ buildModelInstance(): {
40
+ toFirestore: (data: Category) => import("@firebase/firestore-types").DocumentData;
41
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Category>) => Category;
42
+ };
43
+ };
44
+ };
4
45
  export declare class CategoryFirestoreRepository extends CategoryFirestoreRepository_base implements CategoryRepository {
5
46
  readonly firestore: FirebaseFirestore;
6
47
  constructor(firestore: FirebaseFirestore);
@@ -1,11 +1,50 @@
1
1
  import { FirebaseFirestore } from '@firebase/firestore-types';
2
- import { Product, ProductRepository, ReviewStatusParams, ReviewWithProductData } from '../../../../../domain';
3
- declare const ProductFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Product> & import("../../../../../domain").CrudRepository<Product, import("../../../../../domain").CrudParams<Product>> & import("@infrab4a/connect").FirestoreHelpers, never>;
2
+ import { Product, ProductRepository, Shops } from '../../../../../domain';
3
+ declare const ProductFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: import("../../../../../domain").RepositoryUpdateParams<Product>): Promise<Product>;
6
+ buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<Product>): string;
7
+ paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<Product>): Partial<Product>;
8
+ readonly firestore?: FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../../domain").BaseModelBuilder<Product>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Product>;
12
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
14
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): Promise<Product>;
15
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): string;
16
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Product>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Product>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Product>): Promise<import("../../../../../domain").RepositoryFindResult<Product>>;
17
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Product>[]): string;
18
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, filter: import("../../../../../domain").RepositoryFindFielters<Product>) => import("@firebase/firestore-types").Query<Product>;
19
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<Product, import("../../../../../domain").NonFunctionPropertyNames<Product>>) => import("@firebase/firestore-types").Query<Product>;
20
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, filters: import("../../../../../domain").RepositoryFindFielters<Product>[], limits: import("../../../../../domain").RepositoryLimitOptions<Product>): Promise<import("@firebase/firestore-types").Query<Product>>;
21
+ calculateCount(data: Product[], limits: import("../../../../../domain").RepositoryLimitOptions<Product>): number;
22
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): Promise<void>;
23
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): string;
24
+ create(data: Partial<Product>): Promise<Product>;
25
+ save(data: Product): Promise<import("@firebase/firestore-types").DocumentReference<Product>>;
26
+ buildCollectionPathForAdd(identifiers: Partial<Product>): string;
27
+ };
28
+ } & {
29
+ new (...args: any[]): {
30
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
32
+ };
33
+ } & {
34
+ new (...args: any[]): {
35
+ readonly firestore?: FirebaseFirestore;
36
+ collectionName: string;
37
+ model: import("../../../../../domain").BaseModelBuilder<Product>;
38
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Product>;
39
+ buildModelInstance(): {
40
+ toFirestore: (data: Product) => import("@firebase/firestore-types").DocumentData;
41
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Product>) => Product;
42
+ };
43
+ };
44
+ };
4
45
  export declare class ProductFirestoreRepository extends ProductFirestoreRepository_base implements ProductRepository {
5
46
  readonly firestore: FirebaseFirestore;
6
- private reviews;
7
47
  constructor(firestore: FirebaseFirestore);
8
- getBySlug(slug: string): Promise<Product>;
9
- fetchReviews(status: ReviewStatusParams): Promise<ReviewWithProductData[]>;
48
+ getBySlug(slug: string, shop: Shops): Promise<Product>;
10
49
  }
11
50
  export {};
@@ -1,10 +1,57 @@
1
1
  import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { Product, Variant, VariantRepository } from '../../../../../domain';
3
3
  import { ProductFirestoreRepository } from './product-firestore.repository';
4
- declare const ProductVariantFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Variant> & import("../../../../../domain").CrudRepository<Variant, import("../../../../../domain").CrudParams<Variant>> & import("@infrab4a/connect").FirestoreHelpers & {
5
- readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<Product>;
6
- parentIdField: "id" | "productId";
7
- }, never>;
4
+ declare const ProductVariantFirestoreRepository_base: {
5
+ new (...args: any[]): {
6
+ readonly parentRepository: import("@infrab4a/connect").FirestoreRepository<Product>;
7
+ parentIdField: import("../../../../../domain").NonFunctionPropertyNames<Variant>;
8
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Variant>;
9
+ readonly firestore?: FirebaseFirestore;
10
+ collectionName: string;
11
+ model: import("../../../../../domain").BaseModelBuilder<Variant>;
12
+ };
13
+ } & {
14
+ new (...args: any[]): {
15
+ update(data: import("../../../../../domain").RepositoryUpdateParams<Variant>): Promise<Variant>;
16
+ buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<Variant>): string;
17
+ paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<Variant>): Partial<Variant>;
18
+ readonly firestore?: FirebaseFirestore;
19
+ collectionName: string;
20
+ model: import("../../../../../domain").BaseModelBuilder<Variant>;
21
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Variant>;
22
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
23
+ isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
24
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Variant>): Promise<Variant>;
25
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Variant>): string;
26
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Variant>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Variant>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Variant>): Promise<import("../../../../../domain").RepositoryFindResult<Variant>>;
27
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Variant>[]): string;
28
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Variant> | import("@firebase/firestore-types").Query<Variant>, filter: import("../../../../../domain").RepositoryFindFielters<Variant>) => import("@firebase/firestore-types").Query<Variant>;
29
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Variant> | import("@firebase/firestore-types").Query<Variant>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<Variant, import("../../../../../domain").NonFunctionPropertyNames<Variant>>) => import("@firebase/firestore-types").Query<Variant>;
30
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Variant> | import("@firebase/firestore-types").Query<Variant>, filters: import("../../../../../domain").RepositoryFindFielters<Variant>[], limits: import("../../../../../domain").RepositoryLimitOptions<Variant>): Promise<import("@firebase/firestore-types").Query<Variant>>;
31
+ calculateCount(data: Variant[], limits: import("../../../../../domain").RepositoryLimitOptions<Variant>): number;
32
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Variant>): Promise<void>;
33
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Variant>): string;
34
+ create(data: Partial<Variant>): Promise<Variant>;
35
+ save(data: Variant): Promise<import("@firebase/firestore-types").DocumentReference<Variant>>;
36
+ buildCollectionPathForAdd(identifiers: Partial<Variant>): string;
37
+ };
38
+ } & {
39
+ new (...args: any[]): {
40
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
41
+ isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
42
+ };
43
+ } & {
44
+ new (...args: any[]): {
45
+ readonly firestore?: FirebaseFirestore;
46
+ collectionName: string;
47
+ model: import("../../../../../domain").BaseModelBuilder<Variant>;
48
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Variant>;
49
+ buildModelInstance(): {
50
+ toFirestore: (data: Variant) => import("@firebase/firestore-types").DocumentData;
51
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Variant>) => Variant;
52
+ };
53
+ };
54
+ };
8
55
  export declare class ProductVariantFirestoreRepository extends ProductVariantFirestoreRepository_base implements VariantRepository {
9
56
  readonly firestore: FirebaseFirestore;
10
57
  readonly parentRepository: ProductFirestoreRepository;
@@ -1,6 +1,47 @@
1
1
  import { FirebaseFirestore } from '@firebase/firestore-types';
2
2
  import { Product, SubscriptionProductRepository } from '../../../../../domain';
3
- declare const SubscriptionProductFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Product> & import("../../../../../domain").CrudRepository<Product, import("../../../../../domain").CrudParams<Product>> & import("@infrab4a/connect").FirestoreHelpers, never>;
3
+ declare const SubscriptionProductFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: import("../../../../../domain").RepositoryUpdateParams<Product>): Promise<Product>;
6
+ buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<Product>): string;
7
+ paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<Product>): Partial<Product>;
8
+ readonly firestore?: FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../../domain").BaseModelBuilder<Product>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Product>;
12
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
14
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): Promise<Product>;
15
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): string;
16
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Product>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Product>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Product>): Promise<import("../../../../../domain").RepositoryFindResult<Product>>;
17
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Product>[]): string;
18
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, filter: import("../../../../../domain").RepositoryFindFielters<Product>) => import("@firebase/firestore-types").Query<Product>;
19
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<Product, import("../../../../../domain").NonFunctionPropertyNames<Product>>) => import("@firebase/firestore-types").Query<Product>;
20
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Product> | import("@firebase/firestore-types").Query<Product>, filters: import("../../../../../domain").RepositoryFindFielters<Product>[], limits: import("../../../../../domain").RepositoryLimitOptions<Product>): Promise<import("@firebase/firestore-types").Query<Product>>;
21
+ calculateCount(data: Product[], limits: import("../../../../../domain").RepositoryLimitOptions<Product>): number;
22
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): Promise<void>;
23
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Product>): string;
24
+ create(data: Partial<Product>): Promise<Product>;
25
+ save(data: Product): Promise<import("@firebase/firestore-types").DocumentReference<Product>>;
26
+ buildCollectionPathForAdd(identifiers: Partial<Product>): string;
27
+ };
28
+ } & {
29
+ new (...args: any[]): {
30
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
32
+ };
33
+ } & {
34
+ new (...args: any[]): {
35
+ readonly firestore?: FirebaseFirestore;
36
+ collectionName: string;
37
+ model: import("../../../../../domain").BaseModelBuilder<Product>;
38
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Product>;
39
+ buildModelInstance(): {
40
+ toFirestore: (data: Product) => import("@firebase/firestore-types").DocumentData;
41
+ fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Product>) => Product;
42
+ };
43
+ };
44
+ };
4
45
  export declare class SubscriptionProductFirestoreRepository extends SubscriptionProductFirestoreRepository_base implements SubscriptionProductRepository {
5
46
  readonly firestore: FirebaseFirestore;
6
47
  constructor(firestore: FirebaseFirestore);
@@ -1,6 +1,47 @@
1
1
  import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
2
  import { Home, HomeRepository } from '../../../../../domain';
3
- declare const HomeFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Home> & import("../../../../../domain").CrudRepository<Home, import("../../../../../domain").CrudParams<Home>> & import("@infrab4a/connect").FirestoreHelpers, never>;
3
+ declare const HomeFirestoreRepository_base: {
4
+ new (...args: any[]): {
5
+ update(data: import("../../../../../domain").RepositoryUpdateParams<Home>): Promise<Home>;
6
+ buildCollectionPathForUpdate(identifiers: import("../../../../../domain").RepositoryUpdateParams<Home>): string;
7
+ paramsToPlain(params: import("../../../../../domain").RepositoryUpdateParams<Home>): Partial<Home>;
8
+ readonly firestore?: FirebaseFirestore;
9
+ collectionName: string;
10
+ model: import("../../../../../domain").BaseModelBuilder<Home>;
11
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Home>;
12
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
13
+ isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
14
+ get(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): Promise<Home>;
15
+ buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): string;
16
+ find(filters?: import("../../../../../domain").RepositoryFindFielters<Home>[], limits?: import("../../../../../domain").RepositoryLimitOptions<Home>, orderBy?: import("../../../../../domain").RepositoryOrderByList<Home>): Promise<import("../../../../../domain").RepositoryFindResult<Home>>;
17
+ buildCollectionPathForFind(filters: import("../../../../../domain").RepositoryFindFielters<Home>[]): string;
18
+ makeFirestoreWhere: (queryReference: import("@firebase/firestore-types").CollectionReference<Home> | import("@firebase/firestore-types").Query<Home>, filter: import("../../../../../domain").RepositoryFindFielters<Home>) => import("@firebase/firestore-types").Query<Home>;
19
+ buildWhereSentence: (queryReference: import("@firebase/firestore-types").CollectionReference<Home> | import("@firebase/firestore-types").Query<Home>, fieldName: string, options: import("../../../../../domain").RepositoryFindFieltersOptions<Home, import("../../../../../domain").NonFunctionPropertyNames<Home>>) => import("@firebase/firestore-types").Query<Home>;
20
+ defineLimits(query: import("@firebase/firestore-types").CollectionReference<Home> | import("@firebase/firestore-types").Query<Home>, filters: import("../../../../../domain").RepositoryFindFielters<Home>[], limits: import("../../../../../domain").RepositoryLimitOptions<Home>): Promise<import("@firebase/firestore-types").Query<Home>>;
21
+ calculateCount(data: Home[], limits: import("../../../../../domain").RepositoryLimitOptions<Home>): number;
22
+ delete(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): Promise<void>;
23
+ buildCollectionPathForRemove(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): string;
24
+ create(data: Partial<Home>): Promise<Home>;
25
+ save(data: Home): Promise<import("@firebase/firestore-types").DocumentReference<Home>>;
26
+ buildCollectionPathForAdd(identifiers: Partial<Home>): string;
27
+ };
28
+ } & {
29
+ new (...args: any[]): {
30
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | QueryDocumentSnapshot<T_2>[]): T_2[];
31
+ isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
32
+ };
33
+ } & {
34
+ new (...args: any[]): {
35
+ readonly firestore?: FirebaseFirestore;
36
+ collectionName: string;
37
+ model: import("../../../../../domain").BaseModelBuilder<Home>;
38
+ collection(path?: string): import("@firebase/firestore-types").CollectionReference<Home>;
39
+ buildModelInstance(): {
40
+ toFirestore: (data: Home) => DocumentData;
41
+ fromFirestore: (snap: QueryDocumentSnapshot<Home>) => Home;
42
+ };
43
+ };
44
+ };
4
45
  export declare class HomeFirestoreRepository extends HomeFirestoreRepository_base implements HomeRepository {
5
46
  readonly firestore: FirebaseFirestore;
6
47
  constructor(firestore: FirebaseFirestore);