@infrab4a/connect 3.4.0-beta.14 → 3.4.0-beta.2

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 (39) hide show
  1. package/bundles/infrab4a-connect.umd.js +145 -324
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category.d.ts +2 -3
  4. package/domain/catalog/models/filter-option.d.ts +1 -1
  5. package/domain/catalog/models/index.d.ts +0 -1
  6. package/domain/catalog/models/product.d.ts +0 -1
  7. package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
  8. package/domain/catalog/models/types/index.d.ts +1 -0
  9. package/domain/catalog/repositories/index.d.ts +0 -1
  10. package/esm2015/domain/catalog/models/category.js +1 -8
  11. package/esm2015/domain/catalog/models/filter-option.js +1 -1
  12. package/esm2015/domain/catalog/models/index.js +1 -2
  13. package/esm2015/domain/catalog/models/product.js +1 -1
  14. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
  15. package/esm2015/domain/catalog/models/types/index.js +2 -1
  16. package/esm2015/domain/catalog/repositories/index.js +1 -2
  17. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
  18. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +4 -84
  19. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +42 -68
  20. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +29 -3
  21. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +1 -2
  22. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +1 -2
  23. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
  24. package/esm2015/utils/index.js +6 -6
  25. package/fesm2015/infrab4a-connect.js +82 -199
  26. package/fesm2015/infrab4a-connect.js.map +1 -1
  27. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +1 -4
  28. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +5 -6
  29. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +5 -1
  30. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -1
  31. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
  32. package/package.json +1 -1
  33. package/utils/index.d.ts +5 -5
  34. package/domain/catalog/models/category-filter.d.ts +0 -9
  35. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -5
  36. package/esm2015/domain/catalog/models/category-filter.js +0 -10
  37. package/esm2015/domain/catalog/repositories/category-filter.repository.js +0 -2
  38. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +0 -24
  39. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -11
@@ -832,6 +832,8 @@
832
832
  return Address;
833
833
  }(BaseModel));
834
834
 
835
+ var isUUID = function (value) { return lodash.isString(value) && /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/.test(value); };
836
+
835
837
  var Base = /** @class */ (function () {
836
838
  function Base() {
837
839
  var args = [];
@@ -843,8 +845,6 @@
843
845
  return Base;
844
846
  }());
845
847
 
846
- var isUUID = function (value) { return lodash.isString(value) && /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/.test(value); };
847
-
848
848
  var parseDateTime = function (value) {
849
849
  if (!lodash.isString(value))
850
850
  return value;
@@ -1252,24 +1252,6 @@
1252
1252
  return RecoveryPassword;
1253
1253
  }());
1254
1254
 
1255
- var Filter = /** @class */ (function (_super) {
1256
- __extends(Filter, _super);
1257
- function Filter() {
1258
- return _super !== null && _super.apply(this, arguments) || this;
1259
- }
1260
- Filter.prototype.identifierFields = function () {
1261
- return ['id'];
1262
- };
1263
- Object.defineProperty(Filter, "identifiersFields", {
1264
- get: function () {
1265
- return ['id'];
1266
- },
1267
- enumerable: false,
1268
- configurable: true
1269
- });
1270
- return Filter;
1271
- }(BaseModel));
1272
-
1273
1255
  var Category = /** @class */ (function (_super) {
1274
1256
  __extends(Category, _super);
1275
1257
  function Category() {
@@ -1286,28 +1268,6 @@
1286
1268
  configurable: true
1287
1269
  });
1288
1270
  return Category;
1289
- }(BaseModel));
1290
- __decorate([
1291
- classTransformer.Type(function () { return Filter; }),
1292
- __metadata("design:type", Array)
1293
- ], Category.prototype, "filters", void 0);
1294
-
1295
- var CategoryFilter = /** @class */ (function (_super) {
1296
- __extends(CategoryFilter, _super);
1297
- function CategoryFilter() {
1298
- return _super !== null && _super.apply(this, arguments) || this;
1299
- }
1300
- Object.defineProperty(CategoryFilter, "identifiersFields", {
1301
- // identifierFields(): NonFunctionPropertyNames<CategoryFilter>[] {
1302
- // return ['id']
1303
- // }
1304
- get: function () {
1305
- return ['id', 'filterId', 'categoryId'];
1306
- },
1307
- enumerable: false,
1308
- configurable: true
1309
- });
1310
- return CategoryFilter;
1311
1271
  }(BaseModel));
