@infrab4a/connect 4.0.0-beta.2 → 4.0.0-beta.21

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 (184) hide show
  1. package/domain/catalog/models/category-filter.d.ts +11 -0
  2. package/domain/catalog/models/category.d.ts +7 -2
  3. package/domain/catalog/models/filter-option.d.ts +10 -0
  4. package/domain/catalog/models/filter.d.ts +13 -0
  5. package/domain/catalog/models/index.d.ts +3 -0
  6. package/domain/catalog/models/product.d.ts +7 -1
  7. package/domain/catalog/models/types/index.d.ts +1 -1
  8. package/domain/catalog/models/types/product-evaluation.type.d.ts +6 -0
  9. package/domain/catalog/repositories/category-filter.repository.d.ts +5 -0
  10. package/domain/catalog/repositories/category.repository.d.ts +3 -3
  11. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -0
  12. package/domain/catalog/repositories/filter.repository.d.ts +4 -0
  13. package/domain/catalog/repositories/index.d.ts +3 -0
  14. package/domain/catalog/repositories/product.repository.d.ts +1 -0
  15. package/domain/generic/repository/find.repository.d.ts +3 -0
  16. package/domain/shop-settings/models/index.d.ts +1 -0
  17. package/domain/shop-settings/models/shop-settings.d.ts +9 -0
  18. package/domain/shop-settings/models/types/index.d.ts +6 -1
  19. package/domain/shop-settings/models/types/shop-banner.type.d.ts +12 -0
  20. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -0
  21. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -0
  22. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -0
  23. package/domain/shop-settings/models/types/shop-section.type.d.ts +9 -0
  24. package/domain/shop-settings/repositories/index.d.ts +1 -0
  25. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -0
  26. package/domain/shopping/models/buy-2-win.d.ts +3 -1
  27. package/domain/shopping/models/campaign-dashboard.d.ts +15 -0
  28. package/domain/shopping/models/campaign-hashtag.d.ts +18 -0
  29. package/domain/shopping/models/index.d.ts +5 -4
  30. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -0
  31. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -0
  32. package/domain/shopping/repositories/index.d.ts +4 -2
  33. package/domain/users/models/lead.d.ts +1 -0
  34. package/esm2020/domain/catalog/models/category-filter.mjs +14 -0
  35. package/esm2020/domain/catalog/models/category.mjs +12 -1
  36. package/esm2020/domain/catalog/models/filter-option.mjs +10 -0
  37. package/esm2020/domain/catalog/models/filter.mjs +10 -0
  38. package/esm2020/domain/catalog/models/index.mjs +4 -1
  39. package/esm2020/domain/catalog/models/product.mjs +24 -1
  40. package/esm2020/domain/catalog/models/types/index.mjs +2 -2
  41. package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +2 -0
  42. package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +2 -0
  43. package/esm2020/domain/catalog/repositories/category.repository.mjs +1 -1
  44. package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +2 -0
  45. package/esm2020/domain/catalog/repositories/filter.repository.mjs +2 -0
  46. package/esm2020/domain/catalog/repositories/index.mjs +4 -1
  47. package/esm2020/domain/catalog/repositories/product.repository.mjs +1 -1
  48. package/esm2020/domain/generic/repository/find.repository.mjs +1 -1
  49. package/esm2020/domain/shop-settings/models/index.mjs +2 -1
  50. package/esm2020/domain/shop-settings/models/shop-settings.mjs +7 -0
  51. package/esm2020/domain/shop-settings/models/types/index.mjs +7 -2
  52. package/esm2020/domain/shop-settings/models/types/shop-banner.type.mjs +2 -0
  53. package/esm2020/domain/shop-settings/models/types/shop-brands.type.mjs +2 -0
  54. package/esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs +2 -0
  55. package/esm2020/domain/shop-settings/models/types/shop-collection.type.mjs +2 -0
  56. package/esm2020/domain/shop-settings/models/types/shop-section.type.mjs +2 -0
  57. package/esm2020/domain/shop-settings/repositories/index.mjs +2 -1
  58. package/esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs +2 -0
  59. package/esm2020/domain/shopping/models/buy-2-win.mjs +2 -2
  60. package/esm2020/domain/shopping/models/campaign-dashboard.mjs +7 -0
  61. package/esm2020/domain/shopping/models/campaign-hashtag.mjs +7 -0
  62. package/esm2020/domain/shopping/models/index.mjs +6 -5
  63. package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +2 -0
  64. package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +2 -0
  65. package/esm2020/domain/shopping/repositories/index.mjs +5 -3
  66. package/esm2020/domain/users/models/lead.mjs +1 -1
  67. package/esm2020/domain/users/models/subscription/edition.mjs +1 -1
  68. package/esm2020/domain/users/models/subscription/payment.mjs +1 -1
  69. package/esm2020/domain/users/models/user-payment-method.mjs +1 -1
  70. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +28 -11
  71. package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +1 -1
  72. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +58 -51
  73. package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +1 -1
  74. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +7 -3
  75. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +1 -1
  76. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +6 -2
  77. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +9 -6
  78. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +11 -3
  79. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +6 -3
  80. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +5 -3
  81. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +7 -4
  82. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +12 -8
  83. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +11 -6
  84. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +10 -8
  85. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +8 -6
  86. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +28 -26
  87. package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +2 -1
  88. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +8 -6
  89. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +14 -0
  90. package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +8 -6
  91. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +14 -0
  92. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +14 -0
  93. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +8 -6
  94. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +8 -6
  95. package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +8 -6
  96. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +6 -4
  97. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +6 -4
  98. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +11 -9
  99. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +8 -6
  100. package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +8 -6
  101. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +8 -6
  102. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +10 -8
  103. package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +8 -6
  104. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +10 -8
  105. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +10 -8
  106. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +10 -8
  107. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +8 -6
  108. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +10 -8
  109. package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +2 -0
  110. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +1 -1
  111. package/esm2020/infra/firebase/firestore/types/index.mjs +4 -3
  112. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +2 -2
  113. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +12 -6
  114. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +2 -2
  115. package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +1 -1
  116. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +16 -12
  117. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +30 -21
  118. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +1 -1
  119. package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +56 -0
  120. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +106 -12
  121. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +105 -0
  122. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +22 -0
  123. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +4 -1
  124. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +41 -15
  125. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +8 -7
  126. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +1 -1
  127. package/esm2020/utils/index.mjs +2 -3
  128. package/fesm2015/infrab4a-connect.mjs +868 -320
  129. package/fesm2015/infrab4a-connect.mjs.map +1 -1
  130. package/fesm2020/infrab4a-connect.mjs +843 -323
  131. package/fesm2020/infrab4a-connect.mjs.map +1 -1
  132. package/infra/elasticsearch/adapters/axios.adapter.d.ts +6 -4
  133. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -2
  134. package/infra/elasticsearch/indexes/products-index.d.ts +8 -10
  135. package/infra/elasticsearch/types/elastic-search-result.d.ts +2 -0
  136. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +2 -1
  137. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +13 -4
  138. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +6 -2
  139. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +5 -5
  140. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +4 -4
  141. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +3 -4
  142. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +3 -4
  143. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +4 -4
  144. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +1 -0
  145. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +3 -4
  146. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +7 -0
  147. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +3 -4
  148. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +8 -0
  149. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +8 -0
  150. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +3 -4
  151. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +3 -4
  152. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +4 -4
  153. package/infra/firebase/firestore/repositories/shopping/index.d.ts +5 -3
  154. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +3 -4
  155. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +4 -4
  156. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +3 -4
  157. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +3 -4
  158. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +3 -4
  159. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +3 -4
  160. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +3 -4
  161. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +3 -4
  162. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +3 -4
  163. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +3 -4
  164. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +4 -4
  165. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +3 -4
  166. package/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +14 -0
  167. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +2 -0
  168. package/infra/firebase/firestore/types/index.d.ts +3 -2
  169. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +2 -2
  170. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +4 -9
  171. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +14 -3
  172. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +1 -0
  173. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -0
  174. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +9 -5
  175. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -0
  176. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -0
  177. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
  178. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +4 -3
  179. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +4 -4
  180. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
  181. package/package.json +1 -2
  182. package/utils/index.d.ts +1 -21
  183. package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
  184. package/esm2020/domain/catalog/models/types/category-filter.type.mjs +0 -2
@@ -4,8 +4,8 @@ import { GraphQLRepository } from '../types';
4
4
  import { CreateConstructorParams } from './with-create-hasura-graphql.mixin';
5
5
  import { DeleteConstructorParams } from './with-delete-hasura-graphql.mixin';
6
6
  import { GetConstructorParams } from './with-get-hasura-graphql.mixin';
7
- import { ConstructorParams } from './with-hasura-graphql.mixin';
7
+ import { HasuraConstructorParams } from './with-hasura-graphql.mixin';
8
8
  import { UpdateConstructorParams, UpdateHasuraGraphQLRepositoryType } from './with-update-hasura-graphql.mixin';
9
9
  export declare const withCrudHasuraGraphQL: <TBase extends ModelBaseStructure<any, any>, Repository = CrudRepository<TBase, import("../../../domain").CrudParams<TBase>>, TMixinBase extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: MixinCtor<GraphQLRepository<TBase>, any[]> & TMixinBase) => MixinCtor<GraphQLRepository<TBase> & Repository & import("../../../domain").UpdateRepository<TBase, import("../../../domain").RepositoryUpdateParams<TBase>> & {
10
10
  paramsToPlain(params: import("../../../domain").RepositoryUpdateParams<TBase>): Partial<TBase>;
11
- }, MergeConstructorParams<[ConstructorParams<TBase> & CreateConstructorParams & DeleteConstructorParams & GetConstructorParams & UpdateConstructorParams, ...any[]], ConstructorParameters<TMixinBase>>>;
11
+ }, MergeConstructorParams<[HasuraConstructorParams<TBase> & CreateConstructorParams & DeleteConstructorParams & GetConstructorParams & UpdateConstructorParams, ...any[]], ConstructorParameters<TMixinBase>>>;
@@ -1,14 +1,9 @@
1
- import { ModelBaseStructure, NonFunctionPropertyNames, RepositoryFindFielters, RepositoryFindResult, RepositoryLimitOptions, RepositoryOrderBy } from '../../../domain';
1
+ import { FindRepositoryParams, ModelBaseStructure, RepositoryFindResult } from '../../../domain';
2
2
  import { MixinCtor } from '../../../utils';
