@infrab4a/connect 3.6.0-beta.0 → 3.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/infrab4a-connect.umd.js +519 -18
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category-filter.d.ts +9 -0
- package/domain/catalog/models/category.d.ts +3 -2
- package/domain/catalog/models/filter-option.d.ts +10 -0
- package/domain/catalog/models/filter.d.ts +13 -0
- package/domain/catalog/models/index.d.ts +3 -0
- package/domain/catalog/models/product.d.ts +1 -0
- package/domain/catalog/models/types/index.d.ts +0 -1
- package/domain/catalog/repositories/category-filter.repository.d.ts +5 -0
- package/domain/catalog/repositories/filter-option.repository.d.ts +4 -0
- package/domain/catalog/repositories/filter.repository.d.ts +4 -0
- package/domain/catalog/repositories/index.d.ts +3 -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 +10 -0
- package/esm2015/domain/catalog/models/filter.js +10 -0
- package/esm2015/domain/catalog/models/index.js +4 -1
- package/esm2015/domain/catalog/models/product.js +1 -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/filter-option.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/filter.repository.js +2 -0
- package/esm2015/domain/catalog/repositories/index.js +4 -1
- package/esm2015/infra/elasticsearch/indexes/products-index.js +3 -2
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
- 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 +84 -4
- package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +123 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +21 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -1
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +2 -1
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
- package/fesm2015/infrab4a-connect.js +277 -6
- package/fesm2015/infrab4a-connect.js.map +1 -1
- 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 +18 -0
- package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -0
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
- package/package.json +1 -1
- package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
- package/esm2015/domain/catalog/models/types/category-filter.type.js +0 -2
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
Status["CANCELLED"] = "Cancelado";
|
|
290
290
|
})(exports.Status || (exports.Status = {}));
|
|
291
291
|
|
|
292
|
-
|
|
292
|
+
/******************************************************************************
|
|
293
293
|
Copyright (c) Microsoft Corporation.
|
|
294
294
|
|
|
295
295
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -356,6 +356,64 @@
|
|
|
356
356
|
function __param(paramIndex, decorator) {
|
|
357
357
|
return function (target, key) { decorator(target, key, paramIndex); };
|
|
358
358
|
}
|
|
359
|
+
function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
360
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function")
|
|
361
|
+
throw new TypeError("Function expected"); return f; }
|
|
362
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
363
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
364
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
365
|
+
var _, done = false;
|
|
366
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
367
|
+
var context = {};
|
|
368
|
+
for (var p in contextIn)
|
|
369
|
+
context[p] = p === "access" ? {} : contextIn[p];
|
|
370
|
+
for (var p in contextIn.access)
|
|
371
|
+
context.access[p] = contextIn.access[p];
|
|
372
|
+
context.addInitializer = function (f) { if (done)
|
|
373
|
+
throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
374
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
375
|
+
if (kind === "accessor") {
|
|
376
|
+
if (result === void 0)
|
|
377
|
+
continue;
|
|
378
|
+
if (result === null || typeof result !== "object")
|
|
379
|
+
throw new TypeError("Object expected");
|
|
380
|
+
if (_ = accept(result.get))
|
|
381
|
+
descriptor.get = _;
|
|
382
|
+
if (_ = accept(result.set))
|
|
383
|
+
descriptor.set = _;
|
|
384
|
+
if (_ = accept(result.init))
|
|
385
|
+
initializers.push(_);
|
|
386
|
+
}
|
|
387
|
+
else if (_ = accept(result)) {
|
|
388
|
+
if (kind === "field")
|
|
389
|
+
initializers.push(_);
|
|
390
|
+
else
|
|
391
|
+
descriptor[key] = _;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
if (target)
|
|
395
|
+
Object.defineProperty(target, contextIn.name, descriptor);
|
|
396
|
+
done = true;
|
|
397
|
+
}
|
|
398
|
+
;
|
|
399
|
+
function __runInitializers(thisArg, initializers, value) {
|
|
400
|
+
var useValue = arguments.length > 2;
|
|
401
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
402
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
403
|
+
}
|
|
404
|
+
return useValue ? value : void 0;
|
|
405
|
+
}
|
|
406
|
+
;
|
|
407
|
+
function __propKey(x) {
|
|
408
|
+
return typeof x === "symbol" ? x : "".concat(x);
|
|
409
|
+
}
|
|
410
|
+
;
|
|
411
|
+
function __setFunctionName(f, name, prefix) {
|
|
412
|
+
if (typeof name === "symbol")
|
|
413
|
+
name = name.description ? "[".concat(name.description, "]") : "";
|
|
414
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
415
|
+
}
|
|
416
|
+
;
|
|
359
417
|
function __metadata(metadataKey, metadataValue) {
|
|
360
418
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
361
419
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
@@ -387,7 +445,7 @@
|
|
|
387
445
|
function step(op) {
|
|
388
446
|
if (f)
|
|
389
447
|
throw new TypeError("Generator is already executing.");
|
|
390
|
-
while (_)
|
|
448
|
+
while (g && (g = 0, op[0] && (_ = 0)), _)
|
|
391
449
|
try {
|
|
392
450
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
393
451
|
return t;
|
|
@@ -451,7 +509,11 @@
|
|
|
451
509
|
var __createBinding = Object.create ? (function (o, m, k, k2) {
|
|
452
510
|
if (k2 === undefined)
|
|
453
511
|
k2 = k;
|
|
454
|
-
Object.
|
|
512
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
513
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
514
|
+
desc = { enumerable: true, get: function () { return m[k]; } };
|
|
515
|
+
}
|
|
516
|
+
Object.defineProperty(o, k2, desc);
|
|
455
517
|
}) : (function (o, m, k, k2) {
|
|
456
518
|
if (k2 === undefined)
|
|
457
519
|
k2 = k;
|
|
@@ -551,7 +613,7 @@
|
|
|
551
613
|
function __asyncDelegator(o) {
|
|
552
614
|
var i, p;
|
|
553
615
|
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
554
|
-
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done:
|
|
616
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
|
|
555
617
|
}
|
|
556
618
|
function __asyncValues(o) {
|
|
557
619
|
if (!Symbol.asyncIterator)
|
|
@@ -605,6 +667,11 @@
|
|
|
605
667
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
606
668
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
607
669
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
670
|
+
}
|
|
671
|
+
function __classPrivateFieldIn(state, receiver) {
|
|
672
|
+
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
|
|
673
|
+
throw new TypeError("Cannot use 'in' operator on non-object");
|
|
674
|
+
return typeof state === "function" ? receiver === state : state.has(receiver);
|
|
608
675
|
}
|
|
609
676
|
|
|
610
677
|
var Edition = /** @class */ (function (_super) {
|
|
@@ -1251,6 +1318,24 @@
|
|
|
1251
1318
|
return RecoveryPassword;
|
|
1252
1319
|
}());
|
|
1253
1320
|
|
|
1321
|
+
var Filter = /** @class */ (function (_super) {
|
|
1322
|
+
__extends(Filter, _super);
|
|
1323
|
+
function Filter() {
|
|
1324
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1325
|
+
}
|
|
1326
|
+
Filter.prototype.identifierFields = function () {
|
|
1327
|
+
return ['id'];
|
|
1328
|
+
};
|
|
1329
|
+
Object.defineProperty(Filter, "identifiersFields", {
|
|
1330
|
+
get: function () {
|
|
1331
|
+
return ['id'];
|
|
1332
|
+
},
|
|
1333
|
+
enumerable: false,
|
|
1334
|
+
configurable: true
|
|
1335
|
+
});
|
|
1336
|
+
return Filter;
|
|
1337
|
+
}(BaseModel));
|
|
1338
|
+
|
|
1254
1339
|
var Category = /** @class */ (function (_super) {
|
|
1255
1340
|
__extends(Category, _super);
|
|
1256
1341
|
function Category() {
|
|
@@ -1267,6 +1352,28 @@
|
|
|
1267
1352
|
configurable: true
|
|
1268
1353
|
});
|
|
1269
1354
|
return Category;
|
|
1355
|
+
}(BaseModel));
|
|
1356
|
+
__decorate([
|
|
1357
|
+
classTransformer.Type(function () { return Filter; }),
|
|
1358
|
+
__metadata("design:type", Array)
|
|
1359
|
+
], Category.prototype, "filters", void 0);
|
|
1360
|
+
|
|
1361
|
+
var CategoryFilter = /** @class */ (function (_super) {
|
|
1362
|
+
__extends(CategoryFilter, _super);
|
|
1363
|
+
function CategoryFilter() {
|
|
1364
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1365
|
+
}
|
|
1366
|
+
Object.defineProperty(CategoryFilter, "identifiersFields", {
|
|
1367
|
+
// identifierFields(): NonFunctionPropertyNames<CategoryFilter>[] {
|
|
1368
|
+
// return ['id']
|
|
1369
|
+
// }
|
|
1370
|
+
get: function () {
|
|
1371
|
+
return ['id', 'filterId', 'categoryId'];
|
|
1372
|
+
},
|
|
1373
|
+
enumerable: false,
|
|
1374
|
+
configurable: true
|
|
1375
|
+
});
|
|
1376
|
+
return CategoryFilter;
|
|
1270
1377
|
}(BaseModel));
|
|
1271
1378
|
|
|
1272
1379
|
exports.GenderDestination = void 0;
|
|
@@ -1284,6 +1391,24 @@
|
|
|
1284
1391
|
Shops["ALL"] = "ALL";
|
|
1285
1392
|
})(exports.Shops || (exports.Shops = {}));
|
|
1286
1393
|
|
|
1394
|
+
var FilterOption = /** @class */ (function (_super) {
|
|
1395
|
+
__extends(FilterOption, _super);
|
|
1396
|
+
function FilterOption() {
|
|
1397
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1398
|
+
}
|
|
1399
|
+
FilterOption.prototype.identifierFields = function () {
|
|
1400
|
+
return ['id'];
|
|
1401
|
+
};
|
|
1402
|
+
Object.defineProperty(FilterOption, "identifiersFields", {
|
|
1403
|
+
get: function () {
|
|
1404
|
+
return ['id'];
|
|
1405
|
+
},
|
|
1406
|
+
enumerable: false,
|
|
1407
|
+
configurable: true
|
|
1408
|
+
});
|
|
1409
|
+
return FilterOption;
|
|
1410
|
+
}(BaseModel));
|
|
1411
|
+
|
|
1287
1412
|
var Product = /** @class */ (function (_super) {
|
|
1288
1413
|
__extends(Product, _super);
|
|
1289
1414
|
function Product() {
|
|
@@ -1781,8 +1906,9 @@
|
|
|
1781
1906
|
'stock',
|
|
1782
1907
|
'weight',
|
|
1783
1908
|
'tags',
|
|
1909
|
+
'filters',
|
|
1784
1910
|
'hasVariants',
|
|
1785
|
-
'type'
|
|
1911
|
+
'type',
|
|
1786
1912
|
];
|
|
1787
1913
|
return [4 /*yield*/, this.adapter.query('products/_search', Object.assign({ _source: fields, query: {
|
|
1788
1914
|
bool: {
|
|
@@ -3034,7 +3160,7 @@
|
|
|
3034
3160
|
}());
|
|
3035
3161
|
AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
|
|
3036
3162
|
if (fields.includes(attributeName))
|
|
3037
|
-
return { columnName: attributeName.toString(), attributeName: attributeName };
|
|
3163
|
+
return { columnName: attributeName.toString(), attributeName: attributeName, to: function (value) { return value; }, from: function (value) { return value; } };
|
|
3038
3164
|
var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
|
|
3039
3165
|
var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
|
|
3040
3166
|
if (lodash.isNil(fieldOption))
|
|
@@ -3730,9 +3856,32 @@
|
|
|
3730
3856
|
return VariantHasuraGraphQL;
|
|
3731
3857
|
}(Variant));
|
|
3732
3858
|
|
|
3859
|
+
var CategoryFilterHasuraGraphQLRepository = /** @class */ (function (_super) {
|
|
3860
|
+
__extends(CategoryFilterHasuraGraphQLRepository, _super);
|
|
3861
|
+
function CategoryFilterHasuraGraphQLRepository(endpoint, authOptions) {
|
|
3862
|
+
return _super.call(this, {
|
|
3863
|
+
tableName: 'category_filter',
|
|
3864
|
+
model: CategoryFilter,
|
|
3865
|
+
endpoint: endpoint,
|
|
3866
|
+
authOptions: authOptions,
|
|
3867
|
+
fields: ['id', { filterId: { columnName: 'filter_id' } }, { categoryId: { columnName: 'category_id' } }],
|
|
3868
|
+
}) || this;
|
|
3869
|
+
}
|
|
3870
|
+
CategoryFilterHasuraGraphQLRepository.prototype.deleteByCategoryAndFilter = function (categoryId, filterId) {
|
|
3871
|
+
return this.mutation('delete_category_filter', ['affected_rows'], {
|
|
3872
|
+
where: {
|
|
3873
|
+
type: 'category_filter_bool_exp',
|
|
3874
|
+
required: true,
|
|
3875
|
+
value: { category_id: { _eq: categoryId }, filter_id: { _eq: filterId } },
|
|
3876
|
+
},
|
|
3877
|
+
});
|
|
3878
|
+
};
|
|
3879
|
+
return CategoryFilterHasuraGraphQLRepository;
|
|
3880
|
+
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
3881
|
+
|
|
3733
3882
|
var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
3734
3883
|
__extends(CategoryHasuraGraphQLRepository, _super_1);
|
|
3735
|
-
function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
|
|
3884
|
+
function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository, categoryFilterRepository) {
|
|
3736
3885
|
var _this = _super_1.call(this, {
|
|
3737
3886
|
tableName: 'category',
|
|
3738
3887
|
model: Category,
|
|
@@ -3768,7 +3917,17 @@
|
|
|
3768
3917
|
},
|
|
3769
3918
|
},
|
|
3770
3919
|
},
|
|
3771
|
-
|
|
3920
|
+
{
|
|
3921
|
+
filters: {
|
|
3922
|
+
columnName: 'filters',
|
|
3923
|
+
foreignKeyColumn: { filter_id: 'id' },
|
|
3924
|
+
fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
|
|
3925
|
+
bindPersistData: function (value) { return ({
|
|
3926
|
+
filters: { data: value.map(function (filter) { return ({ filter_id: filter.id }); }) },
|
|
3927
|
+
}); },
|
|
3928
|
+
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; })) || []; },
|
|
3929
|
+
},
|
|
3930
|
+
},
|
|
3772
3931
|
{ createdAt: { columnName: 'created_at' } },
|
|
3773
3932
|
{ updatedAt: { columnName: 'updated_at' } },
|
|
3774
3933
|
{
|
|
@@ -3793,6 +3952,7 @@
|
|
|
3793
3952
|
],
|
|
3794
3953
|
}) || this;
|
|
3795
3954
|
_this.productRepository = productRepository;
|
|
3955
|
+
_this.categoryFilterRepository = categoryFilterRepository;
|
|
3796
3956
|
return _this;
|
|
3797
3957
|
}
|
|
3798
3958
|
CategoryHasuraGraphQLRepository.prototype.create = function (params) {
|
|
@@ -3835,25 +3995,25 @@
|
|
|
3835
3995
|
update: { get: function () { return _super_1.prototype.update; } }
|
|
3836
3996
|
});
|
|
3837
3997
|
return __awaiter(this, void 0, void 0, function () {
|
|
3838
|
-
var products, checkId, metadata, data, plainData, id, category, _c, _d, _e, _f;
|
|
3839
|
-
return __generator(this, function (
|
|
3840
|
-
switch (
|
|
3998
|
+
var products, checkId, metadata, filters, data, plainData, id, category, _c, _d, _e, _f, _g, _h;
|
|
3999
|
+
return __generator(this, function (_j) {
|
|
4000
|
+
switch (_j.label) {
|
|
3841
4001
|
case 0:
|
|
3842
|
-
products = params.products, checkId = params.id, metadata = params.metadata, data = __rest(params, ["products", "id", "metadata"]);
|
|
4002
|
+
products = params.products, checkId = params.id, metadata = params.metadata, filters = params.filters, data = __rest(params, ["products", "id", "metadata", "filters"]);
|
|
3843
4003
|
plainData = this.paramsToPlain({ id: checkId });
|
|
3844
4004
|
return [4 /*yield*/, this.getId(plainData.id)];
|
|
3845
4005
|
case 1:
|
|
3846
|
-
id =
|
|
4006
|
+
id = _j.sent();
|
|
3847
4007
|
return [4 /*yield*/, _super.update.call(this, Object.assign({ id: id }, data))];
|
|
3848
4008
|
case 2:
|
|
3849
|
-
category =
|
|
4009
|
+
category = _j.sent();
|
|
3850
4010
|
_c = category;
|
|
3851
4011
|
_d = products;
|
|
3852
4012
|
if (!_d) return [3 /*break*/, 4];
|
|
3853
4013
|
return [4 /*yield*/, this.updateProducts(+id, { products: products })];
|
|
3854
4014
|
case 3:
|
|
3855
|
-
_d = (
|
|
3856
|
-
|
|
4015
|
+
_d = (_j.sent());
|
|
4016
|
+
_j.label = 4;
|
|
3857
4017
|
case 4:
|
|
3858
4018
|
_c.products = _d;
|
|
3859
4019
|
_e = category;
|
|
@@ -3861,10 +4021,19 @@
|
|
|
3861
4021
|
if (!_f) return [3 /*break*/, 6];
|
|
3862
4022
|
return [4 /*yield*/, this.updateMetadata(+id, { metadata: metadata })];
|
|
3863
4023
|
case 5:
|
|
3864
|
-
_f = (
|
|
3865
|
-
|
|
4024
|
+
_f = (_j.sent());
|
|
4025
|
+
_j.label = 6;
|
|
3866
4026
|
case 6:
|
|
3867
4027
|
_e.metadata = _f;
|
|
4028
|
+
_g = category;
|
|
4029
|
+
_h = filters;
|
|
4030
|
+
if (!_h) return [3 /*break*/, 8];
|
|
4031
|
+
return [4 /*yield*/, this.updateFilters(+id, { filters: filters })];
|
|
4032
|
+
case 7:
|
|
4033
|
+
_h = (_j.sent());
|
|
4034
|
+
_j.label = 8;
|
|
4035
|
+
case 8:
|
|
4036
|
+
_g.filters = _h;
|
|
3868
4037
|
return [2 /*return*/, category];
|
|
3869
4038
|
}
|
|
3870
4039
|
});
|
|
@@ -4090,9 +4259,334 @@
|
|
|
4090
4259
|
});
|
|
4091
4260
|
});
|
|
4092
4261
|
};
|
|
4262
|
+
CategoryHasuraGraphQLRepository.prototype.updateFilters = function (categoryId, _c) {
|
|
4263
|
+
var filters = _c.filters;
|
|
4264
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4265
|
+
var i, filtersList, i, hasFilter, newCategoryFilter, error_1, filtersList, i, hasFilter, newCategoryFilter, error_2;
|
|
4266
|
+
return __generator(this, function (_c) {
|
|
4267
|
+
switch (_c.label) {
|
|
4268
|
+
case 0:
|
|
4269
|
+
if (!('action' in filters && filters.action === 'remove' && filters.value.length)) return [3 /*break*/, 5];
|
|
4270
|
+
i = 0;
|
|
4271
|
+
_c.label = 1;
|
|
4272
|
+
case 1:
|
|
4273
|
+
if (!(i < filters.value.length)) return [3 /*break*/, 4];
|
|
4274
|
+
return [4 /*yield*/, this.categoryFilterRepository.deleteByCategoryAndFilter(categoryId, filters.value[i].id)];
|
|
4275
|
+
case 2:
|
|
4276
|
+
_c.sent();
|
|
4277
|
+
_c.label = 3;
|
|
4278
|
+
case 3:
|
|
4279
|
+
i++;
|
|
4280
|
+
return [3 /*break*/, 1];
|
|
4281
|
+
case 4: return [2 /*return*/, []];
|
|
4282
|
+
case 5:
|
|
4283
|
+
if (!('action' in filters && filters.action === 'merge' && filters.value.length)) return [3 /*break*/, 15];
|
|
4284
|
+
filtersList = [];
|
|
4285
|
+
i = 0;
|
|
4286
|
+
_c.label = 6;
|
|
4287
|
+
case 6:
|
|
4288
|
+
if (!(i < filters.value.length)) return [3 /*break*/, 14];
|
|
4289
|
+
_c.label = 7;
|
|
4290
|
+
case 7:
|
|
4291
|
+
_c.trys.push([7, 12, , 13]);
|
|
4292
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4293
|
+
.find({
|
|
4294
|
+
filters: {
|
|
4295
|
+
categoryId: categoryId,
|
|
4296
|
+
filterId: filters.value[i].id,
|
|
4297
|
+
},
|
|
4298
|
+
})
|
|
4299
|
+
.then(function (data) { return data.data.shift(); })];
|
|
4300
|
+
case 8:
|
|
4301
|
+
hasFilter = _c.sent();
|
|
4302
|
+
if (!hasFilter) return [3 /*break*/, 9];
|
|
4303
|
+
filtersList.push(hasFilter);
|
|
4304
|
+
return [3 /*break*/, 11];
|
|
4305
|
+
case 9: return [4 /*yield*/, this.categoryFilterRepository.create({
|
|
4306
|
+
filterId: filters.value[i].id,
|
|
4307
|
+
categoryId: categoryId,
|
|
4308
|
+
})];
|
|
4309
|
+
case 10:
|
|
4310
|
+
newCategoryFilter = _c.sent();
|
|
4311
|
+
filtersList.push(newCategoryFilter);
|
|
4312
|
+
_c.label = 11;
|
|
4313
|
+
case 11: return [3 /*break*/, 13];
|
|
4314
|
+
case 12:
|
|
4315
|
+
error_1 = _c.sent();
|
|
4316
|
+
console.log('catch error: ', error_1);
|
|
4317
|
+
return [3 /*break*/, 13];
|
|
4318
|
+
case 13:
|
|
4319
|
+
i++;
|
|
4320
|
+
return [3 /*break*/, 6];
|
|
4321
|
+
case 14: return [2 /*return*/, filtersList];
|
|
4322
|
+
case 15:
|
|
4323
|
+
if (!(Array.isArray(filters) && filters.length)) return [3 /*break*/, 25];
|
|
4324
|
+
filtersList = [];
|
|
4325
|
+
i = 0;
|
|
4326
|
+
_c.label = 16;
|
|
4327
|
+
case 16:
|
|
4328
|
+
if (!(i < filters.length)) return [3 /*break*/, 24];
|
|
4329
|
+
_c.label = 17;
|
|
4330
|
+
case 17:
|
|
4331
|
+
_c.trys.push([17, 22, , 23]);
|
|
4332
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4333
|
+
.find({
|
|
4334
|
+
filters: {
|
|
4335
|
+
categoryId: categoryId,
|
|
4336
|
+
filterId: filters[i].id,
|
|
4337
|
+
},
|
|
4338
|
+
})
|
|
4339
|
+
.then(function (data) { return data.data.shift(); })];
|
|
4340
|
+
case 18:
|
|
4341
|
+
hasFilter = _c.sent();
|
|
4342
|
+
if (!hasFilter) return [3 /*break*/, 19];
|
|
4343
|
+
filtersList.push(hasFilter);
|
|
4344
|
+
return [3 /*break*/, 21];
|
|
4345
|
+
case 19: return [4 /*yield*/, this.categoryFilterRepository.create({
|
|
4346
|
+
filterId: filters[i].id,
|
|
4347
|
+
categoryId: categoryId,
|
|
4348
|
+
})];
|
|
4349
|
+
case 20:
|
|
4350
|
+
newCategoryFilter = _c.sent();
|
|
4351
|
+
filtersList.push(newCategoryFilter);
|
|
4352
|
+
_c.label = 21;
|
|
4353
|
+
case 21: return [3 /*break*/, 23];
|
|
4354
|
+
case 22:
|
|
4355
|
+
error_2 = _c.sent();
|
|
4356
|
+
console.log('catch error: ', error_2);
|
|
4357
|
+
return [3 /*break*/, 23];
|
|
4358
|
+
case 23:
|
|
4359
|
+
i++;
|
|
4360
|
+
return [3 /*break*/, 16];
|
|
4361
|
+
case 24: return [2 /*return*/, filtersList];
|
|
4362
|
+
case 25: return [2 /*return*/];
|
|
4363
|
+
}
|
|
4364
|
+
});
|
|
4365
|
+
});
|
|
4366
|
+
};
|
|
4093
4367
|
return CategoryHasuraGraphQLRepository;
|
|
4094
4368
|
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4095
4369
|
|
|
4370
|
+
var FilterHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
4371
|
+
__extends(FilterHasuraGraphQLRepository, _super_1);
|
|
4372
|
+
function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository, categoryFilterRepository) {
|
|
4373
|
+
var _this = _super_1.call(this, {
|
|
4374
|
+
tableName: 'filter',
|
|
4375
|
+
model: Filter,
|
|
4376
|
+
endpoint: endpoint,
|
|
4377
|
+
authOptions: authOptions,
|
|
4378
|
+
fields: [
|
|
4379
|
+
'id',
|
|
4380
|
+
'description',
|
|
4381
|
+
'slug',
|
|
4382
|
+
'enabled',
|
|
4383
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4384
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4385
|
+
{
|
|
4386
|
+
options: {
|
|
4387
|
+
columnName: 'options',
|
|
4388
|
+
foreignKeyColumn: { filterId: 'id' },
|
|
4389
|
+
fields: [
|
|
4390
|
+
'id',
|
|
4391
|
+
{ filterId: { columnName: 'filter_id' } },
|
|
4392
|
+
'description',
|
|
4393
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4394
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4395
|
+
],
|
|
4396
|
+
},
|
|
4397
|
+
},
|
|
4398
|
+
],
|
|
4399
|
+
}) || this;
|
|
4400
|
+
_this.filterOptionRepository = filterOptionRepository;
|
|
4401
|
+
_this.categoryFilterRepository = categoryFilterRepository;
|
|
4402
|
+
return _this;
|
|
4403
|
+
}
|
|
4404
|
+
FilterHasuraGraphQLRepository.prototype.update = function (params) {
|
|
4405
|
+
var _super = Object.create(null, {
|
|
4406
|
+
update: { get: function () { return _super_1.prototype.update; } }
|
|
4407
|
+
});
|
|
4408
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4409
|
+
var options, data, filter, _a;
|
|
4410
|
+
return __generator(this, function (_b) {
|
|
4411
|
+
switch (_b.label) {
|
|
4412
|
+
case 0:
|
|
4413
|
+
options = params.options, data = __rest(params, ["options"]);
|
|
4414
|
+
return [4 /*yield*/, _super.update.call(this, data)];
|
|
4415
|
+
case 1:
|
|
4416
|
+
filter = _b.sent();
|
|
4417
|
+
_a = filter;
|
|
4418
|
+
return [4 /*yield*/, this.updateOptions(+data.id, { options: options })];
|
|
4419
|
+
case 2:
|
|
4420
|
+
_a.options = _b.sent();
|
|
4421
|
+
return [2 /*return*/, filter];
|
|
4422
|
+
}
|
|
4423
|
+
});
|
|
4424
|
+
});
|
|
4425
|
+
};
|
|
4426
|
+
FilterHasuraGraphQLRepository.prototype.updateOptions = function (filterId, _a) {
|
|
4427
|
+
var options = _a.options;
|
|
4428
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4429
|
+
var i, filterOptions, i, hasFilter, error_1, newOption, filterOptions, i, hasFilter, error_2, newOption;
|
|
4430
|
+
return __generator(this, function (_a) {
|
|
4431
|
+
switch (_a.label) {
|
|
4432
|
+
case 0:
|
|
4433
|
+
if (!options)
|
|
4434
|
+
return [2 /*return*/, []];
|
|
4435
|
+
if (!('action' in options && options.action === 'remove' && options.value.length)) return [3 /*break*/, 5];
|
|
4436
|
+
i = 0;
|
|
4437
|
+
_a.label = 1;
|
|
4438
|
+
case 1:
|
|
4439
|
+
if (!(i < options.value.length)) return [3 /*break*/, 4];
|
|
4440
|
+
return [4 /*yield*/, this.filterOptionRepository.delete({ id: options.value[i].id })];
|
|
4441
|
+
case 2:
|
|
4442
|
+
_a.sent();
|
|
4443
|
+
_a.label = 3;
|
|
4444
|
+
case 3:
|
|
4445
|
+
i++;
|
|
4446
|
+
return [3 /*break*/, 1];
|
|
4447
|
+
case 4: return [2 /*return*/, []];
|
|
4448
|
+
case 5:
|
|
4449
|
+
if (!('action' in options && options.action === 'merge' && options.value.length)) return [3 /*break*/, 13];
|
|
4450
|
+
filterOptions = [];
|
|
4451
|
+
i = 0;
|
|
4452
|
+
_a.label = 6;
|
|
4453
|
+
case 6:
|
|
4454
|
+
if (!(i < options.value.length)) return [3 /*break*/, 12];
|
|
4455
|
+
_a.label = 7;
|
|
4456
|
+
case 7:
|
|
4457
|
+
_a.trys.push([7, 9, , 11]);
|
|
4458
|
+
return [4 /*yield*/, this.filterOptionRepository.get({ id: options.value[i].id })];
|
|
4459
|
+
case 8:
|
|
4460
|
+
hasFilter = _a.sent();
|
|
4461
|
+
if (hasFilter)
|
|
4462
|
+
filterOptions.push(hasFilter);
|
|
4463
|
+
return [3 /*break*/, 11];
|
|
4464
|
+
case 9:
|
|
4465
|
+
error_1 = _a.sent();
|
|
4466
|
+
return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options.value[i]), { filterId: filterId }))];
|
|
4467
|
+
case 10:
|
|
4468
|
+
newOption = _a.sent();
|
|
4469
|
+
filterOptions.push(newOption);
|
|
4470
|
+
return [3 /*break*/, 11];
|
|
4471
|
+
case 11:
|
|
4472
|
+
i++;
|
|
4473
|
+
return [3 /*break*/, 6];
|
|
4474
|
+
case 12: return [2 /*return*/, filterOptions];
|
|
4475
|
+
case 13:
|
|
4476
|
+
if (!(Array.isArray(options) && options.length)) return [3 /*break*/, 20];
|
|
4477
|
+
filterOptions = [];
|
|
4478
|
+
i = 0;
|
|
4479
|
+
_a.label = 14;
|
|
4480
|
+
case 14:
|
|
4481
|
+
if (!(i < options.length)) return [3 /*break*/, 20];
|
|
4482
|
+
_a.label = 15;
|
|
4483
|
+
case 15:
|
|
4484
|
+
_a.trys.push([15, 17, , 19]);
|
|
4485
|
+
return [4 /*yield*/, this.filterOptionRepository.get({ id: options[i].id })];
|
|
4486
|
+
case 16:
|
|
4487
|
+
hasFilter = _a.sent();
|
|
4488
|
+
if (hasFilter)
|
|
4489
|
+
filterOptions.push(hasFilter);
|
|
4490
|
+
return [3 /*break*/, 19];
|
|
4491
|
+
case 17:
|
|
4492
|
+
error_2 = _a.sent();
|
|
4493
|
+
return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options[i]), { filterId: filterId }))];
|
|
4494
|
+
case 18:
|
|
4495
|
+
newOption = _a.sent();
|
|
4496
|
+
filterOptions.push(newOption);
|
|
4497
|
+
return [3 /*break*/, 19];
|
|
4498
|
+
case 19:
|
|
4499
|
+
i++;
|
|
4500
|
+
return [3 /*break*/, 14];
|
|
4501
|
+
case 20: return [2 /*return*/, []];
|
|
4502
|
+
}
|
|
4503
|
+
});
|
|
4504
|
+
});
|
|
4505
|
+
};
|
|
4506
|
+
FilterHasuraGraphQLRepository.prototype.delete = function (params) {
|
|
4507
|
+
var _super = Object.create(null, {
|
|
4508
|
+
delete: { get: function () { return _super_1.prototype.delete; } }
|
|
4509
|
+
});
|
|
4510
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4511
|
+
var options, data, categoryFilters;
|
|
4512
|
+
return __generator(this, function (_a) {
|
|
4513
|
+
switch (_a.label) {
|
|
4514
|
+
case 0:
|
|
4515
|
+
options = params.options, data = __rest(params, ["options"]);
|
|
4516
|
+
return [4 /*yield*/, this.categoryFilterRepository
|
|
4517
|
+
.find({
|
|
4518
|
+
filters: {
|
|
4519
|
+
filterId: +data.id,
|
|
4520
|
+
},
|
|
4521
|
+
})
|
|
4522
|
+
.then(function (result) { return result.data; })];
|
|
4523
|
+
case 1:
|
|
4524
|
+
categoryFilters = _a.sent();
|
|
4525
|
+
if (categoryFilters.length)
|
|
4526
|
+
throw new Error('Erro: o filtro está associado a uma ou mais categoria(s)');
|
|
4527
|
+
return [4 /*yield*/, this.deleteOptions(options)];
|
|
4528
|
+
case 2:
|
|
4529
|
+
_a.sent();
|
|
4530
|
+
return [4 /*yield*/, _super.delete.call(this, { id: +data.id })];
|
|
4531
|
+
case 3:
|
|
4532
|
+
_a.sent();
|
|
4533
|
+
return [2 /*return*/];
|
|
4534
|
+
}
|
|
4535
|
+
});
|
|
4536
|
+
});
|
|
4537
|
+
};
|
|
4538
|
+
FilterHasuraGraphQLRepository.prototype.deleteOptions = function (options) {
|
|
4539
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4540
|
+
var i, error_3;
|
|
4541
|
+
return __generator(this, function (_a) {
|
|
4542
|
+
switch (_a.label) {
|
|
4543
|
+
case 0:
|
|
4544
|
+
i = 0;
|
|
4545
|
+
_a.label = 1;
|
|
4546
|
+
case 1:
|
|
4547
|
+
if (!(i < options.length)) return [3 /*break*/, 6];
|
|
4548
|
+
_a.label = 2;
|
|
4549
|
+
case 2:
|
|
4550
|
+
_a.trys.push([2, 4, , 5]);
|
|
4551
|
+
return [4 /*yield*/, this.filterOptionRepository.delete({ id: options[i].id })];
|
|
4552
|
+
case 3:
|
|
4553
|
+
_a.sent();
|
|
4554
|
+
return [3 /*break*/, 5];
|
|
4555
|
+
case 4:
|
|
4556
|
+
error_3 = _a.sent();
|
|
4557
|
+
console.log(error_3);
|
|
4558
|
+
return [3 /*break*/, 5];
|
|
4559
|
+
case 5:
|
|
4560
|
+
i++;
|
|
4561
|
+
return [3 /*break*/, 1];
|
|
4562
|
+
case 6: return [2 /*return*/];
|
|
4563
|
+
}
|
|
4564
|
+
});
|
|
4565
|
+
});
|
|
4566
|
+
};
|
|
4567
|
+
return FilterHasuraGraphQLRepository;
|
|
4568
|
+
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4569
|
+
|
|
4570
|
+
var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super) {
|
|
4571
|
+
__extends(FilterOptionHasuraGraphQLRepository, _super);
|
|
4572
|
+
function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
|
|
4573
|
+
return _super.call(this, {
|
|
4574
|
+
tableName: 'filter_option',
|
|
4575
|
+
model: FilterOption,
|
|
4576
|
+
endpoint: endpoint,
|
|
4577
|
+
authOptions: authOptions,
|
|
4578
|
+
fields: [
|
|
4579
|
+
'id',
|
|
4580
|
+
'description',
|
|
4581
|
+
{ filterId: { columnName: 'filter_id' } },
|
|
4582
|
+
{ createdAt: { columnName: 'created_at' } },
|
|
4583
|
+
{ updatedAt: { columnName: 'updated_at' } },
|
|
4584
|
+
],
|
|
4585
|
+
}) || this;
|
|
4586
|
+
}
|
|
4587
|
+
return FilterOptionHasuraGraphQLRepository;
|
|
4588
|
+
}(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
|
|
4589
|
+
|
|
4096
4590
|
var ProductHasuraGraphQLRepository = /** @class */ (function (_super_1) {
|
|
4097
4591
|
__extends(ProductHasuraGraphQLRepository, _super_1);
|
|
4098
4592
|
function ProductHasuraGraphQLRepository(endpoint, authOptions) {
|
|
@@ -4197,6 +4691,7 @@
|
|
|
4197
4691
|
'weight',
|
|
4198
4692
|
'gender',
|
|
4199
4693
|
{ tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
|
|
4694
|
+
{ filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
|
|
4200
4695
|
{ isKit: { columnName: 'is_kit' } },
|
|
4201
4696
|
{ createdAt: { columnName: 'created_at' } },
|
|
4202
4697
|
{ updatedAt: { columnName: 'updated_at' } },
|
|
@@ -5024,6 +5519,8 @@
|
|
|
5024
5519
|
exports.Buy2Win = Buy2Win;
|
|
5025
5520
|
exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
|
|
5026
5521
|
exports.Category = Category;
|
|
5522
|
+
exports.CategoryFilter = CategoryFilter;
|
|
5523
|
+
exports.CategoryFilterHasuraGraphQLRepository = CategoryFilterHasuraGraphQLRepository;
|
|
5027
5524
|
exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
|
|
5028
5525
|
exports.CategoryHasuraGraphQL = CategoryHasuraGraphQL;
|
|
5029
5526
|
exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;
|
|
@@ -5035,6 +5532,10 @@
|
|
|
5035
5532
|
exports.CouponFirestoreRepository = CouponFirestoreRepository;
|
|
5036
5533
|
exports.DuplicatedResultsError = DuplicatedResultsError;
|
|
5037
5534
|
exports.Edition = Edition;
|
|
5535
|
+
exports.Filter = Filter;
|
|
5536
|
+
exports.FilterHasuraGraphQLRepository = FilterHasuraGraphQLRepository;
|
|
5537
|
+
exports.FilterOption = FilterOption;
|
|
5538
|
+
exports.FilterOptionHasuraGraphQLRepository = FilterOptionHasuraGraphQLRepository;
|
|
5038
5539
|
exports.Home = Home;
|
|
5039
5540
|
exports.HomeFirestoreRepository = HomeFirestoreRepository;
|
|
5040
5541
|
exports.InvalidArgumentError = InvalidArgumentError;
|