@infrab4a/connect 3.15.0-beta.1 → 3.16.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/infrab4a-connect.umd.js +706 -148
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category-base.d.ts +30 -0
  4. package/domain/catalog/models/category-filter.d.ts +2 -0
  5. package/domain/catalog/models/category-for-product.d.ts +5 -0
  6. package/domain/catalog/models/category.d.ts +5 -27
  7. package/domain/catalog/models/index.d.ts +1 -0
  8. package/domain/catalog/models/kit-product.d.ts +3 -3
  9. package/domain/catalog/models/product-base.d.ts +40 -0
  10. package/domain/catalog/models/product-for-category.d.ts +7 -0
  11. package/domain/catalog/models/product-for-kit.d.ts +7 -0
  12. package/domain/catalog/models/product.d.ts +5 -40
  13. package/domain/catalog/models/wishlist.d.ts +6 -0
  14. package/domain/catalog/repositories/category-filter.repository.d.ts +1 -0
  15. package/domain/catalog/repositories/index.d.ts +1 -0
  16. package/domain/catalog/repositories/product.repository.d.ts +1 -1
  17. package/domain/catalog/repositories/wishlist.repository.d.ts +6 -0
  18. package/domain/generic/repository/find.repository.d.ts +1 -0
  19. package/domain/generic/repository/types/repository-find-result.type.d.ts +3 -0
  20. package/esm2015/domain/catalog/models/category-base.js +18 -0
  21. package/esm2015/domain/catalog/models/category-filter.js +6 -1
  22. package/esm2015/domain/catalog/models/category-for-product.js +7 -0
  23. package/esm2015/domain/catalog/models/category.js +6 -10
  24. package/esm2015/domain/catalog/models/index.js +2 -1
  25. package/esm2015/domain/catalog/models/kit-product.js +6 -6
  26. package/esm2015/domain/catalog/models/product-base.js +25 -0
  27. package/esm2015/domain/catalog/models/product-for-category.js +14 -0
  28. package/esm2015/domain/catalog/models/product-for-kit.js +14 -0
  29. package/esm2015/domain/catalog/models/product.js +6 -24
  30. package/esm2015/domain/catalog/models/wishlist.js +7 -0
  31. package/esm2015/domain/catalog/repositories/category-filter.repository.js +1 -1
  32. package/esm2015/domain/catalog/repositories/index.js +2 -1
  33. package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
  34. package/esm2015/domain/catalog/repositories/wishlist.repository.js +2 -0
  35. package/esm2015/domain/generic/repository/find.repository.js +1 -1
  36. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +1 -1
  37. package/esm2015/infra/elasticsearch/indexes/products-index.js +2 -2
  38. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +2 -2
  39. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +44 -14
  40. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +52 -1
  41. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +36 -50
  42. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +2 -1
  43. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +2 -2
  44. package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +252 -0
  45. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +1 -1
  46. package/fesm2015/infrab4a-connect.js +469 -104
  47. package/fesm2015/infrab4a-connect.js.map +1 -1
  48. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +3 -2
  49. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +2 -2
  50. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +1 -0
  51. package/infra/hasura-graphql/repositories/catalog/index.d.ts +1 -0
  52. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +27 -0
  53. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +4 -3
  54. package/package.json +1 -1
@@ -15,6 +15,7 @@ export declare const withFindHasuraGraphQL: <MBase extends ModelBaseStructure<MB
15
15
  max: {}[];
16
16
  min?: undefined;
17
17
  })[];
18
+ bindDistinctAttributes: (distinct: ({} | NonFunctionAndIdentifierPropertyNames<MBase>)[], fields: HasuraGraphQLFields<MBase>) => {}[];
18
19
  bindAttributesToColumns: (attributes: ({} | NonFunctionAndIdentifierPropertyNames<MBase>)[], fields: HasuraGraphQLFields<MBase>) => {}[];
19
20
  tableName: string;