1312
1272
 
1313
1273
  exports.GenderDestination = void 0;
@@ -1325,6 +1285,24 @@
1325
1285
  Shops["ALL"] = "ALL";
1326
1286
  })(exports.Shops || (exports.Shops = {}));
1327
1287
 
1288
+ var Filter = /** @class */ (function (_super) {
1289
+ __extends(Filter, _super);
1290
+ function Filter() {
1291
+ return _super !== null && _super.apply(this, arguments) || this;
1292
+ }
1293
+ Filter.prototype.identifierFields = function () {
1294
+ return ['id'];
1295
+ };
1296
+ Object.defineProperty(Filter, "identifiersFields", {
1297
+ get: function () {
1298
+ return ['id'];
1299
+ },
1300
+ enumerable: false,
1301
+ configurable: true
1302
+ });
1303
+ return Filter;
1304
+ }(BaseModel));
1305
+
1328
1306
  var FilterOption = /** @class */ (function (_super) {
1329
1307
  __extends(FilterOption, _super);
1330
1308
  function FilterOption() {
@@ -3064,7 +3042,7 @@
3064
3042
  }());
3065
3043
  AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
3066
3044
  if (fields.includes(attributeName))
3067
- return { columnName: attributeName.toString(), attributeName: attributeName, to: function (value) { return value; }, from: function (value) { return value; } };
3045
+ return { columnName: attributeName.toString(), attributeName: attributeName };
3068
3046
  var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
3069
3047
  var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
3070
3048
  if (lodash.isNil(fieldOption))
@@ -3758,32 +3736,9 @@
3758
3736
  return VariantHasuraGraphQL;
3759
3737
  }(Variant));
3760
3738
 
3761
- var CategoryFilterHasuraGraphQLRepository = /** @class */ (function (_super) {
3762
- __extends(CategoryFilterHasuraGraphQLRepository, _super);
3763
- function CategoryFilterHasuraGraphQLRepository(endpoint, authOptions) {
3764
- return _super.call(this, {
3765
- tableName: 'category_filter',
3766
- model: CategoryFilter,
3767
- endpoint: endpoint,
3768
- authOptions: authOptions,
3769
- fields: ['id', { filterId: { columnName: 'filter_id' } }, { categoryId: { columnName: 'category_id' } }],
3770
- }) || this;
3771
- }
3772
- CategoryFilterHasuraGraphQLRepository.prototype.deleteByCategoryAndFilter = function (categoryId, filterId) {
3773
- return this.mutation('delete_category_filter', ['affected_rows'], {
3774
- where: {
3775
- type: 'category_filter_bool_exp',
3776
- required: true,
3777
- value: { category_id: { _eq: categoryId }, filter_id: { _eq: filterId } },
3778
- },
3779
- });
3780
- };
3781
- return CategoryFilterHasuraGraphQLRepository;
3782
- }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
3783
-
3784
3739
  var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
3785
3740
  __extends(CategoryHasuraGraphQLRepository, _super_1);
3786
- function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository, categoryFilterRepository) {
3741
+ function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
3787
3742
  var _this = _super_1.call(this, {
3788
3743
  tableName: 'category',
3789
3744
  model: Category,
@@ -3819,17 +3774,7 @@
3819
3774
  },
3820
3775
  },
3821
3776
  },
3822
- {
3823
- filters: {
3824
- columnName: 'filters',
3825
- foreignKeyColumn: { filter_id: 'id' },
3826
- fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
3827
- bindPersistData: function (value) { return ({
3828
- filters: { data: value.map(function (filter) { return ({ filter_id: filter.id }); }) },
3829
- }); },
3830
- from: function (filters) { return (filters === null || filters === void 0 ? void 0 : filters.map(function (filter) { return filter === null || filter === void 0 ? void 0 : filter.filter; })) || []; },
3831
- },
3832
- },
3777
+ 'filters',
3833
3778
  { createdAt: { columnName: 'created_at' } },
3834
3779
  { updatedAt: { columnName: 'updated_at' } },
3835
3780
  {
@@ -3854,7 +3799,6 @@
3854
3799
  ],
3855
3800
  }) || this;
3856
3801
  _this.productRepository = productRepository;
3857
- _this.categoryFilterRepository = categoryFilterRepository;
3858
3802
  return _this;
3859
3803
  }
3860
3804
  CategoryHasuraGraphQLRepository.prototype.create = function (params) {
@@ -3897,25 +3841,25 @@
3897
3841
  update: { get: function () { return _super_1.prototype.update; } }
3898
3842
  });
3899
3843
  return __awaiter(this, void 0, void 0, function () {
3900
- var products, checkId, metadata, filters, data, plainData, id, category, _c, _d, _e, _f, _g, _h;
3901
- return __generator(this, function (_j) {
3902
- switch (_j.label) {
3844
+ var products, checkId, metadata, data, plainData, id, category, _c, _d, _e, _f;
3845
+ return __generator(this, function (_g) {
3846
+ switch (_g.label) {
3903
3847
  case 0:
3904
- products = params.products, checkId = params.id, metadata = params.metadata, filters = params.filters, data = __rest(params, ["products", "id", "metadata", "filters"]);
3848
+ products = params.products, checkId = params.id, metadata = params.metadata, data = __rest(params, ["products", "id", "metadata"]);
3905
3849
  plainData = this.paramsToPlain({ id: checkId });
3906
3850
  return [4 /*yield*/, this.getId(plainData.id)];
3907
3851
  case 1:
3908
- id = _j.sent();
3852
+ id = _g.sent();
3909
3853
  return [4 /*yield*/, _super.update.call(this, Object.assign({ id: id }, data))];
3910
3854
  case 2:
3911
- category = _j.sent();
3855
+ category = _g.sent();
3912
3856
  _c = category;
3913
3857
  _d = products;
3914
3858
  if (!_d) return [3 /*break*/, 4];
3915
3859
  return [4 /*yield*/, this.updateProducts(+id, { products: products })];
3916
3860
  case 3:
3917
- _d = (_j.sent());
3918
- _j.label = 4;
3861
+ _d = (_g.sent());
3862
+ _g.label = 4;
3919
3863
  case 4:
3920
3864
  _c.products = _d;
3921
3865
  _e = category;
@@ -3923,19 +3867,10 @@
3923
3867
  if (!_f) return [3 /*break*/, 6];
3924
3868
  return [4 /*yield*/, this.updateMetadata(+id, { metadata: metadata })];
3925
3869
  case 5:
3926
- _f = (_j.sent());
3927
- _j.label = 6;
3870
+ _f = (_g.sent());
3871
+ _g.label = 6;
3928
3872
  case 6:
3929
3873
  _e.metadata = _f;
3930
- _g = category;
3931
- _h = filters;
3932
- if (!_h) return [3 /*break*/, 8];
3933
- return [4 /*yield*/, this.updateFilters(+id, { filters: filters })];
3934
- case 7:
3935
- _h = (_j.sent());
3936
- _j.label = 8;
3937
- case 8:
3938
- _g.filters = _h;
3939
3874
  return [2 /*return*/, category];
3940
3875
  }
3941
3876
  });
@@ -4161,117 +4096,12 @@
4161
4096
  });
4162
4097
  });
4163
4098
  };
4164
- CategoryHasuraGraphQLRepository.prototype.updateFilters = function (categoryId, _c) {
4165
- var filters = _c.filters;
4166
- return __awaiter(this, void 0, void 0, function () {
4167
- var i, filtersList, i, hasFilter, newCategoryFilter, error_1, filtersList, i, hasFilter, newCategoryFilter, error_2;
4168
- return __generator(this, function (_c) {
4169
- switch (_c.label) {
4170
- case 0:
4171
- if (!('action' in filters && filters.action === 'remove' && filters.value.length)) return [3 /*break*/, 5];
4172
- i = 0;
4173
- _c.label = 1;
4174
- case 1:
4175
- if (!(i < filters.value.length)) return [3 /*break*/, 4];
4176
- return [4 /*yield*/, this.categoryFilterRepository.deleteByCategoryAndFilter(categoryId, filters.value[i].id)];
4177
- case 2:
4178
- _c.sent();
4179
- _c.label = 3;
4180
- case 3:
4181
- i++;
4182
- return [3 /*break*/, 1];
4183
- case 4: return [2 /*return*/, []];
4184
- case 5:
4185
- if (!('action' in filters && filters.action === 'merge' && filters.value.length)) return [3 /*break*/, 15];
4186
- filtersList = [];
4187
- i = 0;
4188
- _c.label = 6;
4189
- case 6:
4190
- if (!(i < filters.value.length)) return [3 /*break*/, 14];
4191
- _c.label = 7;
4192
- case 7:
4193
- _c.trys.push([7, 12, , 13]);
4194
- return [4 /*yield*/, this.categoryFilterRepository
4195
- .find({
4196
- filters: {
4197
- categoryId: categoryId,
4198
- filterId: filters.value[i].id,
4199
- },
4200
- })
4201
- .then(function (data) { return data.data.shift(); })];
4202
- case 8:
4203
- hasFilter = _c.sent();
4204
- if (!hasFilter) return [3 /*break*/, 9];
4205
- filtersList.push(hasFilter);
4206
- return [3 /*break*/, 11];
4207
- case 9: return [4 /*yield*/, this.categoryFilterRepository.create({
4208
- filterId: filters.value[i].id,
4209
- categoryId: categoryId,
4210
- })];
4211
- case 10:
4212
- newCategoryFilter = _c.sent();
4213
- filtersList.push(newCategoryFilter);
4214
- _c.label = 11;
4215
- case 11: return [3 /*break*/, 13];
4216
- case 12:
4217
- error_1 = _c.sent();
4218
- console.log('catch error: ', error_1);
4219
- return [3 /*break*/, 13];
4220
- case 13:
4221
- i++;
4222
- return [3 /*break*/, 6];
4223
- case 14: return [2 /*return*/, filtersList];
4224
- case 15:
4225
- if (!(Array.isArray(filters) && filters.length)) return [3 /*break*/, 25];
4226
- filtersList = [];
4227
- i = 0;
4228
- _c.label = 16;
4229
- case 16:
4230
- if (!(i < filters.length)) return [3 /*break*/, 24];
4231
- _c.label = 17;
4232
- case 17:
4233
- _c.trys.push([17, 22, , 23]);
4234
- return [4 /*yield*/, this.categoryFilterRepository
4235
- .find({
4236
- filters: {
4237
- categoryId: categoryId,
4238
- filterId: filters[i].id,
4239
- },
4240
- })
4241
- .then(function (data) { return data.data.shift(); })];
4242
- case 18:
4243
- hasFilter = _c.sent();
4244
- if (!hasFilter) return [3 /*break*/, 19];
4245
- filtersList.push(hasFilter);
4246
- return [3 /*break*/, 21];
4247
- case 19: return [4 /*yield*/, this.categoryFilterRepository.create({
4248
- filterId: filters[i].id,
4249
- categoryId: categoryId,
4250
- })];
4251
- case 20:
4252
- newCategoryFilter = _c.sent();
4253
- filtersList.push(newCategoryFilter);
4254
- _c.label = 21;
4255
- case 21: return [3 /*break*/, 23];
4256
- case 22:
4257
- error_2 = _c.sent();
4258
- console.log('catch error: ', error_2);
4259
- return [3 /*break*/, 23];
4260
- case 23:
4261
- i++;
4262
- return [3 /*break*/, 16];
4263
- case 24: return [2 /*return*/, filtersList];
4264
- case 25: return [2 /*return*/];
4265
- }
4266
- });
4267
- });
4268
- };
4269
4099
  return CategoryHasuraGraphQLRepository;
4270
4100
  }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4271
4101
 
4272
4102
  var FilterHasuraGraphQLRepository = /** @class */ (function (_super_1) {
4273
4103
  __extends(FilterHasuraGraphQLRepository, _super_1);
4274
- function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository, categoryFilterRepository) {
4104
+ function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository) {
4275
4105
  var _this = _super_1.call(this, {
4276
4106
  tableName: 'filter',
4277
4107
  model: Filter,
@@ -4280,7 +4110,6 @@
4280
4110
  fields: [
4281
4111
  'id',
4282
4112
  'description',
4283
- 'slug',
4284
4113
  'enabled',
4285
4114
  { createdAt: { columnName: 'created_at' } },
4286
4115
  { updatedAt: { columnName: 'updated_at' } },
@@ -4288,21 +4117,64 @@
4288
4117
  options: {
4289
4118
  columnName: 'options',
4290
4119
  foreignKeyColumn: { filterId: 'id' },
4291
- fields: [
4292
- 'id',
4293
- { filterId: { columnName: 'filter_id' } },
4294
- 'description',
4295
- { createdAt: { columnName: 'created_at' } },
4296
- { updatedAt: { columnName: 'updated_at' } },
4297
- ],
4120
+ fields: ['id', { filterId: { columnName: 'filter_id' } }, 'description', 'createdAt', 'updatedAt'],
4298
4121
  },
4299
4122
  },
4300
4123
  ],
4301
4124
  }) || this;
4302
4125
  _this.filterOptionRepository = filterOptionRepository;
4303
- _this.categoryFilterRepository = categoryFilterRepository;
4304
4126
  return _this;
4305
4127
  }
4128
+ FilterHasuraGraphQLRepository.prototype.get = function (identifiers) {
4129
+ var _super = Object.create(null, {
4130
+ get: { get: function () { return _super_1.prototype.get; } }
4131
+ });
4132
+ return __awaiter(this, void 0, void 0, function () {
4133
+ var filter;
4134
+ return __generator(this, function (_a) {
4135
+ switch (_a.label) {
4136
+ case 0: return [4 /*yield*/, _super.get.call(this, identifiers)];
4137
+ case 1:
4138
+ filter = _a.sent();
4139
+ if (!filter)
4140
+ throw new NotFoundError('Filter not found');
4141
+ return [2 /*return*/, filter];
4142
+ }
4143
+ });
4144
+ });
4145
+ };
4146
+ FilterHasuraGraphQLRepository.prototype.find = function (options) {
4147
+ var _super = Object.create(null, {
4148
+ find: { get: function () { return _super_1.prototype.find; } }
4149
+ });
4150
+ return __awaiter(this, void 0, void 0, function () {
4151
+ var filter;
4152
+ return __generator(this, function (_a) {
4153
+ switch (_a.label) {
4154
+ case 0: return [4 /*yield*/, _super.find.call(this, options)];
4155
+ case 1:
4156
+ filter = _a.sent();
4157
+ return [2 /*return*/, filter];
4158
+ }
4159
+ });
4160
+ });
4161
+ };
4162
+ FilterHasuraGraphQLRepository.prototype.create = function (params) {
4163
+ var _super = Object.create(null, {
4164
+ create: { get: function () { return _super_1.prototype.create; } }
4165
+ });
4166
+ return __awaiter(this, void 0, void 0, function () {
4167
+ var filter;
4168
+ return __generator(this, function (_a) {
4169
+ switch (_a.label) {
4170
+ case 0: return [4 /*yield*/, _super.create.call(this, params)];
4171
+ case 1:
4172
+ filter = _a.sent();
4173
+ return [2 /*return*/, filter];
4174
+ }
4175
+ });
4176
+ });
4177
+ };
4306
4178
  FilterHasuraGraphQLRepository.prototype.update = function (params) {
4307
4179
  var _super = Object.create(null, {
4308
4180
  update: { get: function () { return _super_1.prototype.update; } }
@@ -4328,13 +4200,13 @@
4328
4200
  FilterHasuraGraphQLRepository.prototype.updateOptions = function (filterId, _a) {
4329
4201
  var options = _a.options;
4330
4202
  return __awaiter(this, void 0, void 0, function () {
4331
- var i, filterOptions, i, hasFilter, error_1, newOption, filterOptions, i, hasFilter, error_2, newOption;
4203
+ var i, filterOptions, i, hasFilter, newOption;
4332
4204
  return __generator(this, function (_a) {
4333
4205
  switch (_a.label) {
4334
4206
  case 0:
4335
4207
  if (!options)
4336
4208
  return [2 /*return*/, []];
4337
- if (!('action' in options && options.action === 'remove' && options.value.length)) return [3 /*break*/, 5];
4209
+ if (!('action' in options && options.action === 'remove')) return [3 /*break*/, 5];
4338
4210
  i = 0;
4339
4211
  _a.label = 1;
4340
4212
  case 1:
@@ -4348,144 +4220,92 @@
4348
4220
  return [3 /*break*/, 1];
4349
4221
  case 4: return [2 /*return*/, []];
4350
4222
  case 5:
4351
- if (!('action' in options && options.action === 'merge' && options.value.length)) return [3 /*break*/, 13];
4223
+ if (!('action' in options && options.action === 'update')) return [3 /*break*/, 12];
4352
4224
  filterOptions = [];
4353
4225
  i = 0;
4354
4226
  _a.label = 6;
4355
4227
  case 6:
4356
- if (!(i < options.value.length)) return [3 /*break*/, 12];
4357
- _a.label = 7;
4358
- case 7:
4359
- _a.trys.push([7, 9, , 11]);
4228
+ if (!(i < options.value.length)) return [3 /*break*/, 11];
4360
4229
  return [4 /*yield*/, this.filterOptionRepository.get({ id: options.value[i].id })];
4361
- case 8:
4230
+ case 7:
4362
4231
  hasFilter = _a.sent();
4363
- if (hasFilter)
4364
- filterOptions.push(hasFilter);
4365
- return [3 /*break*/, 11];
4366
- case 9:
4367
- error_1 = _a.sent();
4368
- return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options.value[i]), { filterId: filterId }))];
4369
- case 10:
4232
+ if (!!hasFilter) return [3 /*break*/, 9];
4233
+ return [4 /*yield*/, this.filterOptionRepository.create(options.value[i])];
4234
+ case 8:
4370
4235
  newOption = _a.sent();
4371
4236
  filterOptions.push(newOption);
4372
- return [3 /*break*/, 11];
4373
- case 11:
4237
+ return [3 /*break*/, 10];
4238
+ case 9:
4239
+ filterOptions.push(hasFilter);
4240
+ _a.label = 10;
4241
+ case 10:
4374
4242
  i++;
4375
4243
  return [3 /*break*/, 6];
4376
- case 12: return [2 /*return*/, filterOptions];
4377
- case 13:
4378
- if (!(Array.isArray(options) && options.length)) return [3 /*break*/, 20];
4379
- filterOptions = [];
4380
- i = 0;
4381
- _a.label = 14;
4382
- case 14:
4383
- if (!(i < options.length)) return [3 /*break*/, 20];
4384
- _a.label = 15;
4385
- case 15:
4386
- _a.trys.push([15, 17, , 19]);
4387
- return [4 /*yield*/, this.filterOptionRepository.get({ id: options[i].id })];
4388
- case 16:
4389
- hasFilter = _a.sent();
4390
- if (hasFilter)
4391
- filterOptions.push(hasFilter);
4392
- return [3 /*break*/, 19];
4393
- case 17:
4394
- error_2 = _a.sent();
4395
- return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options[i]), { filterId: filterId }))];
4396
- case 18:
4397
- newOption = _a.sent();
4398
- filterOptions.push(newOption);
4399
- return [3 /*break*/, 19];
4400
- case 19:
4401
- i++;
4402
- return [3 /*break*/, 14];
4403
- case 20: return [2 /*return*/, []];
4244
+ case 11: return [2 /*return*/, filterOptions];
4245
+ case 12: return [2 /*return*/];
4404
4246
  }
4405
4247
  });
4406
4248
  });
4407
4249
  };
4408
- FilterHasuraGraphQLRepository.prototype.delete = function (params) {
4250
+ return FilterHasuraGraphQLRepository;
4251
+ }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4252
+
4253
+ var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super_1) {
4254
+ __extends(FilterOptionHasuraGraphQLRepository, _super_1);
4255
+ function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
4256
+ return _super_1.call(this, {
4257
+ tableName: 'filter-option',
4258
+ model: FilterOption,
4259
+ endpoint: endpoint,
4260
+ authOptions: authOptions,
4261
+ fields: [
4262
+ 'id',
4263
+ 'description',
4264
+ { filterId: { columnName: 'filter_id' } },
4265
+ { createdAt: { columnName: 'created_at' } },
4266
+ { updatedAt: { columnName: 'updated_at' } },
4267
+ ],
4268
+ }) || this;
4269
+ }
4270
+ FilterOptionHasuraGraphQLRepository.prototype.create = function (params) {
4271
+ return _super_1.prototype.create.call(this, params);
4272
+ };
4273
+ FilterOptionHasuraGraphQLRepository.prototype.find = function (options) {
4409
4274
  var _super = Object.create(null, {
4410
- delete: { get: function () { return _super_1.prototype.delete; } }
4275
+ find: { get: function () { return _super_1.prototype.find; } }
4411
4276
  });
4412
4277
  return __awaiter(this, void 0, void 0, function () {
4413
- var options, data, categoryFilters;
4278
+ var filterOptions;
4414
4279
  return __generator(this, function (_a) {
4415
4280
  switch (_a.label) {
4416
- case 0:
4417
- options = params.options, data = __rest(params, ["options"]);
4418
- return [4 /*yield*/, this.categoryFilterRepository
4419
- .find({
4420
- filters: {
4421
- filterId: +data.id,
4422
- },
4423
- })
4424
- .then(function (result) { return result.data; })];
4281
+ case 0: return [4 /*yield*/, _super.find.call(this, options)];
4425
4282
  case 1:
4426
- categoryFilters = _a.sent();
4427
- if (categoryFilters.length)
4428
- throw new Error('Erro: o filtro está associado a uma ou mais categoria(s)');
4429
- return [4 /*yield*/, this.deleteOptions(options)];
4430
- case 2:
4431
- _a.sent();
4432
- return [4 /*yield*/, _super.delete.call(this, { id: +data.id })];
4433
- case 3:
4434
- _a.sent();
4435
- return [2 /*return*/];
4283
+ filterOptions = _a.sent();
4284
+ return [2 /*return*/, filterOptions];
4436
4285
  }
4437
4286
  });
4438
4287
  });
4439
4288
  };
4440
- FilterHasuraGraphQLRepository.prototype.deleteOptions = function (options) {
4289
+ FilterOptionHasuraGraphQLRepository.prototype.delete = function (identifiers) {
4290
+ return _super_1.prototype.delete.call(this, identifiers);
4291
+ };
4292
+ FilterOptionHasuraGraphQLRepository.prototype.findByFilter = function (filterId) {
4441
4293
  return __awaiter(this, void 0, void 0, function () {
4442
- var i, error_3;
4294
+ var options;
4443
4295
  return __generator(this, function (_a) {
4444
4296
  switch (_a.label) {
4445
- case 0:
4446
- i = 0;
4447
- _a.label = 1;
4297
+ case 0: return [4 /*yield*/, this.find({
4298
+ filters: {
4299
+ filterId: filterId,
4300
+ },
4301
+ })];
4448
4302
  case 1:
4449
- if (!(i < options.length)) return [3 /*break*/, 6];
4450
- _a.label = 2;
4451
- case 2:
4452
- _a.trys.push([2, 4, , 5]);
4453
- return [4 /*yield*/, this.filterOptionRepository.delete({ id: options[i].id })];
4454
- case 3:
4455
- _a.sent();
4456
- return [3 /*break*/, 5];
4457
- case 4:
4458
- error_3 = _a.sent();
4459
- console.log(error_3);
4460
- return [3 /*break*/, 5];
4461
- case 5:
4462
- i++;
4463
- return [3 /*break*/, 1];
4464
- case 6: return [2 /*return*/];
4303
+ options = _a.sent();
4304
+ return [2 /*return*/, options];
4465
4305
  }
4466
4306
  });
4467
4307
  });
4468
4308
  };
4469
- return FilterHasuraGraphQLRepository;
4470
- }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4471
-
4472
- var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super) {
4473
- __extends(FilterOptionHasuraGraphQLRepository, _super);
4474
- function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
4475
- return _super.call(this, {
4476
- tableName: 'filter_option',
4477
- model: FilterOption,
4478
- endpoint: endpoint,
4479
- authOptions: authOptions,
4480
- fields: [
4481
- 'id',
4482
- 'description',
4483
- { filterId: { columnName: 'filter_id' } },
4484
- { createdAt: { columnName: 'created_at' } },
4485
- { updatedAt: { columnName: 'updated_at' } },
4486
- ],
4487
- }) || this;
4488
- }
4489
4309
  return FilterOptionHasuraGraphQLRepository;
4490
4310
  }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4491
4311
 
@@ -4593,7 +4413,6 @@
4593
4413
  'weight',
4594
4414
  'gender',
4595
4415
  { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
4596
- { filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
4597
4416
  { isKit: { columnName: 'is_kit' } },
4598
4417
  { createdAt: { columnName: 'created_at' } },
4599
4418
  { updatedAt: { columnName: 'updated_at' } },
@@ -5358,6 +5177,10 @@
5358
5177
  enumerable: true,
5359
5178
  get: function () { return lodash.chunk; }
5360
5179
  });
5180
+ Object.defineProperty(exports, 'difference', {
5181
+ enumerable: true,
5182
+ get: function () { return lodash.difference; }
5183
+ });
5361
5184
  Object.defineProperty(exports, 'isBoolean', {
5362
5185
  enumerable: true,
5363
5186
  get: function () { return lodash.isBoolean; }
@@ -5421,8 +5244,6 @@
5421
5244
  exports.Buy2Win = Buy2Win;
5422
5245
  exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
5423
5246
  exports.Category = Category;
5424
- exports.CategoryFilter = CategoryFilter;
5425
- exports.CategoryFilterHasuraGraphQLRepository = CategoryFilterHasuraGraphQLRepository;
5426
5247
  exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
5427
5248
  exports.CategoryHasuraGraphQL = CategoryHasuraGraphQL;
5428
5249
  exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;