@maioradv/cms-basic-lib 1.4.2 → 1.4.3

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.
@@ -1,4 +1,4 @@
1
1
  import { PaginatedGQLQueryDto } from "../core/dto/pagination";
2
2
  import { Resolvers } from "../core/types/resolver";
3
- export declare const ApiTokensResolvers: Resolvers<['apiTokens'], ['removeApiTokens']>;
3
+ export declare const ApiTokensResolvers: Resolvers<['apiTokens'], ['removeApiTokens', 'syncPermissionsApiTokens']>;
4
4
  export type QueryApiTokenGQLDto = PaginatedGQLQueryDto;
@@ -41,5 +41,19 @@ exports.ApiTokensResolvers = {
41
41
  }
42
42
  }`,
43
43
  },
44
+ syncPermissionsApiTokens: {
45
+ name: 'syncPermissionsApiTokens',
46
+ query: `mutation ApiTokenSyncPermissions {
47
+ syncPermissionsApiTokens {
48
+ id
49
+ name
50
+ uuid
51
+ permissions
52
+ readOnly
53
+ createdAt
54
+ updatedAt
55
+ }
56
+ }`,
57
+ },
44
58
  }
45
59
  };
@@ -11,4 +11,5 @@ export default class ApiTokens extends ApiModule implements RestApiModuleI, Grap
11
11
  remove(id: number): Promise<ApiToken>;
12
12
  list(args?: QueryApiTokenGQLDto): Promise<PaginatedGQL<ApiToken>>;
13
13
  removeMany(id: number | number[]): Promise<RemoveGQL>;
14
+ syncPermissions(): Promise<ApiToken[]>;
14
15
  }
@@ -27,5 +27,8 @@ class ApiTokens extends model_1.ApiModule {
27
27
  id
28
28
  });
29
29
  }
30
+ syncPermissions() {
31
+ return this._graphql(graphql_1.ApiTokensResolvers.mutation.syncPermissionsApiTokens);
32
+ }
30
33
  }
31
34
  exports.default = ApiTokens;
@@ -58,5 +58,7 @@ export declare enum Permission {
58
58
  write_io_operations = "write_io_operations",
59
59
  read_io_operations = "read_io_operations",
60
60
  read_settings = "read_settings",
61
- write_settings = "write_settings"
61
+ write_settings = "write_settings",
62
+ read_bundles = "read_bundles",
63
+ write_bundles = "write_bundles"
62
64
  }
@@ -37,4 +37,6 @@ var Permission;
37
37
  Permission["read_io_operations"] = "read_io_operations";
38
38
  Permission["read_settings"] = "read_settings";
39
39
  Permission["write_settings"] = "write_settings";
40
+ Permission["read_bundles"] = "read_bundles";
41
+ Permission["write_bundles"] = "write_bundles";
40
42
  })(Permission || (exports.Permission = Permission = {}));
@@ -0,0 +1,14 @@
1
+ import { PaginatedGQLQueryDto } from "../core/dto/pagination";
2
+ import { Resolvers } from "../core/types/resolver";
3
+ import { OmitRequire } from "../types";
4
+ import { Bundle, BundleProduct } from "./types";
5
+ export declare const BundlesResolvers: Resolvers<['bundles'], ['removeBundles', 'updateManyBundleProducts']>;
6
+ export type UpdateBundleProductsListDto = OmitRequire<BundleProduct, 'bundleId' | 'createdAt' | 'updatedAt', 'productId'>;
7
+ export type ArgsUpdateBundleProductsDto = {
8
+ bundleId: number;
9
+ updateList: UpdateBundleProductsListDto[];
10
+ };
11
+ export type QueryBundleGQLDto = PaginatedGQLQueryDto & {
12
+ collectionId?: number;
13
+ };
14
+ export type FindAllBundleGQLDto = Bundle;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BundlesResolvers = void 0;
4
+ exports.BundlesResolvers = {
5
+ query: {
6
+ bundles: {
7
+ name: 'bundles',
8
+ query: `query BundleList($limit: Int, $after: Int, $before: Int, $collectionId: Int, $sorting: String){
9
+ bundles(limit: $limit, after: $after, before: $before, collectionId: $collectionId, sorting: $sorting){
10
+ edges {
11
+ node {
12
+ id
13
+ }
14
+ cursor
15
+ }
16
+ nodes {
17
+ id
18
+ slug
19
+ title
20
+ subtitle
21
+ description
22
+ tags
23
+ translations {
24
+ key
25
+ locale
26
+ value
27
+ }
28
+ metafields {
29
+ key
30
+ value
31
+ }
32
+ published
33
+ createdAt
34
+ updatedAt
35
+ }
36
+ meta {
37
+ startCursor
38
+ endCursor
39
+ hasNextPage
40
+ hasPreviousPage
41
+ }
42
+ }
43
+ }`,
44
+ },
45
+ },
46
+ mutation: {
47
+ removeBundles: {
48
+ name: 'removeBundles',
49
+ query: `mutation BundleDelete($id: [Int!]!){
50
+ removeBundles(id: $id) {
51
+ count
52
+ }
53
+ }`,
54
+ },
55
+ updateManyBundleProducts: {
56
+ name: 'updateManyBundleProducts',
57
+ query: `mutation BundleProductsUpdate($bundleId: Int!, $updateList:[UpdateManyBundleProductsListDto!]!) {
58
+ updateManyBundleProducts(bundleId:$bundleId,updateList:$updateList){
59
+ bundleId
60
+ productId
61
+ position
62
+ createdAt
63
+ updatedAt
64
+ }
65
+ }`
66
+ }
67
+ }
68
+ };
@@ -0,0 +1,17 @@
1
+ import { PaginatedDto, PaginatedGQL } from "../core/dto/pagination";
2
+ import { RemoveGQL } from "../core/model/remove-gql.response";
3
+ import { RestApiModuleI, ApiModule, GraphApiModuleI } from "../model";
4
+ import { ArgsUpdateBundleProductsDto, FindAllBundleGQLDto, QueryBundleGQLDto } from "./graphql";
5
+ import { Bundle, BundleProduct, BundleVariant, CreateBundleDto, CreateBundleVariantDto, FindAllBundleDto, FindOneBundleDto, QueryBundleDto, UpdateBundleDto } from "./types";
6
+ export default class Bundles extends ApiModule implements RestApiModuleI, GraphApiModuleI {
7
+ create(args: CreateBundleDto): Promise<Bundle>;
8
+ findAll(args?: QueryBundleDto): Promise<PaginatedDto<FindAllBundleDto>>;
9
+ findOne(id: number): Promise<FindOneBundleDto>;
10
+ update(id: number, data: UpdateBundleDto): Promise<Bundle>;
11
+ remove(id: number): Promise<Bundle>;
12
+ list(args?: QueryBundleGQLDto): Promise<PaginatedGQL<FindAllBundleGQLDto>>;
13
+ removeMany(id: number | number[]): Promise<RemoveGQL>;
14
+ createVariant(bundleId: number, args: CreateBundleVariantDto): Promise<BundleVariant>;
15
+ findAllVariants(bundleId: number): Promise<BundleVariant[]>;
16
+ updateBundleProducts(args: ArgsUpdateBundleProductsDto): Promise<BundleProduct[]>;
17
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const queryParams_1 = require("../core/utils/queryParams");
4
+ const model_1 = require("../model");
5
+ const graphql_1 = require("./graphql");
6
+ class Bundles extends model_1.ApiModule {
7
+ create(args) {
8
+ return this._call('post', '/bundles', args);
9
+ }
10
+ findAll(args = {}) {
11
+ return this._call('get', '/bundles', (0, queryParams_1.queryParams)(args));
12
+ }
13
+ findOne(id) {
14
+ return this._call('get', `/bundles/${id}`);
15
+ }
16
+ update(id, data) {
17
+ return this._call('patch', `/bundles/${id}`, data);
18
+ }
19
+ remove(id) {
20
+ return this._call('delete', `/bundles/${id}`);
21
+ }
22
+ list(args = {}) {
23
+ return this._graphql(graphql_1.BundlesResolvers.query.bundles, args);
24
+ }
25
+ removeMany(id) {
26
+ return this._graphql(graphql_1.BundlesResolvers.mutation.removeBundles, {
27
+ id
28
+ });
29
+ }
30
+ createVariant(bundleId, args) {
31
+ return this._call('post', `/bundles/${bundleId}/variants`, args);
32
+ }
33
+ findAllVariants(bundleId) {
34
+ return this._call('get', `/bundles/${bundleId}/variants`);
35
+ }
36
+ updateBundleProducts(args) {
37
+ return this._graphql(graphql_1.BundlesResolvers.mutation.updateManyBundleProducts, args);
38
+ }
39
+ }
40
+ exports.default = Bundles;
@@ -0,0 +1,78 @@
1
+ import { Collection } from "../collections/types";
2
+ import { BooleanClause, NumberClause, StringClause, WhereClausesDto } from "../core/dto/clauses";
3
+ import { Sorting, SortingParamsDto } from "../core/dto/sorting";
4
+ import { QueryParamsDto } from "../core/utils/queryParams";
5
+ import { Product } from "../products/types";
6
+ import { Metafield, OmitRequire, Translation, WithRelation, WithRelations } from "../types";
7
+ export type Bundle = {
8
+ id: number;
9
+ slug: string;
10
+ title: string;
11
+ subtitle: string | null;
12
+ description: string | null;
13
+ tags: string[];
14
+ translations: Translation[];
15
+ metafields: Metafield[];
16
+ published: boolean;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ };
20
+ export type BundleVariant = {
21
+ id: number;
22
+ description: string | null;
23
+ translations: Translation[];
24
+ price: number | null;
25
+ fullPrice: number | null;
26
+ bundleId: number;
27
+ published: boolean;
28
+ position: number | null;
29
+ createdAt: Date;
30
+ updatedAt: Date;
31
+ };
32
+ export type BundleCollection = {
33
+ bundleId: number;
34
+ collectionId: number;
35
+ position: number | null;
36
+ createdAt: Date;
37
+ updatedAt: Date;
38
+ };
39
+ export type BundleProduct = {
40
+ productId: number;
41
+ bundleId: number;
42
+ position: number | null;
43
+ createdAt: Date;
44
+ updatedAt: Date;
45
+ };
46
+ export type CreateBundleCollectionDto = OmitRequire<BundleCollection, 'createdAt' | 'updatedAt', 'collectionId' | 'bundleId'>;
47
+ export type CreateBundleDto = OmitRequire<Bundle, 'id' | 'createdAt' | 'updatedAt' | 'slug', 'title'> & {
48
+ products?: number[];
49
+ collections?: number[];
50
+ variants?: CreateBundleVariantDto[];
51
+ };
52
+ export type UpdateBundleDto = Partial<CreateBundleDto> & {
53
+ removeProducts?: number[];
54
+ removeVariants?: number[];
55
+ removeCollections?: number[];
56
+ };
57
+ export type CreateBundleVariantDto = OmitRequire<BundleVariant, 'id' | 'createdAt' | 'updatedAt' | 'bundleId'>;
58
+ export type UpdateBundleVariantDto = Partial<CreateBundleVariantDto>;
59
+ export type FindAllBundleDto = Bundle;
60
+ export type FindOneBundleDto = WithRelations<Bundle, {
61
+ BundleProduct: WithRelation<BundleProduct, 'Product', Product>[];
62
+ BundleVariant: BundleVariant[];
63
+ BundleCollection: WithRelation<BundleCollection, 'Collection', Collection>[];
64
+ }>;
65
+ export type SortingBundleDto = SortingParamsDto<{
66
+ title?: Sorting;
67
+ published?: Sorting;
68
+ }>;
69
+ export type ClausesBundleDto = WhereClausesDto<{
70
+ search?: StringClause;
71
+ title?: StringClause;
72
+ subtitle?: StringClause;
73
+ description?: StringClause;
74
+ collectionId?: NumberClause;
75
+ published?: BooleanClause;
76
+ noCollections?: BooleanClause;
77
+ }>;
78
+ export type QueryBundleDto = QueryParamsDto<SortingBundleDto, ClausesBundleDto>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { ApiModule } from "../model";
2
+ import { BundleVariant, UpdateBundleVariantDto } from "./types";
3
+ export default class BundleVariants extends ApiModule {
4
+ findOne(id: number): Promise<BundleVariant>;
5
+ update(id: number, data: UpdateBundleVariantDto): Promise<BundleVariant>;
6
+ remove(id: number): Promise<BundleVariant>;
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const model_1 = require("../model");
4
+ class BundleVariants extends model_1.ApiModule {
5
+ findOne(id) {
6
+ return this._call('get', `/bundle-variants/${id}`);
7
+ }
8
+ update(id, data) {
9
+ return this._call('patch', `/bundle-variants/${id}`, data);
10
+ }
11
+ remove(id) {
12
+ return this._call('delete', `/bundle-variants/${id}`);
13
+ }
14
+ }
15
+ exports.default = BundleVariants;
package/dist/client.d.ts CHANGED
@@ -17,6 +17,8 @@ import ProductAttributeValues from "./productAttributes/values";
17
17
  import Products from "./products";
18
18
  import ProductVariants from "./products/variants";
19
19
  import Settings from "./settings";
20
+ import Bundles from "./bundles";
21
+ import BundleVariants from "./bundles/variants";
20
22
  export declare class MaiorCmsApiClient implements ClientApiI {
21
23
  protected config: ApiConfigs;
22
24
  protected client: Axios;
@@ -37,6 +39,8 @@ export declare class MaiorCmsApiClient implements ClientApiI {
37
39
  productVariants: ProductVariants;
38
40
  roles: Roles;
39
41
  settings: Settings;
42
+ bundles: Bundles;
43
+ bundleVariants: BundleVariants;
40
44
  constructor(config: ApiConfigs);
41
45
  protected _initClient(): Axios;
42
46
  protected _initModules(): void;
package/dist/client.js CHANGED
@@ -1,25 +1,30 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.MaiorCmsApiClient = void 0;
4
- const axios_1 = require("axios");
7
+ const axios_1 = __importDefault(require("axios"));
5
8
  const config_1 = require("./config");
6
9
  const types_1 = require("./types");
7
- const auth_1 = require("./auth");
10
+ const auth_1 = __importDefault(require("./auth"));
8
11
  const error_1 = require("./error");
9
- const apitokens_1 = require("./apitokens");
10
- const collections_1 = require("./collections");
11
- const images_1 = require("./images");
12
- const configs_1 = require("./configs");
13
- const io_1 = require("./io");
14
- const languages_1 = require("./languages");
15
- const roles_1 = require("./roles");
16
- const popups_1 = require("./popups");
17
- const triggers_1 = require("./popups/triggers");
18
- const productAttributes_1 = require("./productAttributes");
19
- const values_1 = require("./productAttributes/values");
20
- const products_1 = require("./products");
21
- const variants_1 = require("./products/variants");
22
- const settings_1 = require("./settings");
12
+ const apitokens_1 = __importDefault(require("./apitokens"));
13
+ const collections_1 = __importDefault(require("./collections"));
14
+ const images_1 = __importDefault(require("./images"));
15
+ const configs_1 = __importDefault(require("./configs"));
16
+ const io_1 = __importDefault(require("./io"));
17
+ const languages_1 = __importDefault(require("./languages"));
18
+ const roles_1 = __importDefault(require("./roles"));
19
+ const popups_1 = __importDefault(require("./popups"));
20
+ const triggers_1 = __importDefault(require("./popups/triggers"));
21
+ const productAttributes_1 = __importDefault(require("./productAttributes"));
22
+ const values_1 = __importDefault(require("./productAttributes/values"));
23
+ const products_1 = __importDefault(require("./products"));
24
+ const variants_1 = __importDefault(require("./products/variants"));
25
+ const settings_1 = __importDefault(require("./settings"));
26
+ const bundles_1 = __importDefault(require("./bundles"));
27
+ const variants_2 = __importDefault(require("./bundles/variants"));
23
28
  class MaiorCmsApiClient {
24
29
  constructor(config) {
25
30
  this.config = config;
@@ -51,6 +56,8 @@ class MaiorCmsApiClient {
51
56
  this.productVariants = new variants_1.default(this.client);
52
57
  this.roles = new roles_1.default(this.client);
53
58
  this.settings = new settings_1.default(this.client);
59
+ this.bundles = new bundles_1.default(this.client);
60
+ this.bundleVariants = new variants_2.default(this.client);
54
61
  }
55
62
  _setAccessToken(accessToken) {
56
63
  this.client.defaults.headers.common[types_1.ApiHeader.Authorization] = `Bearer ${accessToken}`;
@@ -1,9 +1,11 @@
1
+ import { BundleCollection } from "../bundles/types";
1
2
  import { PaginatedGQLQueryDto } from "../core/dto/pagination";
2
3
  import { Resolvers } from "../core/types/resolver";
3
4
  import { ProductCollection } from "../products/types";
4
5
  import { OmitRequire } from "../types";
5
6
  import { Collection } from "./types";
6
- export declare const CollectionsResolvers: Resolvers<['collections'], ['updateManyCollections', 'updateCollectionProducts', 'removeCollections']>;
7
+ export declare const CollectionsResolvers: Resolvers<['collections'], ['updateManyCollections', 'updateCollectionProducts', 'updateCollectionBundles', 'removeCollections']>;
8
+ export type UpdateCollectionBundlesListDto = OmitRequire<BundleCollection, 'collectionId' | 'createdAt' | 'updatedAt', 'bundleId'>;
7
9
  export type UpdateCollectionProductsListDto = OmitRequire<ProductCollection, 'collectionId' | 'createdAt' | 'updatedAt', 'productId'>;
8
10
  export type UpdateManyCollectionsListDto = OmitRequire<Collection, 'slug' | 'createdAt' | 'updatedAt' | 'metafields' | 'translations', 'id'>;
9
11
  export type ArgsUpdateProductsDto = {
@@ -14,4 +16,9 @@ export type ArgsUpdateProductsDto = {
14
16
  export type ArgsUpdateManyDto = {
15
17
  updateList: UpdateManyCollectionsListDto[];
16
18
  };
19
+ export type ArgsUpdateBundlesDto = {
20
+ collectionId: number;
21
+ /** List has a limit of 50 elements */
22
+ updateList: UpdateCollectionBundlesListDto[];
23
+ };
17
24
  export type QueryCollectionGQLDto = PaginatedGQLQueryDto;
@@ -46,6 +46,18 @@ exports.CollectionsResolvers = {
46
46
  },
47
47
  },
48
48
  mutation: {
49
+ updateCollectionBundles: {
50
+ name: 'updateCollectionBundles',
51
+ query: `mutation CollectionUpdateBundles($collectionId: Int!, $updateList:[UpdateCollectionBundlesListDto!]!){
52
+ updateCollectionBundles(collectionId:$collectionId,updateList:$updateList){
53
+ collectionId
54
+ bundleId
55
+ position
56
+ createdAt
57
+ updatedAt
58
+ }
59
+ }`,
60
+ },
49
61
  updateCollectionProducts: {
50
62
  name: 'updateCollectionProducts',
51
63
  query: `mutation CollectionUpdateProducts($collectionId: Int!, $updateList:[UpdateCollectionProductsListDto!]!){
@@ -1,11 +1,12 @@
1
+ import { BundleCollection } from "../bundles/types";
1
2
  import { PaginatedDto, PaginatedGQL } from "../core/dto/pagination";
2
3
  import { RemoveGQL } from "../core/model/remove-gql.response";
3
4
  import { Image } from "../images/types";
4
5
  import { RestApiModuleI, ApiModule, GraphApiModuleI } from "../model";
5
6
  import { ProductCollection } from "../products/types";
6
7
  import { WithRelation } from "../types";
7
- import { ArgsUpdateManyDto, ArgsUpdateProductsDto, QueryCollectionGQLDto } from "./graphql";
8
- import { Collection, CollectionImage, CreateCollectionDto, CreateCollectionImageDto, CreateProductOnCollectionDto, FindAllCollectionDto, FindAllCollectionProductsDto, FindOneCollectionDto, QueryCollectionDto, QueryCollectionProductsDto, UpdateCollectionDto, UpdateCollectionImageDto } from "./types";
8
+ import { ArgsUpdateBundlesDto, ArgsUpdateManyDto, ArgsUpdateProductsDto, QueryCollectionGQLDto } from "./graphql";
9
+ import { Collection, CollectionImage, CreateCollectionDto, CreateCollectionImageDto, CreateProductOnCollectionDto, FindAllCollectionBundlesDto, FindAllCollectionDto, FindAllCollectionProductsDto, FindOneCollectionDto, QueryCollectionBundlesDto, QueryCollectionDto, QueryCollectionProductsDto, UpdateCollectionDto, UpdateCollectionImageDto } from "./types";
9
10
  export default class Collections extends ApiModule implements RestApiModuleI, GraphApiModuleI {
10
11
  create(args: CreateCollectionDto): Promise<Collection>;
11
12
  findAll(args?: QueryCollectionDto): Promise<PaginatedDto<FindAllCollectionDto>>;
@@ -17,6 +18,7 @@ export default class Collections extends ApiModule implements RestApiModuleI, Gr
17
18
  list(args?: QueryCollectionGQLDto): Promise<PaginatedGQL<Collection>>;
18
19
  updateMany(args: ArgsUpdateManyDto): Promise<Collection[]>;
19
20
  updateProducts(args: ArgsUpdateProductsDto): Promise<ProductCollection[]>;
21
+ updateBundles(args: ArgsUpdateBundlesDto): Promise<BundleCollection[]>;
20
22
  removeMany(id: number | number[]): Promise<RemoveGQL>;
21
23
  createImage(collectionId: number, args: CreateCollectionImageDto): Promise<CollectionImage>;
22
24
  RNCreateImage(collectionId: number, formData: any): Promise<CollectionImage>;
@@ -25,5 +27,6 @@ export default class Collections extends ApiModule implements RestApiModuleI, Gr
25
27
  removeImage(collectionId: number, imageId: number): Promise<CollectionImage>;
26
28
  createProduct(collectionId: number, args: CreateProductOnCollectionDto): Promise<ProductCollection>;
27
29
  findAllProducts(collectionId: number, args?: QueryCollectionProductsDto): Promise<PaginatedDto<FindAllCollectionProductsDto>>;
30
+ findAllBundles(collectionId: number, args?: QueryCollectionBundlesDto): Promise<PaginatedDto<FindAllCollectionBundlesDto>>;
28
31
  removeProduct(collectionId: number, productId: number): Promise<ProductCollection>;
29
32
  }
@@ -34,6 +34,9 @@ class Collections extends model_1.ApiModule {
34
34
  updateProducts(args) {
35
35
  return this._graphql(graphql_1.CollectionsResolvers.mutation.updateCollectionProducts, args);
36
36
  }
37
+ updateBundles(args) {
38
+ return this._graphql(graphql_1.CollectionsResolvers.mutation.updateCollectionBundles, args);
39
+ }
37
40
  removeMany(id) {
38
41
  return this._graphql(graphql_1.CollectionsResolvers.mutation.removeCollections, {
39
42
  id
@@ -68,6 +71,9 @@ class Collections extends model_1.ApiModule {
68
71
  findAllProducts(collectionId, args = {}) {
69
72
  return this._call('get', `/collections/${collectionId}/products`, (0, queryParams_1.queryParams)(args));
70
73
  }
74
+ findAllBundles(collectionId, args = {}) {
75
+ return this._call('get', `/collections/${collectionId}/bundles`, (0, queryParams_1.queryParams)(args));
76
+ }
71
77
  removeProduct(collectionId, productId) {
72
78
  return this._call('delete', `/collections/${collectionId}/products/${productId}`);
73
79
  }
@@ -1,3 +1,4 @@
1
+ import { Bundle, BundleCollection } from "../bundles/types";
1
2
  import { BooleanClause, NumberClause, StringClause, WhereClausesDto } from "../core/dto/clauses";
2
3
  import { Sorting, SortingParamsDto } from "../core/dto/sorting";
3
4
  import { QueryParamsDto } from "../core/utils/queryParams";
@@ -70,3 +71,10 @@ export type QueryCollectionProductsDto = Omit<QueryParamsDto<SortingParamsDto<{}
70
71
  search?: StringClause;
71
72
  published?: BooleanClause;
72
73
  }>>, 'sorting'>;
74
+ export type FindAllCollectionBundlesDto = WithRelation<BundleCollection, 'Bundle', Bundle>;
75
+ export type QueryCollectionBundlesDto = Omit<QueryParamsDto<SortingParamsDto<{}>, WhereClausesDto<{
76
+ includeAttributes?: NumberClause;
77
+ excludeAttributes?: NumberClause;
78
+ search?: StringClause;
79
+ published?: BooleanClause;
80
+ }>>, 'sorting'>;
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export * from './productAttributes/types';
16
16
  export * from './products/types';
17
17
  export * from './roles/types';
18
18
  export * from './settings/types';
19
+ export * from './bundles/types';
19
20
  export * from './core/dto/pagination';
20
21
  export { TiDelizioPlan, TiDelizioConfig } from './configs/services/ti-delizio.config';
21
22
  export declare function maiorCmsApiClient(opt: MaiorCmsApiConfigs): MaiorCmsApiClient;
package/dist/index.js CHANGED
@@ -32,6 +32,7 @@ __exportStar(require("./productAttributes/types"), exports);
32
32
  __exportStar(require("./products/types"), exports);
33
33
  __exportStar(require("./roles/types"), exports);
34
34
  __exportStar(require("./settings/types"), exports);
35
+ __exportStar(require("./bundles/types"), exports);
35
36
  __exportStar(require("./core/dto/pagination"), exports);
36
37
  var ti_delizio_config_1 = require("./configs/services/ti-delizio.config");
37
38
  Object.defineProperty(exports, "TiDelizioPlan", { enumerable: true, get: function () { return ti_delizio_config_1.TiDelizioPlan; } });
@@ -20,6 +20,7 @@ exports.ProductsResolvers = {
20
20
  subtitle
21
21
  description
22
22
  tags
23
+ externalId
23
24
  ProductVariant {
24
25
  id
25
26
  description
@@ -3,11 +3,13 @@ import { PaginatedDto, PaginatedGQL } from "../core/dto/pagination";
3
3
  import { RemoveGQL } from "../core/model/remove-gql.response";
4
4
  import { Image } from "../images/types";
5
5
  import { RestApiModuleI, ApiModule, GraphApiModuleI } from "../model";
6
- import { CreateCollectionOnProductDto, CreateProductAttributeValueProductDto, CreateProductDto, CreateProductImageDto, CreateProductVariantDto, FindAllProductDto, FindOneProductDto, Product, ProductAttributeValueProduct, ProductCollection, ProductImage, ProductVariant, QueryProductDto, UpdateProductDto, UpdateProductImageDto } from "../products/types";
6
+ import { CreateCollectionOnProductDto, CreateProductAttributeValueProductDto, CreateProductDto, CreateProductImageDto, CreateProductVariantDto, FindAllProductDto, FindOneProductDto, Product, ProductAttributeValueProduct, ProductCollection, ProductImage, ProductVariant, PutProductBatchDto, PutProductDto, QueryProductDto, UpdateProductDto, UpdateProductImageDto } from "../products/types";
7
7
  import { WithRelation } from "../types";
8
8
  import { ArgsUpdateProductAttributesDto, FindAllProductGQLDto, QueryProductGQLDto } from "./graphql";
9
9
  export default class Products extends ApiModule implements RestApiModuleI, GraphApiModuleI {
10
10
  create(args: CreateProductDto): Promise<Product>;
11
+ put(args: PutProductDto): Promise<Product>;
12
+ putBatch(args: PutProductBatchDto): Promise<void>;
11
13
  findAll(args?: QueryProductDto): Promise<PaginatedDto<FindAllProductDto>>;
12
14
  findOne(id: number): Promise<FindOneProductDto>;
13
15
  update(id: number, data: UpdateProductDto): Promise<Product>;
@@ -7,6 +7,12 @@ class Products extends model_1.ApiModule {
7
7
  create(args) {
8
8
  return this._call('post', '/products', args);
9
9
  }
10
+ put(args) {
11
+ return this._call('put', '/products', args);
12
+ }
13
+ putBatch(args) {
14
+ return this._call('put', '/products/batch', args);
15
+ }
10
16
  findAll(args = {}) {
11
17
  return this._call('get', '/products', (0, queryParams_1.queryParams)(args));
12
18
  }
@@ -11,6 +11,7 @@ export type Product = {
11
11
  title: string;
12
12
  subtitle: string | null;
13
13
  description: string | null;
14
+ externalId: string | null;
14
15
  tags: string[];
15
16
  translations: Translation[];
16
17
  metafields: Metafield[];
@@ -62,9 +63,25 @@ export type CreateProductDto = OmitRequire<Product, 'id' | 'createdAt' | 'update
62
63
  export type UpdateProductDto = Partial<CreateProductDto> & {
63
64
  removeAttributes?: number[];
64
65
  removeVariants?: number[];
66
+ removeAllVariants?: boolean;
65
67
  removeCollections?: number[];
66
68
  removeImages?: number[];
67
69
  };
70
+ export type PutProductDto = OmitRequire<Product, 'createdAt' | 'updatedAt' | 'slug', 'title'> & {
71
+ attributes?: number[];
72
+ collections?: number[];
73
+ images?: number[];
74
+ variants?: CreateProductVariantDto[];
75
+ removeAttributes?: number[];
76
+ removeVariants?: number[];
77
+ removeAllVariants?: boolean;
78
+ removeCollections?: number[];
79
+ removeImages?: number[];
80
+ };
81
+ export type PutProductBatchDto = {
82
+ /** List has a limit of 300 elements */
83
+ products: PutProductDto[];
84
+ };
68
85
  export type CreateProductImageDto = OmitRequire<ProductImage, 'productId' | 'createdAt' | 'updatedAt' | 'imageId'> & CreateImageDto;
69
86
  export type UpdateProductImageDto = Omit<CreateProductImageDto, 'file'>;
70
87
  export type CreateProductVariantDto = OmitRequire<ProductVariant, 'id' | 'createdAt' | 'updatedAt' | 'productId'>;
@@ -1,4 +1,4 @@
1
1
  import { PaginatedGQLQueryDto } from "../core/dto/pagination";
2
2
  import { Resolvers } from "../core/types/resolver";
3
- export declare const RolesResolvers: Resolvers<['roles'], ['removeRoles']>;
3
+ export declare const RolesResolvers: Resolvers<['roles'], ['removeRoles', 'syncPermissionsRoles']>;
4
4
  export type QueryRoleGQLDto = PaginatedGQLQueryDto;
@@ -46,5 +46,24 @@ exports.RolesResolvers = {
46
46
  }
47
47
  }`,
48
48
  },
49
+ syncPermissionsRoles: {
50
+ name: 'syncPermissionsRoles',
51
+ query: `mutation RoleSyncPermissions {
52
+ syncPermissionsRoles {
53
+ id
54
+ name
55
+ description
56
+ permissions
57
+ readOnly
58
+ translations {
59
+ key
60
+ locale
61
+ value
62
+ }
63
+ createdAt
64
+ updatedAt
65
+ }
66
+ }`,
67
+ },
49
68
  }
50
69
  };
@@ -11,4 +11,5 @@ export default class Roles extends ApiModule implements RestApiModuleI, GraphApi
11
11
  remove(id: number): Promise<Role>;
12
12
  list(args?: QueryRoleGQLDto): Promise<PaginatedGQL<Role>>;
13
13
  removeMany(id: number | number[]): Promise<RemoveGQL>;
14
+ syncPermissions(): Promise<Role[]>;
14
15
  }
@@ -27,5 +27,8 @@ class Roles extends model_1.ApiModule {
27
27
  id
28
28
  });
29
29
  }
30
+ syncPermissions() {
31
+ return this._graphql(graphql_1.RolesResolvers.mutation.syncPermissionsRoles);
32
+ }
30
33
  }
31
34
  exports.default = Roles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maioradv/cms-basic-lib",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "JS lib for Maior CMS Basic Api",
5
5
  "repository": "https://github.com/maioradv/cms-basic-lib.git",
6
6
  "author": "Maior ADV Srl",