3
- import { GraphQLRepository } from '../types';
3
+ import { GraphQLParams, GraphQLRepository } from '../types';
4
4
  export declare const withFindHasuraGraphQL: <MBase extends ModelBaseStructure<any, any>, TMixinBase extends MixinCtor<GraphQLRepository<MBase>, any[]>>(MixinBase: MixinCtor<GraphQLRepository<MBase>, any[]> & TMixinBase) => {
5
5
  new (...args: any[]): {
6
- find(options?: {
7
- filters?: RepositoryFindFielters<MBase>;
8
- fields?: NonFunctionPropertyNames<MBase, keyof MBase>[];
9
- limits?: RepositoryLimitOptions<MBase>;
10
- orderBy?: RepositoryOrderBy<MBase>;
11
- }): Promise<RepositoryFindResult<MBase>>;
6
+ find(params?: FindRepositoryParams<MBase>): Promise<RepositoryFindResult<MBase>>;
12
7
  tableName: string;
13
8
  model: import("../../../domain").BaseModelBuilder<MBase, import("../../../domain").NonFunctionAndIdentifierPropertyNames<MBase>, MBase & {
14
9
  prototype: unknown;
@@ -17,7 +12,7 @@ export declare const withFindHasuraGraphQL: <MBase extends ModelBaseStructure<an
17
12
  endpoint: string;
18
13
  authOptions: import("../types").HasuraGraphQLAuthOptions;
19
14
  mutation: <ReturnFields = any>(operation: string, fields?: import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields>;
20
- query: <ReturnFields_1 = any>(operation: string | import("../types").GraphQLParams<MBase>[], fields?: import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
15
+ query: <ReturnFields_1 = any>(operation: string | GraphQLParams<MBase>[], fields?: import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
21
16
  getAttributeGraphQLTypeOf: <FieldValue>(value: FieldValue) => string;
22
17
  convertDataFromHasura: (data: Record<string, string | number>) => MBase;
23
18
  convertDataToHasura(instance: MBase, update?: boolean): Record<string, string | number>;
@@ -1,11 +1,22 @@
1
1
  import { BaseModelBuilder, ModelBaseStructure } from '../../../domain';
2
2
  import { MergeConstructorParams, MixinCtor } from '../../../utils';
3
- import { GraphQLRepository, HasuraGraphQLAuthOptions, HasuraGraphQLFields } from '../types';
4
- export declare type ConstructorParams<Model extends ModelBaseStructure> = {
3
+ import { Fields, GraphQLRepository, HasuraGraphQLAuthOptions, HasuraGraphQLFields, VariableOptions } from '../types';
4
+ declare type QueryBuilderOptions = {
5
+ operation: string;
6
+ fields: Fields;
7
+ variables?: VariableOptions;
8
+ };
9
+ declare type HasuraGraphQLInterceptors<P = QueryBuilderOptions | QueryBuilderOptions[]> = {
10
+ request?: <R>(request: P) => Promise<P & R>;
11
+ response?: <R>(response: R, request: P) => Promise<R>;
12
+ };
13
+ export declare type HasuraConstructorParams<Model extends ModelBaseStructure> = {
5
14
  tableName: string;
6
15
  model: BaseModelBuilder<Model>;
7
16
  fields: HasuraGraphQLFields<Model>;
8
17
  endpoint: string;
18
+ interceptors?: HasuraGraphQLInterceptors;
9
19
  authOptions: HasuraGraphQLAuthOptions;
10
20
  };
11
- export declare const withHasuraGraphQL: <MBase extends ModelBaseStructure<any, any>, T extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: T) => MixinCtor<GraphQLRepository<MBase>, MergeConstructorParams<any[], ConstructorParameters<T>>>;
21
+ export declare const withHasuraGraphQL: <MBase extends ModelBaseStructure<any, any>, T extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: T) => MixinCtor<GraphQLRepository<MBase>, any[]>;
22
+ export {};
@@ -10,5 +10,6 @@ export declare class ProductHasuraGraphQL extends Product {
10
10
  whoMustUse?: string;
11
11
  howToUse?: string;
12
12
  brandDescription?: string;
13
+ categoryId?: number;
13
14
  kitProducts?: KitProductHasuraGraphQL[];
14
15
  }
@@ -0,0 +1,11 @@
1
+ import { CategoryFilter } from '../../../../domain';
2
+ import { CategoryFilterRepository } from '../../../../domain/catalog/repositories';
3
+ import { HasuraConstructorParams } from '../../mixins';
4
+ declare const CategoryFilterHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("@infrab4a/connect").GraphQLRepository<CategoryFilter> & import("../../../../domain").CrudRepository<CategoryFilter, import("../../../../domain").CrudParams<CategoryFilter>> & import("../../../../domain").UpdateRepository<CategoryFilter, import("../../../../domain").RepositoryUpdateParams<CategoryFilter>> & {
5
+ paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<CategoryFilter>): Partial<CategoryFilter>;
6
+ }, [HasuraConstructorParams<CategoryFilter> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
+ export declare class CategoryFilterHasuraGraphQLRepository extends CategoryFilterHasuraGraphQLRepository_base implements CategoryFilterRepository {
8
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<CategoryFilter>, 'endpoint' | 'authOptions' | 'interceptors'>);
9
+ deleteByCategoryAndFilter(categoryId: number, filterId: number): Promise<any>;
10
+ }
11
+ export {};
@@ -1,27 +1,31 @@
1
1
  import { Category, CategoryRepository, CreateRepositoryParams, GetRepositoryParams, Product, Shops, UpdateRepositoryParams } from '../../../../domain';
2
+ import { HasuraConstructorParams } from '../../mixins';
2
3
  import { CategoryHasuraGraphQL } from '../../models';
3
- import { HasuraGraphQLAuthOptions } from '../../types';
4
+ import { CategoryFilterHasuraGraphQLRepository } from './category-filter-hasura-graphql.repository';
4
5
  import { ProductHasuraGraphQLRepository } from './product-hasura-graphql.repository';
5
- declare const CategoryHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<CategoryHasuraGraphQL> & import("../../../../domain").CrudRepository<CategoryHasuraGraphQL, import("../../../../domain").CrudParams<CategoryHasuraGraphQL>> & import("../../../../domain").UpdateRepository<CategoryHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<CategoryHasuraGraphQL>> & {
6
+ declare const CategoryHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("@infrab4a/connect").GraphQLRepository<CategoryHasuraGraphQL> & import("../../../../domain").CrudRepository<CategoryHasuraGraphQL, import("../../../../domain").CrudParams<CategoryHasuraGraphQL>> & import("../../../../domain").UpdateRepository<CategoryHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<CategoryHasuraGraphQL>> & {
6
7
  paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<CategoryHasuraGraphQL>): Partial<CategoryHasuraGraphQL>;
7
- }, [import("../../mixins").ConstructorParams<CategoryHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
8
+ }, [HasuraConstructorParams<CategoryHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
8
9
  export declare class CategoryHasuraGraphQLRepository extends CategoryHasuraGraphQLRepository_base implements CategoryRepository {
9
10
  private readonly productRepository;
10
- constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions, productRepository: ProductHasuraGraphQLRepository);
11
+ private readonly categoryFilterRepository;
12
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<CategoryHasuraGraphQL>, 'endpoint' | 'authOptions' | 'interceptors'>, productRepository: ProductHasuraGraphQLRepository, categoryFilterRepository: CategoryFilterHasuraGraphQLRepository);
11
13
  create(params: CreateRepositoryParams<CategoryHasuraGraphQL>): Promise<CategoryHasuraGraphQL>;
12
14
  get(identifiers: GetRepositoryParams<CategoryHasuraGraphQL>): Promise<CategoryHasuraGraphQL>;
13
15
  update(params: UpdateRepositoryParams<CategoryHasuraGraphQL>): Promise<CategoryHasuraGraphQL>;
14
16
  getCategoryBySlug(slug: string, shop: Shops): Promise<Category>;
15
- getCategoriesForHome(categoryIds: string[], limit?: number): Promise<{
17
+ getCategoriesForHome(categoryIds: string[], limit?: number, gender?: string): Promise<{
16
18
  category: Category;
17
19
  products: Product[];
18
20
  }[]>;
19
21
  mountCategory(category: Category, options?: {
20
22
  limit?: number;
21
23
  hasStock?: boolean;
24
+ gender?: string;
22
25
  }): Promise<Product[]>;
23
26
  private getId;
24
27
  private updateProducts;
25
28
  private updateMetadata;
29
+ private updateFilters;
26
30
  }
27
31
  export {};
@@ -0,0 +1,18 @@
1
+ import { DeleteRepositoryParams, Filter, UpdateRepositoryParams } from '../../../../domain';
2
+ import { FilterRepository } from '../../../../domain/catalog/repositories';
3
+ import { HasuraConstructorParams } from '../../mixins';
4
+ import { CategoryFilterHasuraGraphQLRepository } from './category-filter-hasura-graphql.repository';
5
+ import { FilterOptionHasuraGraphQLRepository } from './filter-option-hasura-graphql.repository';
6
+ declare const FilterHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("@infrab4a/connect").GraphQLRepository<Filter> & import("../../../../domain").CrudRepository<Filter, import("../../../../domain").CrudParams<Filter>> & import("../../../../domain").UpdateRepository<Filter, import("../../../../domain").RepositoryUpdateParams<Filter>> & {
7
+ paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<Filter>): Partial<Filter>;
8
+ }, [HasuraConstructorParams<Filter> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
9
+ export declare class FilterHasuraGraphQLRepository extends FilterHasuraGraphQLRepository_base implements FilterRepository {
10
+ private readonly filterOptionRepository;
11
+ private readonly categoryFilterRepository;
12
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<Filter>, 'endpoint' | 'authOptions' | 'interceptors'>, filterOptionRepository: FilterOptionHasuraGraphQLRepository, categoryFilterRepository: CategoryFilterHasuraGraphQLRepository);
13
+ update(params: UpdateRepositoryParams<Filter>): Promise<Filter>;
14
+ updateOptions(filterId: number, { options }: Pick<UpdateRepositoryParams<Filter>, 'options'>): Promise<import("../../../../domain").FilterOption[]>;
15
+ delete(params: DeleteRepositoryParams<Filter>): Promise<void>;
16
+ deleteOptions(filterId: number): Promise<void>;
17
+ }
18
+ export {};
@@ -0,0 +1,10 @@
1
+ import { FilterOption } from '../../../../domain';
2
+ import { FilterOptionRepository } from '../../../../domain/catalog/repositories';
3
+ import { HasuraConstructorParams } from '../../mixins';
4
+ declare const FilterOptionHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("@infrab4a/connect").GraphQLRepository<FilterOption> & import("../../../../domain").CrudRepository<FilterOption, import("../../../../domain").CrudParams<FilterOption>> & import("../../../../domain").UpdateRepository<FilterOption, import("../../../../domain").RepositoryUpdateParams<FilterOption>> & {
5
+ paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<FilterOption>): Partial<FilterOption>;
6
+ }, [HasuraConstructorParams<FilterOption> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
+ export declare class FilterOptionHasuraGraphQLRepository extends FilterOptionHasuraGraphQLRepository_base implements FilterOptionRepository {
8
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<FilterOption>, 'endpoint' | 'authOptions' | 'interceptors'>);
9
+ }
10
+ export {};
@@ -1,3 +1,6 @@
1
+ export * from './category-filter-hasura-graphql.repository';
1
2
  export * from './category-hasura-graphql.repository';
3
+ export * from './filter-hasura-graphql.repository';
4
+ export * from './filter-option-hasura-graphql.repository';
2
5
  export * from './product-hasura-graphql.repository';
3
6
  export * from './variant-hasura-graphql.repository';
@@ -1,12 +1,12 @@
1
1
  import { CreateRepositoryParams, FindRepositoryParams, GetRepositoryParams, ProductRepository, RepositoryFindResult, ReviewStatusParams, ReviewWithProductData, UpdateRepositoryParams } from '../../../../domain';
2
+ import { HasuraConstructorParams } from '../../mixins';
2
3
  import { ProductHasuraGraphQL } from '../../models';
3
- import { HasuraGraphQLAuthOptions } from '../../types';
4
4
  declare const ProductHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<ProductHasuraGraphQL> & import("../../../../domain").CrudRepository<ProductHasuraGraphQL, import("../../../../domain").CrudParams<ProductHasuraGraphQL>> & import("../../../../domain").UpdateRepository<ProductHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<ProductHasuraGraphQL>> & {
5
5
  paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<ProductHasuraGraphQL>): Partial<ProductHasuraGraphQL>;
6
- }, [import("../../mixins").ConstructorParams<ProductHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
6
+ }, [HasuraConstructorParams<ProductHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
7
  export declare class ProductHasuraGraphQLRepository extends ProductHasuraGraphQLRepository_base implements ProductRepository {
8
8
  private get reviewsFields();
9
- constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions);
9
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<ProductHasuraGraphQL>, 'endpoint' | 'authOptions' | 'interceptors'>);
10
10
  create(params: CreateRepositoryParams<ProductHasuraGraphQL>): Promise<ProductHasuraGraphQL>;
11
11
  get(identifiers: GetRepositoryParams<ProductHasuraGraphQL>): Promise<ProductHasuraGraphQL>;
12
12
  find(params?: FindRepositoryParams<ProductHasuraGraphQL>): Promise<RepositoryFindResult<ProductHasuraGraphQL>>;
@@ -24,5 +24,6 @@ export declare class ProductHasuraGraphQLRepository extends ProductHasuraGraphQL
24
24
  private getReviewByAuthorAndEmail;
25
25
  private bindReviewToModel;
26
26
  private bindReviewToHasura;
27
+ cleanShoppingCountFromIds(ids: string[]): Promise<void>;
27
28
  }