20
21
  model: import("../../../domain").BaseModelBuilder<MBase, any, MBase & {
@@ -24,8 +25,8 @@ export declare const withFindHasuraGraphQL: <MBase extends ModelBaseStructure<MB
24
25
  endpoint: string;
25
26
  authOptions: import("../types").HasuraGraphQLAuthOptions;
26
27
  logger: DebugHelper;
27
- mutation: <ReturnFields = any>(operation: string, fields?: string[] | HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields>;
28
- query: <ReturnFields_1 = any>(operation: string | GraphQLParams<MBase>[], fields?: string[] | HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
28
+ mutation: <ReturnFields = any>(operation: string | import("gql-query-builder/build/IQueryBuilderOptions").IOperation, fields?: string[] | HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields>;
29
+ query: <ReturnFields_1 = any>(operation: string | import("gql-query-builder/build/IQueryBuilderOptions").IOperation | GraphQLParams<MBase>[], fields?: string[] | HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
29
30
  getAttributeGraphQLTypeOf: <FieldValue>(value: FieldValue) => string;
30
31
  convertDataFromHasura(data: Record<string, string | number>, fields?: string[] | HasuraGraphQLFields<MBase>): MBase;
31
32
  convertDataToHasura(instance: MBase, update?: boolean): Record<string, string | number>;
@@ -16,8 +16,8 @@ export declare const withGetHasuraGraphQL: <MBase extends ModelBaseStructure<MBa
16
16
  endpoint: string;
17
17
  authOptions: import("../types").HasuraGraphQLAuthOptions;
18
18
  logger: DebugHelper;
19
- mutation: <ReturnFields = any>(operation: string, fields?: string[] | import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields>;
20
- query: <ReturnFields_1 = any>(operation: string | import("../types").GraphQLParams<MBase>[], fields?: string[] | import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
19
+ mutation: <ReturnFields = any>(operation: string | import("gql-query-builder/build/IQueryBuilderOptions").IOperation, fields?: string[] | import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields>;
20
+ query: <ReturnFields_1 = any>(operation: string | import("gql-query-builder/build/IQueryBuilderOptions").IOperation | import("../types").GraphQLParams<MBase>[], fields?: string[] | import("../types").HasuraGraphQLFields<MBase>, variables?: import("../types").VariableOptions) => Promise<ReturnFields_1>;
21
21
  getAttributeGraphQLTypeOf: <FieldValue>(value: FieldValue) => string;
22
22
  convertDataFromHasura(data: Record<string, string | number>, fields?: string[] | import("../types").HasuraGraphQLFields<MBase>): MBase;
23
23
  convertDataToHasura(instance: MBase, update?: boolean): Record<string, string | number>;
@@ -6,6 +6,7 @@ declare const CategoryFilterHasuraGraphQLRepository_base: import("../../../../ut
6
6
  }, [import("../../mixins").ConstructorParams<CategoryFilter> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
7
  export declare class CategoryFilterHasuraGraphQLRepository extends CategoryFilterHasuraGraphQLRepository_base implements CategoryFilterRepository {
8
8
  constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions);
9
+ deleteByCategory(categoryId: number): Promise<any>;
9
10
  deleteByCategoryAndFilter(categoryId: number, filterId: number): Promise<any>;
10
11
  }
11
12
  export {};
@@ -5,3 +5,4 @@ export * from './filter-hasura-graphql.repository';
5
5
  export * from './filter-option-hasura-graphql.repository';
6
6
  export * from './product-hasura-graphql.repository';
7
7
  export * from './variant-hasura-graphql.repository';
8
+ export * from './wishlist-hasura-graphql.repository';
@@ -0,0 +1,27 @@
1
+ import { Category, CreateRepositoryParams, GetRepositoryParams, Product, Shops, UpdateRepositoryParams, Wishlist, WishlistRepository } from '../../../../domain';
2
+ import { HasuraGraphQLAuthOptions } from '../../types';
3
+ import { CategoryFilterHasuraGraphQLRepository } from './category-filter-hasura-graphql.repository';
4
+ declare const WishlistHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<Wishlist> & import("../../../../domain").CrudRepository<Wishlist, import("../../../../domain").CrudParams<Wishlist>> & import("../../../../domain").UpdateRepository<Wishlist, import("../../../../domain").RepositoryUpdateParams<Wishlist>> & {
5
+ paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<Wishlist>): Partial<Wishlist>;
6
+ }, [import("../../mixins").ConstructorParams<Wishlist> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
+ export declare class WishlistHasuraGraphQLRepository extends WishlistHasuraGraphQLRepository_base implements WishlistRepository {
8
+ private readonly categoryFilterRepository;
9
+ constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions, categoryFilterRepository: CategoryFilterHasuraGraphQLRepository);
10
+ create(params: CreateRepositoryParams<Wishlist>): Promise<Wishlist>;
11
+ get(identifiers: GetRepositoryParams<Wishlist>): Promise<Wishlist>;
12
+ update(params: UpdateRepositoryParams<Wishlist>): Promise<Wishlist>;
13
+ getWishlistBySlug(slug: string): Promise<Wishlist>;
14
+ getWishlistByPerson(personId: string): Promise<Wishlist[]>;
15
+ private updateProducts;
16
+ private updateMetadata;
17
+ getCategoryBySlug(slug: string, _shop: Shops): Promise<Wishlist>;
18
+ getCategoryByShop(shop: string): Promise<any>;
19
+ getCategoriesForHome(categoryIds: string[], limit?: number, gender?: string): any;
20
+ mountCategory(category: Category, options?: {
21
+ limit?: number;
22
+ hasStock?: boolean;
23
+ }): Promise<Product[]>;
24
+ getChildren(parentId: number): Promise<Category[]>;
25
+ isChild(id: number, parentId: number): Promise<boolean>;
26
+ }
27
+ export {};
@@ -1,10 +1,11 @@
1
+ import { IOperation } from 'gql-query-builder/build/IQueryBuilderOptions';
1
2
  import { BaseModelBuilder, ModelBaseStructure } from '../../../domain';
2
3
  import { DebugHelper } from '../../../utils';
3
4
  import { HasuraGraphQLAuthOptions } from './hasura-graphql-auth-options.type';
4
5
  import { HasuraGraphQLFields } from './hasura-graphql-fields.type';
5
6
  import { VariableOptions } from './variable-options.type';
6
7
  export declare type GraphQLParams<Model extends ModelBaseStructure<Model>> = {
7
- operation: string;
8
+ operation: string | IOperation;
8
9
  fields?: HasuraGraphQLFields<Model>;
9
10
  variables?: VariableOptions;
10
11
  };
@@ -15,8 +16,8 @@ export declare type GraphQLRepository<Model extends ModelBaseStructure<Model>> =
15
16
  endpoint: string;
16
17
  authOptions: HasuraGraphQLAuthOptions;
17
18
  logger: DebugHelper;
18
- mutation: <ReturnFields = any>(operation: string, fields?: string[] | HasuraGraphQLFields<Model>, variables?: VariableOptions) => Promise<ReturnFields>;
19
- query: <ReturnFields = any>(operation: string | GraphQLParams<Model>[], fields?: string[] | HasuraGraphQLFields<Model>, variables?: VariableOptions) => Promise<ReturnFields>;
19
+ mutation: <ReturnFields = any>(operation: string | IOperation, fields?: string[] | HasuraGraphQLFields<Model>, variables?: VariableOptions) => Promise<ReturnFields>;
20
+ query: <ReturnFields = any>(operation: string | IOperation | GraphQLParams<Model>[], fields?: string[] | HasuraGraphQLFields<Model>, variables?: VariableOptions) => Promise<ReturnFields>;
20
21
  getAttributeGraphQLTypeOf: <FieldValue>(value: FieldValue) => string;
21
22
  convertDataFromHasura(data: Record<string, string | number>, fields?: string[] | HasuraGraphQLFields<Model>): Model;
22
23
  convertDataToHasura(instance: Model, update?: boolean): Record<string, string | number>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "3.15.0-beta.1",
3
+ "version": "3.16.0-beta.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },