@infrab4a/connect 4.9.7-beta.15 → 4.9.7-beta.17

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.
package/index.cjs.js CHANGED
@@ -42,21 +42,6 @@ class BaseModel {
42
42
  }
43
43
  }
44
44
 
45
- exports.GenderDestination = void 0;
46
- (function (GenderDestination) {
47
- GenderDestination["FEMALE"] = "female";
48
- GenderDestination["MALE"] = "male";
49
- GenderDestination["UNISEX"] = "unisex";
50
- })(exports.GenderDestination || (exports.GenderDestination = {}));
51
-
52
- exports.Shops = void 0;
53
- (function (Shops) {
54
- Shops["MENSMARKET"] = "mensmarket";
55
- Shops["GLAMSHOP"] = "Glamshop";
56
- Shops["GLAMPOINTS"] = "Glampoints";
57
- Shops["ALL"] = "ALL";
58
- })(exports.Shops || (exports.Shops = {}));
59
-
60
45
  class Filter extends BaseModel {
61
46
  static get identifiersFields() {
62
47
  return ['id'];
@@ -71,21 +56,6 @@ class CategoryBase extends BaseModel {
71
56
  static get identifiersFields() {
72
57
  return ['id'];
73
58
  }
74
- get glamImages() {
75
- return this.images[exports.Shops.GLAMSHOP];
76
- }
77
- get mensImages() {
78
- return this.images[exports.Shops.MENSMARKET];
79
- }
80
- get glamMetadata() {
81
- return this.metadata.find((metadata) => metadata.shop === exports.Shops.GLAMSHOP);
82
- }
83
- get mensMetadata() {
84
- return this.metadata.find((metadata) => metadata.shop === exports.Shops.MENSMARKET);
85
- }
86
- getMostRelevantByShop(shop) {
87
- return this.mostRelevant && this.mostRelevant[shop] ? this.mostRelevant[shop] : [];
88
- }
89
59
  }
90
60
  tslib.__decorate([
91
61
  classTransformer.Type(() => CategoryBase),
@@ -194,6 +164,21 @@ tslib.__decorate([
194
164
  tslib.__metadata("design:type", Category)
195
165
  ], CategoryFilter.prototype, "category", void 0);
196
166
 
167
+ exports.GenderDestination = void 0;
168
+ (function (GenderDestination) {
169
+ GenderDestination["FEMALE"] = "female";
170
+ GenderDestination["MALE"] = "male";
171
+ GenderDestination["UNISEX"] = "unisex";
172
+ })(exports.GenderDestination || (exports.GenderDestination = {}));
173
+
174
+ exports.Shops = void 0;
175
+ (function (Shops) {
176
+ Shops["MENSMARKET"] = "mensmarket";
177
+ Shops["GLAMSHOP"] = "Glamshop";
178
+ Shops["GLAMPOINTS"] = "Glampoints";
179
+ Shops["ALL"] = "ALL";
180
+ })(exports.Shops || (exports.Shops = {}));
181
+
197
182
  class FilterOption extends BaseModel {
198
183
  static get identifiersFields() {
199
184
  return ['id'];
@@ -4649,6 +4634,7 @@ class CategoryFilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
4649
4634
  fields: [
4650
4635
  'id',
4651
4636
  'description',
4637
+ 'title',
4652
4638
  'slug',
4653
4639
  'enabled',
4654
4640
  { createdAt: { columnName: 'created_at' } },
@@ -4760,7 +4746,6 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4760
4746
  'name',
4761
4747
  'description',
4762
4748
  'image',
4763
- { images: { columnName: 'images', type: HasuraGraphQLColumnType.Jsonb } },
4764
4749
  'published',
4765
4750
  'shop',
4766
4751
  { shops: { columnName: 'shops', type: HasuraGraphQLColumnType.Jsonb } },
@@ -4793,7 +4778,7 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4793
4778
  filters: {
4794
4779
  columnName: 'filters',
4795
4780
  foreignKeyColumn: { filter_id: 'id' },
4796
- fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
4781
+ fields: [{ filter: ['id', 'title', 'description', 'slug', 'enabled'] }],
4797
4782
  bindPersistData: (value) => ({
4798
4783
  filters: { data: value.map((filter) => ({ filter_id: filter.id })) },
4799
4784
  }),
@@ -4816,7 +4801,7 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4816
4801
  {
4817
4802
  metadata: {
4818
4803
  columnName: 'metadata',
4819
- fields: ['shop', 'title', 'description'],
4804
+ fields: ['title', 'description'],
4820
4805
  bindPersistData: (value) => ({
4821
4806
  metadata: { data: value },
4822
4807
  }),
@@ -4842,11 +4827,8 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4842
4827
  this.categoryFilterRepository = categoryFilterRepository;
4843
4828
  }
4844
4829
  async create(params) {
4845
- const { mostRelevant, metadata } = params, data = tslib.__rest(params, ["mostRelevant", "metadata"]);
4846
- return super.create(Object.assign(Object.assign({}, data), { isWishlist: false, metadata: metadata || [{ shop: null, description: null, title: null }], mostRelevant: mostRelevant || {
4847
- [exports.Shops.GLAMSHOP]: null,
4848
- [exports.Shops.MENSMARKET]: null,
4849
- } }));
4830
+ const { metadata } = params, data = tslib.__rest(params, ["metadata"]);
4831
+ return super.create(Object.assign(Object.assign({}, data), { isWishlist: false, metadata: metadata || { description: null, title: null } }));
4850
4832
  }
4851
4833
  async get(identifiers) {
4852
4834
  var _a;
@@ -5037,35 +5019,22 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
5037
5019
  return plainData.products;
5038
5020
  }
5039
5021
  async updateMetadata(categoryId, { metadata }) {
5040
- if (Array.isArray(metadata) && !metadata.length)
5041
- return [];
5042
- if (Array.isArray(metadata) && metadata.length) {
5043
- await this.mutation('delete_category_metadata', ['affected_rows'], {
5044
- where: {
5045
- type: 'category_metadata_bool_exp',
5046
- required: true,
5047
- value: { category_id: { _eq: categoryId } },
5048
- },
5049
- });
5050
- await this.mutation('insert_category_metadata', ['affected_rows'], {
5051
- objects: {
5052
- type: '[category_metadata_insert_input!]',
5053
- required: true,
5054
- value: metadata.map((m) => (Object.assign({ category_id: categoryId }, m))),
5055
- },
5056
- });
5057
- return metadata;
5058
- }
5059
- if ('action' in metadata && metadata.action === 'remove' && metadata.value.length) {
5060
- await this.mutation('delete_category_metadata', ['affected_rows'], {
5061
- where: {
5062
- type: 'category_metadata_bool_exp',
5063
- required: true,
5064
- value: { category_id: { _eq: categoryId } },
5065
- },
5066
- });
5067
- return [];
5068
- }
5022
+ const plainData = this.paramsToPlain({ metadata });
5023
+ if (!plainData.metadata)
5024
+ return null;
5025
+ await this.mutation('update_category_metadata_by_pk', ['category_id'], {
5026
+ pk_columns: {
5027
+ value: { category_id: categoryId },
5028
+ type: 'category_metadata_pk_columns_input',
5029
+ required: true,
5030
+ },
5031
+ _set: {
5032
+ value: lodash.omit(metadata, ['category_id']),
5033
+ type: 'category_metadata_set_input',
5034
+ required: true,
5035
+ },
5036
+ });
5037
+ return plainData.metadata;
5069
5038
  }
5070
5039
  async updateFilters(categoryId, { filters }) {
5071
5040
  if ('action' in filters && filters.action === 'remove' && filters.value.length) {
@@ -5159,6 +5128,7 @@ class FilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGrap
5159
5128
  interceptors,
5160
5129
  fields: [
5161
5130
  'id',
5131
+ 'title',
5162
5132
  'description',
5163
5133
  'slug',
5164
5134
  'enabled',
@@ -5900,7 +5870,7 @@ class ProductStockNotificationHasuraGraphQLRepository extends withCrudHasuraGrap
5900
5870
  });
5901
5871
  }
5902
5872
  async getNotificationsReport(params, orderBy, pagination) {
5903
- const query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (params.ean && { ean: { _eq: params.ean } })), (params.sku && { sku: { _eq: params.sku } })), (params.name && { name: { _iregex: params.name } })), (params.category && { category: { _iregex: params.category } })), (params.reference && { category_reference: { _eq: params.reference } })), (params.emailsCount && { emails_registered: { _eq: params.emailsCount } }));
5873
+ const query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (params.productId && { product_id: { _eq: params.productId } })), (params.ean && { ean: { _eq: params.ean } })), (params.sku && { sku: { _eq: params.sku } })), (params.name && { name: { _iregex: params.name } })), (params.categoryId && { category_id: { _eq: params.categoryId } })), (params.category && { category: { _iregex: params.category } })), (params.reference && { category_reference: { _eq: params.reference } })), (params.emailsCount && { emails_registered: { _eq: params.emailsCount } }));
5904
5874
  const orderByField = {
5905
5875
  [orderBy.field]: orderBy.direction,
5906
5876
  };
@@ -6100,7 +6070,7 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6100
6070
  {
6101
6071
  metadata: {
6102
6072
  columnName: 'metadata',
6103
- fields: ['shop', 'title', 'description'],
6073
+ fields: ['title', 'description'],
6104
6074
  bindPersistData: (value) => ({
6105
6075
  metadata: { data: value },
6106
6076
  }),
@@ -6130,9 +6100,8 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6130
6100
  this.categoryFilterRepository = categoryFilterRepository;
6131
6101
  }
6132
6102
  async create(params) {
6133
- var _a;
6134
6103
  const { metadata } = params, data = tslib.__rest(params, ["metadata"]);
6135
- return super.create(Object.assign(Object.assign({}, data), { isWishlist: true, isCollection: true, brandCategory: false, metadata: metadata || [{ shop: (_a = data.shop) !== null && _a !== void 0 ? _a : null, description: data.description, title: data.name }] }));
6104
+ return super.create(Object.assign(Object.assign({}, data), { isWishlist: true, isCollection: true, brandCategory: false, metadata: metadata || { description: data.description, title: data.name } }));
6136
6105
  }
6137
6106
  async get(identifiers) {
6138
6107
  const data = await super.get(identifiers);
@@ -6263,39 +6232,22 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6263
6232
  return plainData.products;
6264
6233
  }
6265
6234
  async updateMetadata(categoryId, { metadata }) {
6266
- if (Array.isArray(metadata) && !metadata.length)
6267
- return [];
6268
- if (Array.isArray(metadata) && metadata.length) {
6269
- const metadataUpdated = [];
6270
- for (const data of metadata) {
6271
- const update = await this.mutation('update_category_metadata_by_pk', ['category_id', 'shop'], {
6272
- pk_columns: {
6273
- value: { category_id: categoryId, shop: data.shop },
6274
- type: 'category_metadata_pk_columns_input',
6275
- required: true,
6276
- },
6277
- _set: {
6278
- value: lodash.omit(data, ['category_id', 'shop']),
6279
- type: 'category_metadata_set_input',
6280
- required: true,
6281
- },
6282
- });
6283
- metadataUpdated.push(update);
6284
- }
6285
- return metadataUpdated;
6286
- }
6287
- if ('action' in metadata && metadata.action === 'remove' && metadata.value.length) {
6288
- for (let i = 0; i < metadata.value.length; i++) {
6289
- await this.mutation('delete_category_metadata', ['affected_rows'], {
6290
- where: {
6291
- type: 'category_metadata_bool_exp',
6292
- required: true,
6293
- value: { category_id: { _eq: categoryId }, shop: metadata.value[i].shop },
6294
- },
6295
- });
6296
- }
6297
- return [];
6298
- }
6235
+ const plainData = this.paramsToPlain({ metadata });
6236
+ if (!plainData.metadata)
6237
+ return;
6238
+ await this.mutation('update_category_metadata_by_pk', ['category_id'], {
6239
+ pk_columns: {
6240
+ value: { category_id: categoryId },
6241
+ type: 'category_metadata_pk_columns_input',
6242
+ required: true,
6243
+ },
6244
+ _set: {
6245
+ value: lodash.omit(metadata, ['category_id']),
6246
+ type: 'category_metadata_set_input',
6247
+ required: true,
6248
+ },
6249
+ });
6250
+ return plainData.metadata;
6299
6251
  }
6300
6252
  }
6301
6253
  tslib.__decorate([
package/index.esm.js CHANGED
@@ -36,21 +36,6 @@ class BaseModel {
36
36
  }
37
37
  }
38
38
 
39
- var GenderDestination;
40
- (function (GenderDestination) {
41
- GenderDestination["FEMALE"] = "female";
42
- GenderDestination["MALE"] = "male";
43
- GenderDestination["UNISEX"] = "unisex";
44
- })(GenderDestination || (GenderDestination = {}));
45
-
46
- var Shops;
47
- (function (Shops) {
48
- Shops["MENSMARKET"] = "mensmarket";
49
- Shops["GLAMSHOP"] = "Glamshop";
50
- Shops["GLAMPOINTS"] = "Glampoints";
51
- Shops["ALL"] = "ALL";
52
- })(Shops || (Shops = {}));
53
-
54
39
  class Filter extends BaseModel {
55
40
  static get identifiersFields() {
56
41
  return ['id'];
@@ -65,21 +50,6 @@ class CategoryBase extends BaseModel {
65
50
  static get identifiersFields() {
66
51
  return ['id'];
67
52
  }
68
- get glamImages() {
69
- return this.images[Shops.GLAMSHOP];
70
- }
71
- get mensImages() {
72
- return this.images[Shops.MENSMARKET];
73
- }
74
- get glamMetadata() {
75
- return this.metadata.find((metadata) => metadata.shop === Shops.GLAMSHOP);
76
- }
77
- get mensMetadata() {
78
- return this.metadata.find((metadata) => metadata.shop === Shops.MENSMARKET);
79
- }
80
- getMostRelevantByShop(shop) {
81
- return this.mostRelevant && this.mostRelevant[shop] ? this.mostRelevant[shop] : [];
82
- }
83
53
  }
84
54
  __decorate([
85
55
  Type(() => CategoryBase),
@@ -188,6 +158,21 @@ __decorate([
188
158
  __metadata("design:type", Category)
189
159
  ], CategoryFilter.prototype, "category", void 0);
190
160
 
161
+ var GenderDestination;
162
+ (function (GenderDestination) {
163
+ GenderDestination["FEMALE"] = "female";
164
+ GenderDestination["MALE"] = "male";
165
+ GenderDestination["UNISEX"] = "unisex";
166
+ })(GenderDestination || (GenderDestination = {}));
167
+
168
+ var Shops;
169
+ (function (Shops) {
170
+ Shops["MENSMARKET"] = "mensmarket";
171
+ Shops["GLAMSHOP"] = "Glamshop";
172
+ Shops["GLAMPOINTS"] = "Glampoints";
173
+ Shops["ALL"] = "ALL";
174
+ })(Shops || (Shops = {}));
175
+
191
176
  class FilterOption extends BaseModel {
192
177
  static get identifiersFields() {
193
178
  return ['id'];
@@ -4643,6 +4628,7 @@ class CategoryFilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
4643
4628
  fields: [
4644
4629
  'id',
4645
4630
  'description',
4631
+ 'title',
4646
4632
  'slug',
4647
4633
  'enabled',
4648
4634
  { createdAt: { columnName: 'created_at' } },
@@ -4754,7 +4740,6 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4754
4740
  'name',
4755
4741
  'description',
4756
4742
  'image',
4757
- { images: { columnName: 'images', type: HasuraGraphQLColumnType.Jsonb } },
4758
4743
  'published',
4759
4744
  'shop',
4760
4745
  { shops: { columnName: 'shops', type: HasuraGraphQLColumnType.Jsonb } },
@@ -4787,7 +4772,7 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4787
4772
  filters: {
4788
4773
  columnName: 'filters',
4789
4774
  foreignKeyColumn: { filter_id: 'id' },
4790
- fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
4775
+ fields: [{ filter: ['id', 'title', 'description', 'slug', 'enabled'] }],
4791
4776
  bindPersistData: (value) => ({
4792
4777
  filters: { data: value.map((filter) => ({ filter_id: filter.id })) },
4793
4778
  }),
@@ -4810,7 +4795,7 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4810
4795
  {
4811
4796
  metadata: {
4812
4797
  columnName: 'metadata',
4813
- fields: ['shop', 'title', 'description'],
4798
+ fields: ['title', 'description'],
4814
4799
  bindPersistData: (value) => ({
4815
4800
  metadata: { data: value },
4816
4801
  }),
@@ -4836,11 +4821,8 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
4836
4821
  this.categoryFilterRepository = categoryFilterRepository;
4837
4822
  }
4838
4823
  async create(params) {
4839
- const { mostRelevant, metadata } = params, data = __rest(params, ["mostRelevant", "metadata"]);
4840
- return super.create(Object.assign(Object.assign({}, data), { isWishlist: false, metadata: metadata || [{ shop: null, description: null, title: null }], mostRelevant: mostRelevant || {
4841
- [Shops.GLAMSHOP]: null,
4842
- [Shops.MENSMARKET]: null,
4843
- } }));
4824
+ const { metadata } = params, data = __rest(params, ["metadata"]);
4825
+ return super.create(Object.assign(Object.assign({}, data), { isWishlist: false, metadata: metadata || { description: null, title: null } }));
4844
4826
  }
4845
4827
  async get(identifiers) {
4846
4828
  var _a;
@@ -5031,35 +5013,22 @@ class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
5031
5013
  return plainData.products;
5032
5014
  }
5033
5015
  async updateMetadata(categoryId, { metadata }) {
5034
- if (Array.isArray(metadata) && !metadata.length)
5035
- return [];
5036
- if (Array.isArray(metadata) && metadata.length) {
5037
- await this.mutation('delete_category_metadata', ['affected_rows'], {
5038
- where: {
5039
- type: 'category_metadata_bool_exp',
5040
- required: true,
5041
- value: { category_id: { _eq: categoryId } },
5042
- },
5043
- });
5044
- await this.mutation('insert_category_metadata', ['affected_rows'], {
5045
- objects: {
5046
- type: '[category_metadata_insert_input!]',
5047
- required: true,
5048
- value: metadata.map((m) => (Object.assign({ category_id: categoryId }, m))),
5049
- },
5050
- });
5051
- return metadata;
5052
- }
5053
- if ('action' in metadata && metadata.action === 'remove' && metadata.value.length) {
5054
- await this.mutation('delete_category_metadata', ['affected_rows'], {
5055
- where: {
5056
- type: 'category_metadata_bool_exp',
5057
- required: true,
5058
- value: { category_id: { _eq: categoryId } },
5059
- },
5060
- });
5061
- return [];
5062
- }
5016
+ const plainData = this.paramsToPlain({ metadata });
5017
+ if (!plainData.metadata)
5018
+ return null;
5019
+ await this.mutation('update_category_metadata_by_pk', ['category_id'], {
5020
+ pk_columns: {
5021
+ value: { category_id: categoryId },
5022
+ type: 'category_metadata_pk_columns_input',
5023
+ required: true,
5024
+ },
5025
+ _set: {
5026
+ value: omit(metadata, ['category_id']),
5027
+ type: 'category_metadata_set_input',
5028
+ required: true,
5029
+ },
5030
+ });
5031
+ return plainData.metadata;
5063
5032
  }
5064
5033
  async updateFilters(categoryId, { filters }) {
5065
5034
  if ('action' in filters && filters.action === 'remove' && filters.value.length) {
@@ -5153,6 +5122,7 @@ class FilterHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGrap
5153
5122
  interceptors,
5154
5123
  fields: [
5155
5124
  'id',
5125
+ 'title',
5156
5126
  'description',
5157
5127
  'slug',
5158
5128
  'enabled',
@@ -5894,7 +5864,7 @@ class ProductStockNotificationHasuraGraphQLRepository extends withCrudHasuraGrap
5894
5864
  });
5895
5865
  }
5896
5866
  async getNotificationsReport(params, orderBy, pagination) {
5897
- const query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (params.ean && { ean: { _eq: params.ean } })), (params.sku && { sku: { _eq: params.sku } })), (params.name && { name: { _iregex: params.name } })), (params.category && { category: { _iregex: params.category } })), (params.reference && { category_reference: { _eq: params.reference } })), (params.emailsCount && { emails_registered: { _eq: params.emailsCount } }));
5867
+ const query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (params.productId && { product_id: { _eq: params.productId } })), (params.ean && { ean: { _eq: params.ean } })), (params.sku && { sku: { _eq: params.sku } })), (params.name && { name: { _iregex: params.name } })), (params.categoryId && { category_id: { _eq: params.categoryId } })), (params.category && { category: { _iregex: params.category } })), (params.reference && { category_reference: { _eq: params.reference } })), (params.emailsCount && { emails_registered: { _eq: params.emailsCount } }));
5898
5868
  const orderByField = {
5899
5869
  [orderBy.field]: orderBy.direction,
5900
5870
  };
@@ -6094,7 +6064,7 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6094
6064
  {
6095
6065
  metadata: {
6096
6066
  columnName: 'metadata',
6097
- fields: ['shop', 'title', 'description'],
6067
+ fields: ['title', 'description'],
6098
6068
  bindPersistData: (value) => ({
6099
6069
  metadata: { data: value },
6100
6070
  }),
@@ -6124,9 +6094,8 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6124
6094
  this.categoryFilterRepository = categoryFilterRepository;
6125
6095
  }
6126
6096
  async create(params) {
6127
- var _a;
6128
6097
  const { metadata } = params, data = __rest(params, ["metadata"]);
6129
- return super.create(Object.assign(Object.assign({}, data), { isWishlist: true, isCollection: true, brandCategory: false, metadata: metadata || [{ shop: (_a = data.shop) !== null && _a !== void 0 ? _a : null, description: data.description, title: data.name }] }));
6098
+ return super.create(Object.assign(Object.assign({}, data), { isWishlist: true, isCollection: true, brandCategory: false, metadata: metadata || { description: data.description, title: data.name } }));
6130
6099
  }
6131
6100
  async get(identifiers) {
6132
6101
  const data = await super.get(identifiers);
@@ -6257,39 +6226,22 @@ class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGr
6257
6226
  return plainData.products;
6258
6227
  }
6259
6228
  async updateMetadata(categoryId, { metadata }) {
6260
- if (Array.isArray(metadata) && !metadata.length)
6261
- return [];
6262
- if (Array.isArray(metadata) && metadata.length) {
6263
- const metadataUpdated = [];
6264
- for (const data of metadata) {
6265
- const update = await this.mutation('update_category_metadata_by_pk', ['category_id', 'shop'], {
6266
- pk_columns: {
6267
- value: { category_id: categoryId, shop: data.shop },
6268
- type: 'category_metadata_pk_columns_input',
6269
- required: true,
6270
- },
6271
- _set: {
6272
- value: omit(data, ['category_id', 'shop']),
6273
- type: 'category_metadata_set_input',
6274
- required: true,
6275
- },
6276
- });
6277
- metadataUpdated.push(update);
6278
- }
6279
- return metadataUpdated;
6280
- }
6281
- if ('action' in metadata && metadata.action === 'remove' && metadata.value.length) {
6282
- for (let i = 0; i < metadata.value.length; i++) {
6283
- await this.mutation('delete_category_metadata', ['affected_rows'], {
6284
- where: {
6285
- type: 'category_metadata_bool_exp',
6286
- required: true,
6287
- value: { category_id: { _eq: categoryId }, shop: metadata.value[i].shop },
6288
- },
6289
- });
6290
- }
6291
- return [];
6292
- }
6229
+ const plainData = this.paramsToPlain({ metadata });
6230
+ if (!plainData.metadata)
6231
+ return;
6232
+ await this.mutation('update_category_metadata_by_pk', ['category_id'], {
6233
+ pk_columns: {
6234
+ value: { category_id: categoryId },
6235
+ type: 'category_metadata_pk_columns_input',
6236
+ required: true,
6237
+ },
6238
+ _set: {
6239
+ value: omit(metadata, ['category_id']),
6240
+ type: 'category_metadata_set_input',
6241
+ required: true,
6242
+ },
6243
+ });
6244
+ return plainData.metadata;
6293
6245
  }
6294
6246
  }
6295
6247
  __decorate([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "4.9.7-beta.15",
3
+ "version": "4.9.7-beta.17",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -1,7 +1,7 @@
1
1
  import { BaseModel, GenericIdentifier, ModelBaseStructure } from '../../generic/model';
2
2
  import { Shops } from './enums';
3
3
  import { Filter } from './filter';
4
- import { CategoryCondition, CategoryImages, CategoryMetadata, CategoryMostRelevant } from './types';
4
+ import { CategoryCondition, CategoryMetadata } from './types';
5
5
  export declare class CategoryBase<ChildCategory extends ModelBaseStructure<ChildCategory, Identifiers> = ModelBaseStructure<any, any>, Identifiers = ChildCategory['identifiersFields']> extends BaseModel<ChildCategory, Identifiers> {
6
6
  id: string;
7
7
  brandCategory: boolean;
@@ -9,7 +9,6 @@ export declare class CategoryBase<ChildCategory extends ModelBaseStructure<Child
9
9
  name: string;
10
10
  slug: string;
11
11
  image?: string;
12
- images?: CategoryImages;
13
12
  brandCategoryBanner?: string;
14
13
  brandCategoryBannerMobile?: string;
15
14
  description: string;
@@ -20,28 +19,15 @@ export declare class CategoryBase<ChildCategory extends ModelBaseStructure<Child
20
19
  shop?: Shops;
21
20
  shops?: string[];
22
21
  published: boolean;
23
- metadata: CategoryMetadata[];
22
+ metadata: CategoryMetadata;
24
23
  isCollection?: boolean;
25
24
  isWishlist?: boolean;
26
25
  reference?: string;
27
26
  parentId?: number;
28
27
  theme?: string;
29
28
  bannerUrl?: string;
30
- mostRelevant?: CategoryMostRelevant;
29
+ mostRelevant?: string[];
31
30
  parent?: CategoryBase;
32
31
  filters?: Filter[];
33
32
  static get identifiersFields(): GenericIdentifier[];
34
- get glamImages(): {
35
- image: string;
36
- brandBanner: string;
37
- brandBannerMobile: string;
38
- };
39
- get mensImages(): {
40
- image: string;
41
- brandBanner: string;
42
- brandBannerMobile: string;
43
- };
44
- get glamMetadata(): CategoryMetadata;
45
- get mensMetadata(): CategoryMetadata;
46
- getMostRelevantByShop(shop: Shops): string[];
47
33
  }
@@ -4,6 +4,7 @@ import { FilterOption } from './filter-option';
4
4
  export declare class Filter extends BaseModel<Filter> {
5
5
  id: number;
6
6
  description: string;
7
+ title?: string;
7
8
  slug: string;
8
9
  enabled: boolean;
9
10
  options?: FilterOption[];
@@ -1,6 +1,4 @@
1
- import { Shops } from '../enums';
2
1
  export type CategoryMetadata = {
3
- shop: Shops;
4
2
  title?: string;
5
3
  description?: string;
6
4
  };
@@ -1,7 +1,5 @@
1
1
  export * from './category-condition.type';
2
- export * from './category-images.type';
3
2
  export * from './category-metadata.type';
4
- export * from './category-most-relevant.type';
5
3
  export * from './category-product';
6
4
  export * from './product-evaluation.type';
7
5
  export * from './product-gender.type';
@@ -1,17 +1,21 @@
1
1
  export type ReportStockNotification = {
2
+ product_id: string;
2
3
  ean: string;
3
4
  sku: string;
4
5
  name: string;
5
6
  stock: number;
6
7
  category: string;
8
+ category_id: string;
7
9
  category_reference: string;
8
10
  emails_registered: number;
9
11
  };
10
12
  export type ReportStockNotificationInput = {
13
+ productId?: string;
11
14
  ean?: string;
12
15
  sku?: string;
13
16
  name?: string;
14
17
  category?: string;
18
+ categoryId?: string;
15
19
  reference?: string;
16
20
  emailsCount?: number;
17
21
  };
@@ -1,8 +0,0 @@
1
- import { Shops } from '../enums';
2
- export type CategoryImages = {
3
- [shop in Shops]?: {
4
- image: string;
5
- brandBanner: string;
6
- brandBannerMobile: string;
7
- };
8
- };
@@ -1,4 +0,0 @@
1
- import { Shops } from '../enums';
2
- export type CategoryMostRelevant = {
3
- [shop in Shops]?: string[];
4
- };