28
29
  export {};
@@ -1,11 +1,11 @@
1
1
  import { FindRepositoryParams, GetRepositoryParams, RepositoryFindResult, UpdateRepositoryParams, VariantRepository } from '../../../../domain';
2
+ import { HasuraConstructorParams } from '../../mixins';
2
3
  import { VariantHasuraGraphQL } from '../../models';
3
- import { HasuraGraphQLAuthOptions } from '../../types';
4
- declare const VariantHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<VariantHasuraGraphQL> & import("../../../../domain").CrudRepository<VariantHasuraGraphQL, import("../../../../domain").CrudParams<VariantHasuraGraphQL>> & import("../../../../domain").UpdateRepository<VariantHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<VariantHasuraGraphQL>> & {
4
+ declare const VariantHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("@infrab4a/connect").GraphQLRepository<VariantHasuraGraphQL> & import("../../../../domain").CrudRepository<VariantHasuraGraphQL, import("../../../../domain").CrudParams<VariantHasuraGraphQL>> & import("../../../../domain").UpdateRepository<VariantHasuraGraphQL, import("../../../../domain").RepositoryUpdateParams<VariantHasuraGraphQL>> & {
5
5
  paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<VariantHasuraGraphQL>): Partial<VariantHasuraGraphQL>;
6
- }, [import("../../mixins").ConstructorParams<VariantHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
6
+ }, [HasuraConstructorParams<VariantHasuraGraphQL> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
7
  export declare class VariantHasuraGraphQLRepository extends VariantHasuraGraphQLRepository_base implements VariantRepository {
8
- constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions);
8
+ constructor({ endpoint, authOptions, interceptors, }: Pick<HasuraConstructorParams<VariantHasuraGraphQL>, 'endpoint' | 'authOptions' | 'interceptors'>);
9
9
  get(identifiers: GetRepositoryParams<VariantHasuraGraphQL>): Promise<VariantHasuraGraphQL>;
10
10
  find(params?: FindRepositoryParams<VariantHasuraGraphQL>): Promise<RepositoryFindResult<VariantHasuraGraphQL>>;
11
11
  update(params: UpdateRepositoryParams<VariantHasuraGraphQL>): Promise<VariantHasuraGraphQL>;
@@ -35,6 +35,6 @@ export declare type HasuraGraphQLFields<Model> = ((Model extends ModelBaseStruct
35
35
  [key in NonFunctionAndIdentifierPropertyNames<Model>]?: PropType<Model, key> extends ModelBaseStructure ? HasuraGraphQLFields<PropType<Model, key>> : PropType<Model, key> extends any[] ? PropType<Model, key>[] extends ModelBaseStructure[] ? HasuraGraphQLFields<PropType<Model, key>[]> : never : never;
36
36
  } | {
37
37
  [key in NonFunctionAndIdentifierPropertyNames<Model>]?: key extends 'aggregate' ? never : PropType<Model, key> extends ModelBaseStructure ? ColumnOptions<PropType<Model, key>, Model> : ColumnOptions<PropType<Model, key>, Model>;
38
- } | (string & {}) : string) | {
38
+ } | Record<string, ColumnOptions<PropType<Model, any>, Model>> | (string & {}) : string) | {
39
39
  aggregate: Array<AggregateOptions<Model> | 'count'>;
40
40
  } | 'affected_rows')[];
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.21",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
7
- "type": "commonjs",
8
7
  "repository": {
9
8
  "type": "git",
10
9
  "url": "https://github.com/B4AGroup/b4a-firebase-libs"
package/utils/index.d.ts CHANGED
@@ -1,26 +1,6 @@
1
1
  import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub } from 'date-fns';
2
- import * as lodash from 'lodash';
2
+ import { chunk, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set } from 'lodash';
3
3
  export declare type DateDuration = Duration;
4
- declare const chunk: <T>(array: lodash.List<T>, size?: number) => T[][], isBoolean: (value?: any) => value is boolean, isDate: (value?: any) => value is Date, isEmpty: {
5
- <T extends {
6
- __trapAny: any;
7
- }>(value?: T): boolean;
8
- (value: string): value is "";
9
- (value: Map<any, any> | Set<any> | lodash.List<any>): boolean;
10
- (value: object): boolean;
11
- <T_1 extends object>(value: T_1): value is lodash.EmptyObjectOf<T_1>;
12
- (value?: any): boolean;
13
- }, isInteger: (value?: any) => boolean, isNaN: (value?: any) => boolean, isNil: (value: any) => value is null, isNumber: (value?: any) => value is number, isObject: (value?: any) => value is object, isString: (value?: any) => value is string, now: () => number, omit: {
14
- <T extends object, K extends lodash.PropertyName[]>(object: T, ...paths: K): Pick<T, Exclude<keyof T, K[number]>>;
15
- <T_1 extends object, K_1 extends keyof T_1>(object: T_1, ...paths: lodash.Many<K_1>[]): lodash.Omit<T_1, K_1>;
16
- <T_2 extends object>(object: T_2, ...paths: lodash.Many<lodash.PropertyName>[]): Partial<T_2>;
17
- }, pick: {
18
- <T extends object, U extends keyof T>(object: T, ...props: lodash.Many<U>[]): Pick<T, U>;
19
- <T_1>(object: T_1, ...props: lodash.Many<lodash.PropertyPath>[]): Partial<T_1>;
20
- }, set: {
21
- <T extends object>(object: T, path: lodash.PropertyPath, value: any): T;
22
- <TResult>(object: object, path: lodash.PropertyPath, value: any): TResult;
23
- };
24
4
  export * from './get';
25
5
  export * from './is';
26
6
  export * from './is-uuid';
@@ -1,4 +0,0 @@
1
- export declare type CategoryFilter = {
2
- name?: string;
3
- tags?: string[];
4
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvdHlwZXMvY2F0ZWdvcnktZmlsdGVyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENhdGVnb3J5RmlsdGVyID0ge1xuICBuYW1lPzogc3RyaW5nXG4gIHRhZ3M/OiBzdHJpbmdbXVxufVxuIl19