@infrab4a/connect 3.4.0-beta.0 → 3.4.0-beta.10
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/bundles/infrab4a-connect.umd.js +316 -163
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category-filter.d.ts +8 -0
- package/domain/catalog/models/category.d.ts +3 -2
- package/domain/catalog/models/filter-option.d.ts +1 -1
- package/domain/catalog/models/filter.d.ts +2 -1
- package/domain/catalog/models/index.d.ts +1 -0
- package/domain/catalog/models/types/index.d.ts +0 -1
- package/domain/catalog/repositories/category-filter.repository.d.ts +4 -0
- package/domain/catalog/repositories/index.d.ts +1 -0
- package/esm2015/domain/catalog/models/category-filter.js +10 -0
- package/esm2015/domain/catalog/models/category.js +8 -1
- package/esm2015/domain/catalog/models/filter-option.js +1 -1
- package/esm2015/domain/catalog/models/filter.js +1 -1
- package/esm2015/domain/catalog/models/index.js +2 -1
- package/esm2015/domain/catalog/models/types/index.js +1 -2
- package/esm2015/domain/catalog/repositories/category-filter.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/index.js +2 -1
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
- package/esm2015/infra/hasura-graphql/models/index.js +1 -3
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +24 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +76 -4
- package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +67 -48
- package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +11 -31
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +2 -1
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
- package/esm2015/utils/index.js +6 -6
- package/fesm2015/infrab4a-connect.js +197 -96
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/hasura-graphql/models/index.d.ts +0 -2
- package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -0
- package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +4 -1
- package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +12 -12
- package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +5 -10
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +1 -0
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +5 -5
- package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
- package/esm2015/domain/catalog/models/types/category-filter.type.js +0 -2
- package/esm2015/infra/hasura-graphql/models/filter-hasura-graphql.js +0 -4
- package/esm2015/infra/hasura-graphql/models/filter-option-hasura-graphql.js +0 -4
- package/infra/hasura-graphql/models/filter-hasura-graphql.d.ts +0 -3
- package/infra/hasura-graphql/models/filter-option-hasura-graphql.d.ts +0 -3
|
@@ -832,8 +832,6 @@
|
|
|
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
|
-
|
|
837
835
|
var Base = /** @class */ (function () {
|
|
838
836
|
function Base() {
|
|
839
837
|
var args = [];
|
|
@@ -845,6 +843,8 @@
|
|
|
845
843
|
return Base;
|
|
846
844
|
}());
|
|
847
845
|
|
|
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,6 +1252,24 @@
|
|
|
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
|
+
|
|
1255
1273
|
var Category = /** @class */ (function (_super) {
|
|
1256
1274
|
__extends(Category, _super);
|
|
1257
1275
|
function Category() {
|
|
@@ -1268,6 +1286,28 @@
|
|
|
1268
1286
|
configurable: true
|
|
1269
1287
|
});
|
|
1270
1288
|
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
|
+
CategoryFilter.prototype.identifierFields = function () {
|
|
1301
|
+
return ['id'];
|
|
1302
|
+
};
|
|
1303
|
+
Object.defineProperty(CategoryFilter, "identifiersFields", {
|
|
1304
|
+
get: function () {
|
|
1305
|
+
return ['id'];
|
|
1306
|
+
},
|
|
1307
|
+
enumerable: false,
|
|
1308
|
+
configurable: true
|
|
1309
|
+
});
|
|
1310
|
+
return CategoryFilter;
|
|
1271
1311
|
}(BaseModel));
|
|
1272
1312
|
|
|
1273
1313
|
exports.GenderDestination = void 0;
|
|
@@ -1285,24 +1325,6 @@
|
|
|
1285
1325
|
Shops["ALL"] = "ALL";
|
|
1286
1326
|
})(exports.Shops || (exports.Shops = {}));
|
|
1287
1327
|
|
|
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
|
-
|
|
1306
1328
|
var FilterOption = /** @class */ (function (_super) {
|
|
1307
1329
|
__extends(FilterOption, _super);
|
|
1308
1330
|
function FilterOption() {
|
|
@@ -3042,7 +3064,7 @@
|
|
|
3042
3064
|
}());
|
|
3043
3065
|
AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
|
|
3044
3066
|
if (fields.includes(attributeName))
|
|
3045
|
-
return { columnName: attributeName.toString(), attributeName: attributeName };
|
|
3067
|
+
return { columnName: attributeName.toString(), attributeName: attributeName, to: function (value) { return value; }, from: function (value) { return value; } };
|
|
3046
3068
|
var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
|
|
3047
3069
|
var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
|
|
3048
3070
|
if (lodash.isNil(fieldOption))
|
|
@@ -3697,22 +3719,6 @@
|
|
|
3697
3719
|
return CategoryHasuraGraphQL;
|
|
3698
3720
|
}(Category));
|
|
3699
3721
|
|
|
3700
|
-
var FilterHasuraGraphQL = /** @class */ (function (_super) {
|
|
3701
|
-
__extends(FilterHasuraGraphQL, _super);
|
|
3702
|
-
function FilterHasuraGraphQL() {
|
|
3703
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
3704
|
-
}
|
|
3705
|
-
return FilterHasuraGraphQL;
|
|
3706
|
-
}(Filter));
|
|
3707
|
-
|
|
3708
|
-
var FilterOptionHasuraGraphQL = /** @class */ (function (_super) {
|
|
3709
|
-
__extends(FilterOptionHasuraGraphQL, _super);
|
|
3710
|
-
function FilterOptionHasuraGraphQL() {
|
|
3711
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
3712
|
-
}
|
|
3713
|
-
return FilterOptionHasuraGraphQL;
|
|
3714
|
-
}(FilterOption));
|
|
3715
|
-
|
|
3716
3722
|
var ProductHasuraGraphQL = /** @class */ (function (_super) {
|
|
3717
3723
|
__extends(ProductHasuraGraphQL, _super);
|
|
3718
3724
|
function ProductHasuraGraphQL() {
|
|
@@ -3752,9 +3758,32 @@
|
|
|
3752
3758
|
return VariantHasuraGraphQL;
|
|
3753
3759
|
}(Variant));
|
|
3754
3760
|
|
|
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 }, filterId: { _eq: filterId } },
|
|
3778
|
+
},
|
|
3779
|
+
});
|
|
3780
|
+
};
|
|
3781
|
+
return CategoryFilterHasuraGraphQLRepository;
|
|
3782
|
+
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
3783
|
+
|
|
3755
3784
|
var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
3756
3785
|
__extends(CategoryHasuraGraphQLRepository, _super_1);
|
|
3757
|
-
function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
|
|
3786
|
+
function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository, categoryFilterRepository) {
|
|
3758
3787
|
var _this = _super_1.call(this, {
|
|
3759
3788
|
tableName: 'category',
|
|
3760
3789
|
model: Category,
|
|
@@ -3790,7 +3819,17 @@
|
|
|
3790
3819
|
},
|
|
3791
3820
|
},
|
|
3792
3821
|
},
|
|
3793
|
-
|
|
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
|
+
},
|
|
3794
3833
|
{ createdAt: { columnName: 'created_at' } },
|
|
3795
3834
|
{ updatedAt: { columnName: 'updated_at' } },
|
|
3796
3835
|
{
|
|
@@ -3815,6 +3854,7 @@
|
|
|
3815
3854
|
],
|
|
3816
3855
|
}) || this;
|
|
3817
3856
|
_this.productRepository = productRepository;
|
|
3857
|
+
_this.categoryFilterRepository = categoryFilterRepository;
|
|
3818
3858
|
return _this;
|
|
3819
3859
|
}
|
|
3820
3860
|
CategoryHasuraGraphQLRepository.prototype.create = function (params) {
|
|
@@ -3857,25 +3897,25 @@
|
|
|
3857
3897
|
update: { get: function () { return _super_1.prototype.update; } }
|
|
3858
3898
|
});
|
|
3859
3899
|
return __awaiter(this, void 0, void 0, function () {
|
|
3860
|
-
var products, checkId, metadata, data, plainData, id, category, _c, _d, _e, _f;
|
|
3861
|
-
return __generator(this, function (
|
|
3862
|
-
switch (
|
|
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) {
|
|
3863
3903
|
case 0:
|
|
3864
|
-
products = params.products, checkId = params.id, metadata = params.metadata, data = __rest(params, ["products", "id", "metadata"]);
|
|
3904
|
+
products = params.products, checkId = params.id, metadata = params.metadata, filters = params.filters, data = __rest(params, ["products", "id", "metadata", "filters"]);
|
|
3865
3905
|
plainData = this.paramsToPlain({ id: checkId });
|
|
3866
3906
|
return [4 /*yield*/, this.getId(plainData.id)];
|
|
3867
3907
|
case 1:
|
|
3868
|
-
id =
|
|
3908
|
+
id = _j.sent();
|
|
3869
3909
|
return [4 /*yield*/, _super.update.call(this, Object.assign({ id: id }, data))];
|
|
3870
3910
|
case 2:
|
|
3871
|
-
category =
|
|
3911
|
+
category = _j.sent();
|
|
3872
3912
|
_c = category;
|
|
3873
3913
|
_d = products;
|
|
3874
3914
|
if (!_d) return [3 /*break*/, 4];
|
|
3875
3915
|
return [4 /*yield*/, this.updateProducts(+id, { products: products })];
|
|
3876
3916
|
case 3:
|
|
3877
|
-
_d = (
|
|
3878
|
-
|
|
3917
|
+
_d = (_j.sent());
|
|
3918
|
+
_j.label = 4;
|
|
3879
3919
|
case 4:
|
|
3880
3920
|
_c.products = _d;
|
|
3881
3921
|
_e = category;
|
|
@@ -3883,10 +3923,19 @@
|
|
|
3883
3923
|
if (!_f) return [3 /*break*/, 6];
|
|
3884
3924
|
return [4 /*yield*/, this.updateMetadata(+id, { metadata: metadata })];
|
|
3885
3925
|
case 5:
|
|
3886
|
-
_f = (
|
|
3887
|
-
|
|
3926
|
+
_f = (_j.sent());
|
|
3927
|
+
_j.label = 6;
|
|
3888
3928
|
case 6:
|
|
3889
3929
|
_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;
|
|
3890
3939
|
return [2 /*return*/, category];
|
|
3891
3940
|
}
|
|
3892
3941
|
});
|
|
@@ -4112,23 +4161,123 @@
|
|
|
4112
4161
|
});
|
|
4113
4162
|
});
|
|
4114
4163
|
};
|
|
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, error_1, newCategoryFilter, filtersList, i, hasFilter, error_2, newCategoryFilter;
|
|
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*/, 13];
|
|
4186
|
+
filtersList = [];
|
|
4187
|
+
i = 0;
|
|
4188
|
+
_c.label = 6;
|
|
4189
|
+
case 6:
|
|
4190
|
+
if (!(i < filters.value.length)) return [3 /*break*/, 12];
|
|
4191
|
+
_c.label = 7;
|
|
4192
|
+
case 7:
|
|
4193
|
+
_c.trys.push([7, 9, , 11]);
|
|
4194
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4195
|
+
.find({
|
|
4196
|
+
filters: {
|
|
4197
|
+
categoryId: categoryId,
|
|
4198
|
+
filterId: filters[i].id,
|
|
4199
|
+
},
|
|
4200
|
+
})
|
|
4201
|
+
.then(function (data) { return data.data.shift(); })];
|
|
4202
|
+
case 8:
|
|
4203
|
+
hasFilter = _c.sent();
|
|
4204
|
+
if (hasFilter)
|
|
4205
|
+
filtersList.push(hasFilter);
|
|
4206
|
+
return [3 /*break*/, 11];
|
|
4207
|
+
case 9:
|
|
4208
|
+
error_1 = _c.sent();
|
|
4209
|
+
return [4 /*yield*/, this.categoryFilterRepository.create({
|
|
4210
|
+
filterId: filters.value[i].id,
|
|
4211
|
+
categoryId: categoryId,
|
|
4212
|
+
})];
|
|
4213
|
+
case 10:
|
|
4214
|
+
newCategoryFilter = _c.sent();
|
|
4215
|
+
filtersList.push(newCategoryFilter);
|
|
4216
|
+
return [3 /*break*/, 11];
|
|
4217
|
+
case 11:
|
|
4218
|
+
i++;
|
|
4219
|
+
return [3 /*break*/, 6];
|
|
4220
|
+
case 12: return [2 /*return*/, filtersList];
|
|
4221
|
+
case 13:
|
|
4222
|
+
if (!(Array.isArray(filters) && filters.length)) return [3 /*break*/, 21];
|
|
4223
|
+
filtersList = [];
|
|
4224
|
+
i = 0;
|
|
4225
|
+
_c.label = 14;
|
|
4226
|
+
case 14:
|
|
4227
|
+
if (!(i < filters.length)) return [3 /*break*/, 20];
|
|
4228
|
+
_c.label = 15;
|
|
4229
|
+
case 15:
|
|
4230
|
+
_c.trys.push([15, 17, , 19]);
|
|
4231
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4232
|
+
.find({
|
|
4233
|
+
filters: {
|
|
4234
|
+
categoryId: categoryId,
|
|
4235
|
+
filterId: filters[i].id,
|
|
4236
|
+
},
|
|
4237
|
+
})
|
|
4238
|
+
.then(function (data) { return data.data.shift(); })];
|
|
4239
|
+
case 16:
|
|
4240
|
+
hasFilter = _c.sent();
|
|
4241
|
+
if (hasFilter)
|
|
4242
|
+
filtersList.push(hasFilter);
|
|
4243
|
+
return [3 /*break*/, 19];
|
|
4244
|
+
case 17:
|
|
4245
|
+
error_2 = _c.sent();
|
|
4246
|
+
return [4 /*yield*/, this.categoryFilterRepository.create({
|
|
4247
|
+
filterId: filters[i].id,
|
|
4248
|
+
categoryId: categoryId,
|
|
4249
|
+
})];
|
|
4250
|
+
case 18:
|
|
4251
|
+
newCategoryFilter = _c.sent();
|
|
4252
|
+
filtersList.push(newCategoryFilter);
|
|
4253
|
+
return [3 /*break*/, 19];
|
|
4254
|
+
case 19:
|
|
4255
|
+
i++;
|
|
4256
|
+
return [3 /*break*/, 14];
|
|
4257
|
+
case 20: return [2 /*return*/, filtersList];
|
|
4258
|
+
case 21: return [2 /*return*/];
|
|
4259
|
+
}
|
|
4260
|
+
});
|
|
4261
|
+
});
|
|
4262
|
+
};
|
|
4115
4263
|
return CategoryHasuraGraphQLRepository;
|
|
4116
4264
|
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4117
4265
|
|
|
4118
4266
|
var FilterHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
4119
4267
|
__extends(FilterHasuraGraphQLRepository, _super_1);
|
|
4120
|
-
function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository) {
|
|
4268
|
+
function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository, categoryFilterRepository) {
|
|
4121
4269
|
var _this = _super_1.call(this, {
|
|
4122
4270
|
tableName: 'filter',
|
|
4123
|
-
model:
|
|
4271
|
+
model: Filter,
|
|
4124
4272
|
endpoint: endpoint,
|
|
4125
4273
|
authOptions: authOptions,
|
|
4126
4274
|
fields: [
|
|
4127
4275
|
'id',
|
|
4128
4276
|
'description',
|
|
4277
|
+
'slug',
|
|
4129
4278
|
'enabled',
|
|
4130
|
-
|
|
4131
|
-
|
|
4279
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4280
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4132
4281
|
{
|
|
4133
4282
|
options: {
|
|
4134
4283
|
columnName: 'options',
|
|
@@ -4137,66 +4286,17 @@
|
|
|
4137
4286
|
'id',
|
|
4138
4287
|
{ filterId: { columnName: 'filter_id' } },
|
|
4139
4288
|
'description',
|
|
4140
|
-
|
|
4141
|
-
|
|
4289
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4290
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4142
4291
|
],
|
|
4143
4292
|
},
|
|
4144
|
-
}
|
|
4293
|
+
},
|
|
4145
4294
|
],
|
|
4146
4295
|
}) || this;
|
|
4147
4296
|
_this.filterOptionRepository = filterOptionRepository;
|
|
4297
|
+
_this.categoryFilterRepository = categoryFilterRepository;
|
|
4148
4298
|
return _this;
|
|
4149
4299
|
}
|
|
4150
|
-
FilterHasuraGraphQLRepository.prototype.get = function (identifiers) {
|
|
4151
|
-
var _super = Object.create(null, {
|
|
4152
|
-
get: { get: function () { return _super_1.prototype.get; } }
|
|
4153
|
-
});
|
|
4154
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
4155
|
-
var filter;
|
|
4156
|
-
return __generator(this, function (_a) {
|
|
4157
|
-
switch (_a.label) {
|
|
4158
|
-
case 0: return [4 /*yield*/, _super.get.call(this, identifiers)];
|
|
4159
|
-
case 1:
|
|
4160
|
-
filter = _a.sent();
|
|
4161
|
-
if (!filter)
|
|
4162
|
-
throw new NotFoundError('Filter not found');
|
|
4163
|
-
return [2 /*return*/, filter];
|
|
4164
|
-
}
|
|
4165
|
-
});
|
|
4166
|
-
});
|
|
4167
|
-
};
|
|
4168
|
-
FilterHasuraGraphQLRepository.prototype.find = function (options) {
|
|
4169
|
-
var _super = Object.create(null, {
|
|
4170
|
-
find: { get: function () { return _super_1.prototype.find; } }
|
|
4171
|
-
});
|
|
4172
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
4173
|
-
var filter;
|
|
4174
|
-
return __generator(this, function (_a) {
|
|
4175
|
-
switch (_a.label) {
|
|
4176
|
-
case 0: return [4 /*yield*/, _super.find.call(this, options)];
|
|
4177
|
-
case 1:
|
|
4178
|
-
filter = _a.sent();
|
|
4179
|
-
return [2 /*return*/, filter];
|
|
4180
|
-
}
|
|
4181
|
-
});
|
|
4182
|
-
});
|
|
4183
|
-
};
|
|
4184
|
-
FilterHasuraGraphQLRepository.prototype.create = function (params) {
|
|
4185
|
-
var _super = Object.create(null, {
|
|
4186
|
-
create: { get: function () { return _super_1.prototype.create; } }
|
|
4187
|
-
});
|
|
4188
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
4189
|
-
var filter;
|
|
4190
|
-
return __generator(this, function (_a) {
|
|
4191
|
-
switch (_a.label) {
|
|
4192
|
-
case 0: return [4 /*yield*/, _super.create.call(this, params)];
|
|
4193
|
-
case 1:
|
|
4194
|
-
filter = _a.sent();
|
|
4195
|
-
return [2 /*return*/, filter];
|
|
4196
|
-
}
|
|
4197
|
-
});
|
|
4198
|
-
});
|
|
4199
|
-
};
|
|
4200
4300
|
FilterHasuraGraphQLRepository.prototype.update = function (params) {
|
|
4201
4301
|
var _super = Object.create(null, {
|
|
4202
4302
|
update: { get: function () { return _super_1.prototype.update; } }
|
|
@@ -4219,17 +4319,16 @@
|
|
|
4219
4319
|
});
|
|
4220
4320
|
});
|
|
4221
4321
|
};
|
|
4222
|
-
;
|
|
4223
4322
|
FilterHasuraGraphQLRepository.prototype.updateOptions = function (filterId, _a) {
|
|
4224
4323
|
var options = _a.options;
|
|
4225
4324
|
return __awaiter(this, void 0, void 0, function () {
|
|
4226
|
-
var i, filterOptions, i, hasFilter, newOption;
|
|
4325
|
+
var i, filterOptions, i, hasFilter, error_1, newOption, filterOptions, i, hasFilter, error_2, newOption;
|
|
4227
4326
|
return __generator(this, function (_a) {
|
|
4228
4327
|
switch (_a.label) {
|
|
4229
4328
|
case 0:
|
|
4230
4329
|
if (!options)
|
|
4231
4330
|
return [2 /*return*/, []];
|
|
4232
|
-
if (!('action' in options && options.action === 'remove')) return [3 /*break*/, 5];
|
|
4331
|
+
if (!('action' in options && options.action === 'remove' && options.value.length)) return [3 /*break*/, 5];
|
|
4233
4332
|
i = 0;
|
|
4234
4333
|
_a.label = 1;
|
|
4235
4334
|
case 1:
|
|
@@ -4243,86 +4342,144 @@
|
|
|
4243
4342
|
return [3 /*break*/, 1];
|
|
4244
4343
|
case 4: return [2 /*return*/, []];
|
|
4245
4344
|
case 5:
|
|
4246
|
-
if (!('action' in options && options.action === '
|
|
4345
|
+
if (!('action' in options && options.action === 'merge' && options.value.length)) return [3 /*break*/, 13];
|
|
4247
4346
|
filterOptions = [];
|
|
4248
4347
|
i = 0;
|
|
4249
4348
|
_a.label = 6;
|
|
4250
4349
|
case 6:
|
|
4251
|
-
if (!(i < options.value.length)) return [3 /*break*/,
|
|
4252
|
-
|
|
4350
|
+
if (!(i < options.value.length)) return [3 /*break*/, 12];
|
|
4351
|
+
_a.label = 7;
|
|
4253
4352
|
case 7:
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
return [4 /*yield*/, this.filterOptionRepository.create(options.value[i])];
|
|
4353
|
+
_a.trys.push([7, 9, , 11]);
|
|
4354
|
+
return [4 /*yield*/, this.filterOptionRepository.get({ id: options.value[i].id })];
|
|
4257
4355
|
case 8:
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4356
|
+
hasFilter = _a.sent();
|
|
4357
|
+
if (hasFilter)
|
|
4358
|
+
filterOptions.push(hasFilter);
|
|
4359
|
+
return [3 /*break*/, 11];
|
|
4261
4360
|
case 9:
|
|
4262
|
-
|
|
4263
|
-
|
|
4361
|
+
error_1 = _a.sent();
|
|
4362
|
+
return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options.value[i]), { filterId: filterId }))];
|
|
4264
4363
|
case 10:
|
|
4364
|
+
newOption = _a.sent();
|
|
4365
|
+
filterOptions.push(newOption);
|
|
4366
|
+
return [3 /*break*/, 11];
|
|
4367
|
+
case 11:
|
|
4265
4368
|
i++;
|
|
4266
4369
|
return [3 /*break*/, 6];
|
|
4267
|
-
case
|
|
4268
|
-
case
|
|
4370
|
+
case 12: return [2 /*return*/, filterOptions];
|
|
4371
|
+
case 13:
|
|
4372
|
+
if (!(Array.isArray(options) && options.length)) return [3 /*break*/, 20];
|
|
4373
|
+
filterOptions = [];
|
|
4374
|
+
i = 0;
|
|
4375
|
+
_a.label = 14;
|
|
4376
|
+
case 14:
|
|
4377
|
+
if (!(i < options.length)) return [3 /*break*/, 20];
|
|
4378
|
+
_a.label = 15;
|
|
4379
|
+
case 15:
|
|
4380
|
+
_a.trys.push([15, 17, , 19]);
|
|
4381
|
+
return [4 /*yield*/, this.filterOptionRepository.get({ id: options[i].id })];
|
|
4382
|
+
case 16:
|
|
4383
|
+
hasFilter = _a.sent();
|
|
4384
|
+
if (hasFilter)
|
|
4385
|
+
filterOptions.push(hasFilter);
|
|
4386
|
+
return [3 /*break*/, 19];
|
|
4387
|
+
case 17:
|
|
4388
|
+
error_2 = _a.sent();
|
|
4389
|
+
return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options[i]), { filterId: filterId }))];
|
|
4390
|
+
case 18:
|
|
4391
|
+
newOption = _a.sent();
|
|
4392
|
+
filterOptions.push(newOption);
|
|
4393
|
+
return [3 /*break*/, 19];
|
|
4394
|
+
case 19:
|
|
4395
|
+
i++;
|
|
4396
|
+
return [3 /*break*/, 14];
|
|
4397
|
+
case 20: return [2 /*return*/, []];
|
|
4269
4398
|
}
|
|
4270
4399
|
});
|
|
4271
4400
|
});
|
|
4272
4401
|
};
|
|
4273
|
-
|
|
4274
|
-
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4275
|
-
|
|
4276
|
-
var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
4277
|
-
__extends(FilterOptionHasuraGraphQLRepository, _super_1);
|
|
4278
|
-
function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
|
|
4279
|
-
return _super_1.call(this, {
|
|
4280
|
-
tableName: 'filter-option',
|
|
4281
|
-
model: FilterOptionHasuraGraphQL,
|
|
4282
|
-
endpoint: endpoint,
|
|
4283
|
-
authOptions: authOptions,
|
|
4284
|
-
fields: [],
|
|
4285
|
-
}) || this;
|
|
4286
|
-
}
|
|
4287
|
-
FilterOptionHasuraGraphQLRepository.prototype.create = function (params) {
|
|
4288
|
-
return _super_1.prototype.create.call(this, params);
|
|
4289
|
-
};
|
|
4290
|
-
FilterOptionHasuraGraphQLRepository.prototype.find = function (options) {
|
|
4402
|
+
FilterHasuraGraphQLRepository.prototype.delete = function (params) {
|
|
4291
4403
|
var _super = Object.create(null, {
|
|
4292
|
-
|
|
4404
|
+
delete: { get: function () { return _super_1.prototype.delete; } }
|
|
4293
4405
|
});
|
|
4294
4406
|
return __awaiter(this, void 0, void 0, function () {
|
|
4295
|
-
var
|
|
4407
|
+
var options, data, categoryFilters;
|
|
4296
4408
|
return __generator(this, function (_a) {
|
|
4297
4409
|
switch (_a.label) {
|
|
4298
|
-
case 0:
|
|
4410
|
+
case 0:
|
|
4411
|
+
options = params.options, data = __rest(params, ["options"]);
|
|
4412
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4413
|
+
.find({
|
|
4414
|
+
filters: {
|
|
4415
|
+
filterId: +data.id,
|
|
4416
|
+
},
|
|
4417
|
+
})
|
|
4418
|
+
.then(function (result) { return result.data; })];
|
|
4299
4419
|
case 1:
|
|
4300
|
-
|
|
4301
|
-
|
|
4420
|
+
categoryFilters = _a.sent();
|
|
4421
|
+
if (categoryFilters.length)
|
|
4422
|
+
throw new Error('Erro: o filtro está associado a uma ou mais categoria(s)');
|
|
4423
|
+
return [4 /*yield*/, this.deleteOptions(options)];
|
|
4424
|
+
case 2:
|
|
4425
|
+
_a.sent();
|
|
4426
|
+
return [4 /*yield*/, _super.delete.call(this, { id: +data.id })];
|
|
4427
|
+
case 3:
|
|
4428
|
+
_a.sent();
|
|
4429
|
+
return [2 /*return*/];
|
|
4302
4430
|
}
|
|
4303
4431
|
});
|
|
4304
4432
|
});
|
|
4305
4433
|
};
|
|
4306
|
-
|
|
4307
|
-
return _super_1.prototype.delete.call(this, identifiers);
|
|
4308
|
-
};
|
|
4309
|
-
FilterOptionHasuraGraphQLRepository.prototype.findByFilter = function (filterId) {
|
|
4434
|
+
FilterHasuraGraphQLRepository.prototype.deleteOptions = function (options) {
|
|
4310
4435
|
return __awaiter(this, void 0, void 0, function () {
|
|
4311
|
-
var
|
|
4436
|
+
var i, error_3;
|
|
4312
4437
|
return __generator(this, function (_a) {
|
|
4313
4438
|
switch (_a.label) {
|
|
4314
|
-
case 0:
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
},
|
|
4318
|
-
})];
|
|
4439
|
+
case 0:
|
|
4440
|
+
i = 0;
|
|
4441
|
+
_a.label = 1;
|
|
4319
4442
|
case 1:
|
|
4320
|
-
|
|
4321
|
-
|
|
4443
|
+
if (!(i < options.length)) return [3 /*break*/, 6];
|
|
4444
|
+
_a.label = 2;
|
|
4445
|
+
case 2:
|
|
4446
|
+
_a.trys.push([2, 4, , 5]);
|
|
4447
|
+
return [4 /*yield*/, this.filterOptionRepository.delete({ id: options[i].id })];
|
|
4448
|
+
case 3:
|
|
4449
|
+
_a.sent();
|
|
4450
|
+
return [3 /*break*/, 5];
|
|
4451
|
+
case 4:
|
|
4452
|
+
error_3 = _a.sent();
|
|
4453
|
+
console.log(error_3);
|
|
4454
|
+
return [3 /*break*/, 5];
|
|
4455
|
+
case 5:
|
|
4456
|
+
i++;
|
|
4457
|
+
return [3 /*break*/, 1];
|
|
4458
|
+
case 6: return [2 /*return*/];
|
|
4322
4459
|
}
|
|
4323
4460
|
});
|
|
4324
4461
|
});
|
|
4325
4462
|
};
|
|
4463
|
+
return FilterHasuraGraphQLRepository;
|
|
4464
|
+
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4465
|
+
|
|
4466
|
+
var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super) {
|
|
4467
|
+
__extends(FilterOptionHasuraGraphQLRepository, _super);
|
|
4468
|
+
function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
|
|
4469
|
+
return _super.call(this, {
|
|
4470
|
+
tableName: 'filter_option',
|
|
4471
|
+
model: FilterOption,
|
|
4472
|
+
endpoint: endpoint,
|
|
4473
|
+
authOptions: authOptions,
|
|
4474
|
+
fields: [
|
|
4475
|
+
'id',
|
|
4476
|
+
'description',
|
|
4477
|
+
{ filterId: { columnName: 'filter_id' } },
|
|
4478
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4479
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4480
|
+
],
|
|
4481
|
+
}) || this;
|
|
4482
|
+
}
|
|
4326
4483
|
return FilterOptionHasuraGraphQLRepository;
|
|
4327
4484
|
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4328
4485
|
|
|
@@ -5194,10 +5351,6 @@
|
|
|
5194
5351
|
enumerable: true,
|
|
5195
5352
|
get: function () { return lodash.chunk; }
|
|
5196
5353
|
});
|
|
5197
|
-
Object.defineProperty(exports, 'difference', {
|
|
5198
|
-
enumerable: true,
|
|
5199
|
-
get: function () { return lodash.difference; }
|
|
5200
|
-
});
|
|
5201
5354
|
Object.defineProperty(exports, 'isBoolean', {
|
|
5202
5355
|
enumerable: true,
|
|
5203
5356
|
get: function () { return lodash.isBoolean; }
|
|
@@ -5261,6 +5414,8 @@
|
|
|
5261
5414
|
exports.Buy2Win = Buy2Win;
|
|
5262
5415
|
exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
|
|
5263
5416
|
exports.Category = Category;
|
|
5417
|
+
exports.CategoryFilter = CategoryFilter;
|
|
5418
|
+
exports.CategoryFilterHasuraGraphQLRepository = CategoryFilterHasuraGraphQLRepository;
|
|
5264
5419
|
exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
|
|
5265
5420
|
exports.CategoryHasuraGraphQL = CategoryHasuraGraphQL;
|
|
5266
5421
|
exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;
|
|
@@ -5273,10 +5428,8 @@
|
|
|
5273
5428
|
exports.DuplicatedResultsError = DuplicatedResultsError;
|
|
5274
5429
|
exports.Edition = Edition;
|
|
5275
5430
|
exports.Filter = Filter;
|
|
5276
|
-
exports.FilterHasuraGraphQL = FilterHasuraGraphQL;
|
|
5277
5431
|
exports.FilterHasuraGraphQLRepository = FilterHasuraGraphQLRepository;
|
|
5278
5432
|
exports.FilterOption = FilterOption;
|
|
5279
|
-
exports.FilterOptionHasuraGraphQL = FilterOptionHasuraGraphQL;
|
|
5280
5433
|
exports.FilterOptionHasuraGraphQLRepository = FilterOptionHasuraGraphQLRepository;
|
|
5281
5434
|
exports.Home = Home;
|
|
5282
5435
|
exports.HomeFirestoreRepository = HomeFirestoreRepository;
|