@infrab4a/connect 1.0.0-beta.8 → 1.0.0

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