@infrab4a/connect 3.5.0-beta.3 → 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.
Files changed (87) hide show
  1. package/bundles/infrab4a-connect.umd.js +622 -153
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category-filter.d.ts +9 -0
  4. package/domain/catalog/models/category.d.ts +3 -2
  5. package/domain/catalog/models/filter-option.d.ts +10 -0
  6. package/domain/catalog/models/filter.d.ts +13 -0
  7. package/domain/catalog/models/index.d.ts +3 -0
  8. package/domain/catalog/models/product.d.ts +1 -0
  9. package/domain/catalog/models/types/index.d.ts +0 -1
  10. package/domain/catalog/repositories/category-filter.repository.d.ts +5 -0
  11. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -0
  12. package/domain/catalog/repositories/filter.repository.d.ts +4 -0
  13. package/domain/catalog/repositories/index.d.ts +3 -0
  14. package/domain/shop-settings/models/index.d.ts +1 -0
  15. package/domain/shop-settings/models/shop-settings.d.ts +9 -0
  16. package/domain/shop-settings/models/types/index.d.ts +5 -0
  17. package/domain/shop-settings/models/types/shop-banner.type.d.ts +12 -0
  18. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -0
  19. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -0
  20. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -0
  21. package/domain/shop-settings/models/types/shop-section.type.d.ts +9 -0
  22. package/domain/shop-settings/repositories/index.d.ts +1 -0
  23. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -0
  24. package/domain/shopping/models/index.d.ts +4 -5
  25. package/domain/shopping/repositories/index.d.ts +2 -4
  26. package/esm2015/domain/catalog/models/category-filter.js +10 -0
  27. package/esm2015/domain/catalog/models/category.js +8 -1
  28. package/esm2015/domain/catalog/models/filter-option.js +10 -0
  29. package/esm2015/domain/catalog/models/filter.js +10 -0
  30. package/esm2015/domain/catalog/models/index.js +4 -1
  31. package/esm2015/domain/catalog/models/product.js +1 -1
  32. package/esm2015/domain/catalog/models/types/index.js +1 -2
  33. package/esm2015/domain/catalog/repositories/category-filter.repository.js +2 -0
  34. package/esm2015/domain/catalog/repositories/filter-option.repository.js +2 -0
  35. package/esm2015/domain/catalog/repositories/filter.repository.js +2 -0
  36. package/esm2015/domain/catalog/repositories/index.js +4 -1
  37. package/esm2015/domain/shop-settings/models/index.js +2 -1
  38. package/esm2015/domain/shop-settings/models/shop-settings.js +7 -0
  39. package/esm2015/domain/shop-settings/models/types/index.js +6 -1
  40. package/esm2015/domain/shop-settings/models/types/shop-banner.type.js +2 -0
  41. package/esm2015/domain/shop-settings/models/types/shop-brands.type.js +2 -0
  42. package/esm2015/domain/shop-settings/models/types/shop-carousel.type.js +2 -0
  43. package/esm2015/domain/shop-settings/models/types/shop-collection.type.js +2 -0
  44. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +2 -0
  45. package/esm2015/domain/shop-settings/repositories/index.js +2 -1
  46. package/esm2015/domain/shop-settings/repositories/shop-settings.repository.js +2 -0
  47. package/esm2015/domain/shopping/models/index.js +5 -6
  48. package/esm2015/domain/shopping/repositories/index.js +3 -5
  49. package/esm2015/infra/elasticsearch/indexes/products-index.js +3 -2
  50. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +2 -1
  51. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +12 -0
  52. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +4 -6
  53. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
  54. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +5 -5
  55. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +24 -0
  56. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +84 -4
  57. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +123 -0
  58. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +21 -0
  59. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -1
  60. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +2 -1
  61. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
  62. package/fesm2015/infrab4a-connect.js +340 -85
  63. package/fesm2015/infrab4a-connect.js.map +1 -1
  64. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +1 -0
  65. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +8 -0
  66. package/infra/firebase/firestore/repositories/shopping/index.d.ts +3 -5
  67. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +11 -0
  68. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +4 -1
  69. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -0
  70. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -0
  71. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -0
  72. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
  73. package/package.json +1 -1
  74. package/domain/catalog/models/types/category-filter.type.d.ts +0 -4
  75. package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
  76. package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
  77. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
  78. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
  79. package/esm2015/domain/catalog/models/types/category-filter.type.js +0 -2
  80. package/esm2015/domain/shopping/models/campaign-dashboard.js +0 -7
  81. package/esm2015/domain/shopping/models/campaign-hashtag.js +0 -7
  82. package/esm2015/domain/shopping/repositories/campaign-dashboard.repository.js +0 -2
  83. package/esm2015/domain/shopping/repositories/campaign-hashtag.repository.js +0 -2
  84. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +0 -12
  85. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +0 -12
  86. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +0 -9
  87. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +0 -9
@@ -1,14 +1,13 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('reflect-metadata'), require('class-transformer'), require('date-fns'), require('lodash'), require('ts-custom-error'), require('axios'), require('firebase'), require('gql-query-builder'), require('node-fetch')) :
3
- typeof define === 'function' && define.amd ? define('@infrab4a/connect', ['exports', 'reflect-metadata', 'class-transformer', 'date-fns', 'lodash', 'ts-custom-error', 'axios', 'firebase', 'gql-query-builder', 'node-fetch'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.infrab4a = global.infrab4a || {}, global.infrab4a.connect = {}), null, global["class-transformer"], global["date-fns"], global.lodash, global["ts-custom-error"], global.axios, global.firebase, global["gql-query-builder"], global["node-fetch"]));
5
- })(this, (function (exports, reflectMetadata, classTransformer, dateFns, lodash, tsCustomError, axios, firebase, gqlQueryBuilder, fetch) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('reflect-metadata'), require('class-transformer'), require('date-fns'), require('lodash'), require('ts-custom-error'), require('axios'), require('firebase'), require('gql-query-builder')) :
3
+ typeof define === 'function' && define.amd ? define('@infrab4a/connect', ['exports', 'reflect-metadata', 'class-transformer', 'date-fns', 'lodash', 'ts-custom-error', 'axios', 'firebase', 'gql-query-builder'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.infrab4a = global.infrab4a || {}, global.infrab4a.connect = {}), null, global["class-transformer"], global["date-fns"], global.lodash, global["ts-custom-error"], global.axios, global.firebase, global["gql-query-builder"]));
5
+ })(this, (function (exports, reflectMetadata, classTransformer, dateFns, lodash, tsCustomError, axios, firebase, gqlQueryBuilder) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
9
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
10
10
  var firebase__default = /*#__PURE__*/_interopDefaultLegacy(firebase);
11
- var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
12
11
 
13
12
  var BaseModel = /** @class */ (function () {
14
13
  function BaseModel(args) {
@@ -290,7 +289,7 @@
290
289
  Status["CANCELLED"] = "Cancelado";
291
290
  })(exports.Status || (exports.Status = {}));
292
291
 
293
- /*! *****************************************************************************
292
+ /******************************************************************************
294
293
  Copyright (c) Microsoft Corporation.
295
294
 
296
295
  Permission to use, copy, modify, and/or distribute this software for any
@@ -357,6 +356,64 @@
357
356
  function __param(paramIndex, decorator) {
358
357
  return function (target, key) { decorator(target, key, paramIndex); };
359
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
+ ;
360
417
  function __metadata(metadataKey, metadataValue) {
361
418
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
362
419
  return Reflect.metadata(metadataKey, metadataValue);
@@ -388,7 +445,7 @@
388
445
  function step(op) {
389
446
  if (f)
390
447
  throw new TypeError("Generator is already executing.");
391
- while (_)
448
+ while (g && (g = 0, op[0] && (_ = 0)), _)
392
449
  try {
393
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)
394
451
  return t;
@@ -452,7 +509,11 @@
452
509
  var __createBinding = Object.create ? (function (o, m, k, k2) {
453
510
  if (k2 === undefined)
454
511
  k2 = k;
455
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
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);
456
517
  }) : (function (o, m, k, k2) {
457
518
  if (k2 === undefined)
458
519
  k2 = k;
@@ -552,7 +613,7 @@
552
613
  function __asyncDelegator(o) {
553
614
  var i, p;
554
615
  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
555
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
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; }
556
617
  }
557
618
  function __asyncValues(o) {
558
619
  if (!Symbol.asyncIterator)
@@ -606,6 +667,11 @@
606
667
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
607
668
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
608
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);
609
675
  }
610
676
 
611
677
  var Edition = /** @class */ (function (_super) {
@@ -1252,6 +1318,24 @@
1252
1318
  return RecoveryPassword;
1253
1319
  }());
1254
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
+
1255
1339
  var Category = /** @class */ (function (_super) {
1256
1340
  __extends(Category, _super);
1257
1341
  function Category() {
@@ -1268,6 +1352,28 @@
1268
1352
  configurable: true
1269
1353
  });
1270
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;
1271
1377
  }(BaseModel));
1272
1378
 
1273
1379
  exports.GenderDestination = void 0;
@@ -1285,6 +1391,24 @@
1285
1391
  Shops["ALL"] = "ALL";
1286
1392
  })(exports.Shops || (exports.Shops = {}));
1287
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
+
1288
1412
  var Product = /** @class */ (function (_super) {
1289
1413
  __extends(Product, _super);
1290
1414
  function Product() {
@@ -1348,54 +1472,17 @@
1348
1472
  return Variant;
1349
1473
  }(BaseModel));
1350
1474
 
1351
- var Buy2Win = /** @class */ (function (_super) {
1352
- __extends(Buy2Win, _super);
1353
- function Buy2Win() {
1354
- return _super !== null && _super.apply(this, arguments) || this;
1355
- }
1356
- Object.defineProperty(Buy2Win, "identifiersFields", {
1357
- get: function () {
1358
- return ['id'];
1359
- },
1360
- enumerable: false,
1361
- configurable: true
1362
- });
1363
- return Buy2Win;
1364
- }(BaseModel));
1365
- __decorate([
1366
- classTransformer.Type(function () { return Category; }),
1367
- __metadata("design:type", Array)
1368
- ], Buy2Win.prototype, "categories", void 0);
1369
-
1370
- var CampaignDashboard = /** @class */ (function (_super) {
1371
- __extends(CampaignDashboard, _super);
1372
- function CampaignDashboard() {
1373
- return _super !== null && _super.apply(this, arguments) || this;
1374
- }
1375
- Object.defineProperty(CampaignDashboard, "identifiersFields", {
1376
- get: function () {
1377
- return ['id'];
1378
- },
1379
- enumerable: false,
1380
- configurable: true
1381
- });
1382
- return CampaignDashboard;
1383
- }(BaseModel));
1384
-
1385
- var CampaignHashtag = /** @class */ (function (_super) {
1386
- __extends(CampaignHashtag, _super);
1387
- function CampaignHashtag() {
1388
- return _super !== null && _super.apply(this, arguments) || this;
1389
- }
1390
- Object.defineProperty(CampaignHashtag, "identifiersFields", {
1391
- get: function () {
1392
- return ['id'];
1393
- },
1394
- enumerable: false,
1395
- configurable: true
1396
- });
1397
- return CampaignHashtag;
1398
- }(BaseModel));
1475
+ exports.OrderStatus = void 0;
1476
+ (function (OrderStatus) {
1477
+ OrderStatus["AGUARDANDO_PAGAMENTO"] = "Aguardando pagamento";
1478
+ OrderStatus["EM_PREPARO"] = "Preparando pedido";
1479
+ OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
1480
+ OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
1481
+ OrderStatus["ENVIADO"] = "Enviado";
1482
+ OrderStatus["ENTREGUE"] = "Entregue";
1483
+ OrderStatus["CANCELADO"] = "Cancelado";
1484
+ OrderStatus["CREDIT_CARD"] = "credit_card";
1485
+ })(exports.OrderStatus || (exports.OrderStatus = {}));
1399
1486
 
1400
1487
  var LineItem = /** @class */ (function (_super) {
1401
1488
  __extends(LineItem, _super);
@@ -1459,18 +1546,6 @@
1459
1546
  __metadata("design:type", Coupon)
1460
1547
  ], Checkout.prototype, "coupon", void 0);
1461
1548
 
1462
- exports.OrderStatus = void 0;
1463
- (function (OrderStatus) {
1464
- OrderStatus["AGUARDANDO_PAGAMENTO"] = "Aguardando pagamento";
1465
- OrderStatus["EM_PREPARO"] = "Preparando pedido";
1466
- OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
1467
- OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
1468
- OrderStatus["ENVIADO"] = "Enviado";
1469
- OrderStatus["ENTREGUE"] = "Entregue";
1470
- OrderStatus["CANCELADO"] = "Cancelado";
1471
- OrderStatus["CREDIT_CARD"] = "credit_card";
1472
- })(exports.OrderStatus || (exports.OrderStatus = {}));
1473
-
1474
1549
  var Order = /** @class */ (function (_super) {
1475
1550
  __extends(Order, _super);
1476
1551
  function Order() {
@@ -1514,6 +1589,25 @@
1514
1589
  __metadata("design:type", Coupon)
1515
1590
  ], CheckoutSubscription.prototype, "coupon", void 0);
1516
1591
 
1592
+ var Buy2Win = /** @class */ (function (_super) {
1593
+ __extends(Buy2Win, _super);
1594
+ function Buy2Win() {
1595
+ return _super !== null && _super.apply(this, arguments) || this;
1596
+ }
1597
+ Object.defineProperty(Buy2Win, "identifiersFields", {
1598
+ get: function () {
1599
+ return ['id'];
1600
+ },
1601
+ enumerable: false,
1602
+ configurable: true
1603
+ });
1604
+ return Buy2Win;
1605
+ }(BaseModel));
1606
+ __decorate([
1607
+ classTransformer.Type(function () { return Category; }),
1608
+ __metadata("design:type", Array)
1609
+ ], Buy2Win.prototype, "categories", void 0);
1610
+
1517
1611
  exports.FilterType = void 0;
1518
1612
  (function (FilterType) {
1519
1613
  FilterType["ACCESSORY_IMPORTANCE"] = "accessoryImportance";
@@ -1633,6 +1727,21 @@
1633
1727
  return ShopMenu;
1634
1728
  }(BaseModel));
1635
1729
 
1730
+ var ShopSettings = /** @class */ (function (_super) {
1731
+ __extends(ShopSettings, _super);
1732
+ function ShopSettings() {
1733
+ return _super !== null && _super.apply(this, arguments) || this;
1734
+ }
1735
+ Object.defineProperty(ShopSettings, "identifiersFields", {
1736
+ get: function () {
1737
+ return ['id'];
1738
+ },
1739
+ enumerable: false,
1740
+ configurable: true
1741
+ });
1742
+ return ShopSettings;
1743
+ }(BaseModel));
1744
+
1636
1745
  var InvalidArgumentError = /** @class */ (function (_super) {
1637
1746
  __extends(InvalidArgumentError, _super);
1638
1747
  function InvalidArgumentError(message) {
@@ -1797,8 +1906,9 @@
1797
1906
  'stock',
1798
1907
  'weight',
1799
1908
  'tags',
1909
+ 'filters',
1800
1910
  'hasVariants',
1801
- 'type'
1911
+ 'type',
1802
1912
  ];
1803
1913
  return [4 /*yield*/, this.adapter.query('products/_search', Object.assign({ _source: fields, query: {
1804
1914
  bool: {
@@ -2713,42 +2823,6 @@
2713
2823
  return SubscriptionProductFirestoreRepository;
2714
2824
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2715
2825
 
2716
- var Buy2WinFirestoreRepository = /** @class */ (function (_super) {
2717
- __extends(Buy2WinFirestoreRepository, _super);
2718
- function Buy2WinFirestoreRepository(firestore) {
2719
- var _this = _super.call(this) || this;
2720
- _this.firestore = firestore;
2721
- _this.collectionName = 'buy2win';
2722
- _this.model = Buy2Win;
2723
- return _this;
2724
- }
2725
- return Buy2WinFirestoreRepository;
2726
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2727
-
2728
- var CampaignDashboardFirestoreRepository = /** @class */ (function (_super) {
2729
- __extends(CampaignDashboardFirestoreRepository, _super);
2730
- function CampaignDashboardFirestoreRepository(firestore) {
2731
- var _this = _super.call(this) || this;
2732
- _this.firestore = firestore;
2733
- _this.collectionName = 'dashboardCampaignsAuto';
2734
- _this.model = CampaignDashboard;
2735
- return _this;
2736
- }
2737
- return CampaignDashboardFirestoreRepository;
2738
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2739
-
2740
- var CampaignHashtagFirestoreRepository = /** @class */ (function (_super) {
2741
- __extends(CampaignHashtagFirestoreRepository, _super);
2742
- function CampaignHashtagFirestoreRepository(firestore) {
2743
- var _this = _super.call(this) || this;
2744
- _this.firestore = firestore;
2745
- _this.collectionName = 'hashtagCampaignsAuto';
2746
- _this.model = CampaignHashtag;
2747
- return _this;
2748
- }
2749
- return CampaignHashtagFirestoreRepository;
2750
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2751
-
2752
2826
  var CheckoutFirestoreRepository = /** @class */ (function (_super) {
2753
2827
  __extends(CheckoutFirestoreRepository, _super);
2754
2828
  function CheckoutFirestoreRepository(firestore) {
@@ -2761,18 +2835,6 @@
2761
2835
  return CheckoutFirestoreRepository;
2762
2836
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2763
2837
 
2764
- var CheckoutSubscriptionFirestoreRepository = /** @class */ (function (_super) {
2765
- __extends(CheckoutSubscriptionFirestoreRepository, _super);
2766
- function CheckoutSubscriptionFirestoreRepository(firestore) {
2767
- var _this = _super.call(this) || this;
2768
- _this.firestore = firestore;
2769
- _this.collectionName = 'checkoutsSubscription';
2770
- _this.model = CheckoutSubscription;
2771
- return _this;
2772
- }
2773
- return CheckoutSubscriptionFirestoreRepository;
2774
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2775
-
2776
2838
  var CouponFirestoreRepository = /** @class */ (function (_super) {
2777
2839
  __extends(CouponFirestoreRepository, _super);
2778
2840
  function CouponFirestoreRepository(firestore) {
@@ -2842,17 +2904,6 @@
2842
2904
  return OrderFirestoreRepository;
2843
2905
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2844
2906
 
2845
- var LegacyOrderFirestoreRepository = /** @class */ (function (_super) {
2846
- __extends(LegacyOrderFirestoreRepository, _super);
2847
- function LegacyOrderFirestoreRepository(firestore) {
2848
- var _this = _super.call(this, firestore) || this;
2849
- _this.firestore = firestore;
2850
- _this.collectionName = 'legacyOrders';
2851
- return _this;
2852
- }
2853
- return LegacyOrderFirestoreRepository;
2854
- }(OrderFirestoreRepository));
2855
-
2856
2907
  var PaymentFirestoreRepository = /** @class */ (function (_super) {
2857
2908
  __extends(PaymentFirestoreRepository, _super);
2858
2909
  function PaymentFirestoreRepository(firestore) {
@@ -2865,6 +2916,18 @@
2865
2916
  return PaymentFirestoreRepository;
2866
2917
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2867
2918
 
2919
+ var CheckoutSubscriptionFirestoreRepository = /** @class */ (function (_super) {
2920
+ __extends(CheckoutSubscriptionFirestoreRepository, _super);
2921
+ function CheckoutSubscriptionFirestoreRepository(firestore) {
2922
+ var _this = _super.call(this) || this;
2923
+ _this.firestore = firestore;
2924
+ _this.collectionName = 'checkoutsSubscription';
2925
+ _this.model = CheckoutSubscription;
2926
+ return _this;
2927
+ }
2928
+ return CheckoutSubscriptionFirestoreRepository;
2929
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2930
+
2868
2931
  var SubscriptionPlanFirestoreRepository = /** @class */ (function (_super) {
2869
2932
  __extends(SubscriptionPlanFirestoreRepository, _super);
2870
2933
  function SubscriptionPlanFirestoreRepository(firestore) {
@@ -2877,6 +2940,29 @@
2877
2940
  return SubscriptionPlanFirestoreRepository;
2878
2941
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2879
2942
 
2943
+ var Buy2WinFirestoreRepository = /** @class */ (function (_super) {
2944
+ __extends(Buy2WinFirestoreRepository, _super);
2945
+ function Buy2WinFirestoreRepository(firestore) {
2946
+ var _this = _super.call(this) || this;
2947
+ _this.firestore = firestore;
2948
+ _this.collectionName = 'buy2win';
2949
+ _this.model = Buy2Win;
2950
+ return _this;
2951
+ }
2952
+ return Buy2WinFirestoreRepository;
2953
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2954
+
2955
+ var LegacyOrderFirestoreRepository = /** @class */ (function (_super) {
2956
+ __extends(LegacyOrderFirestoreRepository, _super);
2957
+ function LegacyOrderFirestoreRepository(firestore) {
2958
+ var _this = _super.call(this, firestore) || this;
2959
+ _this.firestore = firestore;
2960
+ _this.collectionName = 'legacyOrders';
2961
+ return _this;
2962
+ }
2963
+ return LegacyOrderFirestoreRepository;
2964
+ }(OrderFirestoreRepository));
2965
+
2880
2966
  var HomeFirestoreRepository = /** @class */ (function (_super) {
2881
2967
  __extends(HomeFirestoreRepository, _super);
2882
2968
  function HomeFirestoreRepository(firestore) {
@@ -2945,6 +3031,18 @@
2945
3031
  return ShopMenuFirestoreRepository;
2946
3032
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2947
3033
 
3034
+ var ShopSettingsFirestoreRepository = /** @class */ (function (_super) {
3035
+ __extends(ShopSettingsFirestoreRepository, _super);
3036
+ function ShopSettingsFirestoreRepository(firestore) {
3037
+ var _this = _super.call(this) || this;
3038
+ _this.firestore = firestore;
3039
+ _this.collectionName = 'shopSettings';
3040
+ _this.model = ShopSettings;
3041
+ return _this;
3042
+ }
3043
+ return ShopSettingsFirestoreRepository;
3044
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
3045
+
2948
3046
  var AuthenticationFirebaseAuthService = /** @class */ (function () {
2949
3047
  function AuthenticationFirebaseAuthService(firebaseAuth) {
2950
3048
  this.firebaseAuth = firebaseAuth;
@@ -3062,7 +3160,7 @@
3062
3160
  }());
3063
3161
  AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
3064
3162
  if (fields.includes(attributeName))
3065
- return { columnName: attributeName.toString(), attributeName: attributeName };
3163
+ return { columnName: attributeName.toString(), attributeName: attributeName, to: function (value) { return value; }, from: function (value) { return value; } };
3066
3164
  var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
3067
3165
  var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
3068
3166
  if (lodash.isNil(fieldOption))
@@ -3463,21 +3561,19 @@
3463
3561
  };
3464
3562
  HasuraGraphQLMixin.prototype.fetch = function (params) {
3465
3563
  return __awaiter(this, void 0, void 0, function () {
3466
- var headers, response, result;
3564
+ var headers, result;
3467
3565
  return __generator(this, function (_a) {
3468
3566
  switch (_a.label) {
3469
3567
  case 0:
3470
3568
  headers = this.headers;
3471
- return [4 /*yield*/, fetch__default["default"]("" + this.endpoint, {
3569
+ return [4 /*yield*/, axios__default["default"]({
3570
+ url: "" + this.endpoint,
3472
3571
  method: 'POST',
3473
- body: JSON.stringify(params),
3572
+ data: params,
3474
3573
  headers: headers,
3475
3574
  })];
3476
3575
  case 1:
3477
- response = _a.sent();
3478
- return [4 /*yield*/, response.json()];
3479
- case 2:
3480
- result = _a.sent();
3576
+ result = (_a.sent()).data;
3481
3577
  if (!lodash.isNil(result.errors))
3482
3578
  throw new Error(JSON.stringify(result.errors));
3483
3579
  return [2 /*return*/, result.data];
@@ -3760,9 +3856,32 @@
3760
3856
  return VariantHasuraGraphQL;
3761
3857
  }(Variant));
3762
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
+
3763
3882
  var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
3764
3883
  __extends(CategoryHasuraGraphQLRepository, _super_1);
3765
- function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
3884
+ function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository, categoryFilterRepository) {
3766
3885
  var _this = _super_1.call(this, {
3767
3886
  tableName: 'category',
3768
3887
  model: Category,
@@ -3798,7 +3917,17 @@
3798
3917
  },
3799
3918
  },
3800
3919
  },
3801
- 'filters',
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
+ },
3802
3931
  { createdAt: { columnName: 'created_at' } },
3803
3932
  { updatedAt: { columnName: 'updated_at' } },
3804
3933
  {
@@ -3823,6 +3952,7 @@
3823
3952
  ],
3824
3953
  }) || this;
3825
3954
  _this.productRepository = productRepository;
3955
+ _this.categoryFilterRepository = categoryFilterRepository;
3826
3956
  return _this;
3827
3957
  }
3828
3958
  CategoryHasuraGraphQLRepository.prototype.create = function (params) {
@@ -3865,25 +3995,25 @@
3865
3995
  update: { get: function () { return _super_1.prototype.update; } }
3866
3996
  });
3867
3997
  return __awaiter(this, void 0, void 0, function () {
3868
- var products, checkId, metadata, data, plainData, id, category, _c, _d, _e, _f;
3869
- return __generator(this, function (_g) {
3870
- switch (_g.label) {
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) {
3871
4001
  case 0:
3872
- 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"]);
3873
4003
  plainData = this.paramsToPlain({ id: checkId });
3874
4004
  return [4 /*yield*/, this.getId(plainData.id)];
3875
4005
  case 1:
3876
- id = _g.sent();
4006
+ id = _j.sent();
3877
4007
  return [4 /*yield*/, _super.update.call(this, Object.assign({ id: id }, data))];
3878
4008
  case 2:
3879
- category = _g.sent();
4009
+ category = _j.sent();
3880
4010
  _c = category;
3881
4011
  _d = products;
3882
4012
  if (!_d) return [3 /*break*/, 4];
3883
4013
  return [4 /*yield*/, this.updateProducts(+id, { products: products })];
3884
4014
  case 3:
3885
- _d = (_g.sent());
3886
- _g.label = 4;
4015
+ _d = (_j.sent());
4016
+ _j.label = 4;
3887
4017
  case 4:
3888
4018
  _c.products = _d;
3889
4019
  _e = category;
@@ -3891,10 +4021,19 @@
3891
4021
  if (!_f) return [3 /*break*/, 6];
3892
4022
  return [4 /*yield*/, this.updateMetadata(+id, { metadata: metadata })];
3893
4023
  case 5:
3894
- _f = (_g.sent());
3895
- _g.label = 6;
4024
+ _f = (_j.sent());
4025
+ _j.label = 6;
3896
4026
  case 6:
3897
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;
3898
4037
  return [2 /*return*/, category];
3899
4038
  }
3900
4039
  });
@@ -4120,9 +4259,334 @@
4120
4259
  });
4121
4260
  });
4122
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
+ };
4123
4367
  return CategoryHasuraGraphQLRepository;
4124
4368
  }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4125
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
+
4126
4590
  var ProductHasuraGraphQLRepository = /** @class */ (function (_super_1) {
4127
4591
  __extends(ProductHasuraGraphQLRepository, _super_1);
4128
4592
  function ProductHasuraGraphQLRepository(endpoint, authOptions) {
@@ -4227,6 +4691,7 @@
4227
4691
  'weight',
4228
4692
  'gender',
4229
4693
  { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
4694
+ { filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
4230
4695
  { isKit: { columnName: 'is_kit' } },
4231
4696
  { createdAt: { columnName: 'created_at' } },
4232
4697
  { updatedAt: { columnName: 'updated_at' } },
@@ -5053,11 +5518,9 @@
5053
5518
  exports.BeautyQuestionsHelper = BeautyQuestionsHelper;
5054
5519
  exports.Buy2Win = Buy2Win;
5055
5520
  exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
5056
- exports.CampaignDashboard = CampaignDashboard;
5057
- exports.CampaignDashboardFirestoreRepository = CampaignDashboardFirestoreRepository;
5058
- exports.CampaignHashtag = CampaignHashtag;
5059
- exports.CampaignHashtagFirestoreRepository = CampaignHashtagFirestoreRepository;
5060
5521
  exports.Category = Category;
5522
+ exports.CategoryFilter = CategoryFilter;
5523
+ exports.CategoryFilterHasuraGraphQLRepository = CategoryFilterHasuraGraphQLRepository;
5061
5524
  exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
5062
5525
  exports.CategoryHasuraGraphQL = CategoryHasuraGraphQL;
5063
5526
  exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;
@@ -5069,6 +5532,10 @@
5069
5532
  exports.CouponFirestoreRepository = CouponFirestoreRepository;
5070
5533
  exports.DuplicatedResultsError = DuplicatedResultsError;
5071
5534
  exports.Edition = Edition;
5535
+ exports.Filter = Filter;
5536
+ exports.FilterHasuraGraphQLRepository = FilterHasuraGraphQLRepository;
5537
+ exports.FilterOption = FilterOption;
5538
+ exports.FilterOptionHasuraGraphQLRepository = FilterOptionHasuraGraphQLRepository;
5072
5539
  exports.Home = Home;
5073
5540
  exports.HomeFirestoreRepository = HomeFirestoreRepository;
5074
5541
  exports.InvalidArgumentError = InvalidArgumentError;
@@ -5096,6 +5563,8 @@
5096
5563
  exports.ShippingMethod = ShippingMethod;
5097
5564
  exports.ShopMenu = ShopMenu;
5098
5565
  exports.ShopMenuFirestoreRepository = ShopMenuFirestoreRepository;
5566
+ exports.ShopSettings = ShopSettings;
5567
+ exports.ShopSettingsFirestoreRepository = ShopSettingsFirestoreRepository;
5099
5568
  exports.SignOut = SignOut;
5100
5569
  exports.Subscription = Subscription;
5101
5570
  exports.SubscriptionEditionFirestoreRepository = SubscriptionEditionFirestoreRepository;