@infrab4a/connect 3.4.0-beta.9 → 3.4.3-beta.0

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 (67) hide show
  1. package/bundles/infrab4a-connect.umd.js +276 -565
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category.d.ts +2 -3
  4. package/domain/catalog/models/index.d.ts +0 -3
  5. package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
  6. package/domain/catalog/models/types/index.d.ts +1 -0
  7. package/domain/catalog/repositories/index.d.ts +0 -3
  8. package/domain/generic/repository/find.repository.d.ts +3 -0
  9. package/domain/shopping/models/campaign-dashboard.d.ts +15 -0
  10. package/domain/shopping/models/campaign-hashtag.d.ts +18 -0
  11. package/domain/shopping/models/index.d.ts +5 -4
  12. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -0
  13. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -0
  14. package/domain/shopping/repositories/index.d.ts +4 -2
  15. package/esm2015/domain/catalog/models/category.js +1 -8
  16. package/esm2015/domain/catalog/models/index.js +1 -4
  17. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
  18. package/esm2015/domain/catalog/models/types/index.js +2 -1
  19. package/esm2015/domain/catalog/repositories/index.js +1 -4
  20. package/esm2015/domain/generic/repository/find.repository.js +1 -1
  21. package/esm2015/domain/shopping/models/campaign-dashboard.js +7 -0
  22. package/esm2015/domain/shopping/models/campaign-hashtag.js +7 -0
  23. package/esm2015/domain/shopping/models/index.js +6 -5
  24. package/esm2015/domain/shopping/repositories/campaign-dashboard.repository.js +2 -0
  25. package/esm2015/domain/shopping/repositories/campaign-hashtag.repository.js +2 -0
  26. package/esm2015/domain/shopping/repositories/index.js +5 -3
  27. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +5 -3
  28. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +12 -0
  29. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +12 -0
  30. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +6 -4
  31. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -2
  32. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +17 -12
  33. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +5 -5
  34. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +12 -84
  35. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +1 -4
  36. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +7 -4
  37. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +2 -2
  38. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
  39. package/fesm2015/infrab4a-connect.js +118 -331
  40. package/fesm2015/infrab4a-connect.js.map +1 -1
  41. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +2 -2
  42. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +9 -0
  43. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +9 -0
  44. package/infra/firebase/firestore/repositories/shopping/index.d.ts +5 -3
  45. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +4 -9
  46. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +1 -4
  47. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -3
  48. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +1 -1
  49. package/package.json +2 -2
  50. package/domain/catalog/models/category-filter.d.ts +0 -8
  51. package/domain/catalog/models/filter-option.d.ts +0 -10
  52. package/domain/catalog/models/filter.d.ts +0 -13
  53. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -4
  54. package/domain/catalog/repositories/filter-option.repository.d.ts +0 -4
  55. package/domain/catalog/repositories/filter.repository.d.ts +0 -4
  56. package/esm2015/domain/catalog/models/category-filter.js +0 -10
  57. package/esm2015/domain/catalog/models/filter-option.js +0 -10
  58. package/esm2015/domain/catalog/models/filter.js +0 -10
  59. package/esm2015/domain/catalog/repositories/category-filter.repository.js +0 -2
  60. package/esm2015/domain/catalog/repositories/filter-option.repository.js +0 -2
  61. package/esm2015/domain/catalog/repositories/filter.repository.js +0 -2
  62. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +0 -15
  63. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +0 -123
  64. package/esm2015/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +0 -21
  65. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -10
  66. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +0 -18
  67. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +0 -10
@@ -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,24 +1318,6 @@
1252
1318
  return RecoveryPassword;
1253
1319
  }());
1254
1320
 
1255
- var Filter = /** @class */ (function (_super) {
1256
- __extends(Filter, _super);
1257
- function Filter() {
1258
- return _super !== null && _super.apply(this, arguments) || this;
1259
- }
1260
- Filter.prototype.identifierFields = function () {
1261
- return ['id'];
1262
- };
1263
- Object.defineProperty(Filter, "identifiersFields", {
1264
- get: function () {
1265
- return ['id'];
1266
- },
1267
- enumerable: false,
1268
- configurable: true
1269
- });
1270
- return Filter;
1271
- }(BaseModel));
1272
-
1273
1321
  var Category = /** @class */ (function (_super) {
1274
1322
  __extends(Category, _super);
1275
1323
  function Category() {
@@ -1286,28 +1334,6 @@
1286
1334
  configurable: true
1287
1335
  });
1288
1336
  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;
1311
1337
  }(BaseModel));
1312
1338
 
1313
1339
  exports.GenderDestination = void 0;
@@ -1325,24 +1351,6 @@
1325
1351
  Shops["ALL"] = "ALL";
1326
1352
  })(exports.Shops || (exports.Shops = {}));
1327
1353
 
1328
- var FilterOption = /** @class */ (function (_super) {
1329
- __extends(FilterOption, _super);
1330
- function FilterOption() {
1331
- return _super !== null && _super.apply(this, arguments) || this;
1332
- }
1333
- FilterOption.prototype.identifierFields = function () {
1334
- return ['id'];
1335
- };
1336
- Object.defineProperty(FilterOption, "identifiersFields", {
1337
- get: function () {
1338
- return ['id'];
1339
- },
1340
- enumerable: false,
1341
- configurable: true
1342
- });
1343
- return FilterOption;
1344
- }(BaseModel));
1345
-
1346
1354
  var Product = /** @class */ (function (_super) {
1347
1355
  __extends(Product, _super);
1348
1356
  function Product() {
@@ -1406,17 +1414,54 @@
1406
1414
  return Variant;
1407
1415
  }(BaseModel));
1408
1416
 
1409
- exports.OrderStatus = void 0;
1410
- (function (OrderStatus) {
1411
- OrderStatus["AGUARDANDO_PAGAMENTO"] = "Aguardando pagamento";
1412
- OrderStatus["EM_PREPARO"] = "Preparando pedido";
1413
- OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
1414
- OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
1415
- OrderStatus["ENVIADO"] = "Enviado";
1416
- OrderStatus["ENTREGUE"] = "Entregue";
1417
- OrderStatus["CANCELADO"] = "Cancelado";
1418
- OrderStatus["CREDIT_CARD"] = "credit_card";
1419
- })(exports.OrderStatus || (exports.OrderStatus = {}));
1417
+ var Buy2Win = /** @class */ (function (_super) {
1418
+ __extends(Buy2Win, _super);
1419
+ function Buy2Win() {
1420
+ return _super !== null && _super.apply(this, arguments) || this;
1421
+ }
1422
+ Object.defineProperty(Buy2Win, "identifiersFields", {
1423
+ get: function () {
1424
+ return ['id'];
1425
+ },
1426
+ enumerable: false,
1427
+ configurable: true
1428
+ });
1429
+ return Buy2Win;
1430
+ }(BaseModel));
1431
+ __decorate([
1432
+ classTransformer.Type(function () { return Category; }),
1433
+ __metadata("design:type", Array)
1434
+ ], Buy2Win.prototype, "categories", void 0);
1435
+
1436
+ var CampaignDashboard = /** @class */ (function (_super) {
1437
+ __extends(CampaignDashboard, _super);
1438
+ function CampaignDashboard() {
1439
+ return _super !== null && _super.apply(this, arguments) || this;
1440
+ }
1441
+ Object.defineProperty(CampaignDashboard, "identifiersFields", {
1442
+ get: function () {
1443
+ return ['id'];
1444
+ },
1445
+ enumerable: false,
1446
+ configurable: true
1447
+ });
1448
+ return CampaignDashboard;
1449
+ }(BaseModel));
1450
+
1451
+ var CampaignHashtag = /** @class */ (function (_super) {
1452
+ __extends(CampaignHashtag, _super);
1453
+ function CampaignHashtag() {
1454
+ return _super !== null && _super.apply(this, arguments) || this;
1455
+ }
1456
+ Object.defineProperty(CampaignHashtag, "identifiersFields", {
1457
+ get: function () {
1458
+ return ['id'];
1459
+ },
1460
+ enumerable: false,
1461
+ configurable: true
1462
+ });
1463
+ return CampaignHashtag;
1464
+ }(BaseModel));
1420
1465
 
1421
1466
  var LineItem = /** @class */ (function (_super) {
1422
1467
  __extends(LineItem, _super);
@@ -1480,6 +1525,18 @@
1480
1525
  __metadata("design:type", Coupon)
1481
1526
  ], Checkout.prototype, "coupon", void 0);
1482
1527
 
1528
+ exports.OrderStatus = void 0;
1529
+ (function (OrderStatus) {
1530
+ OrderStatus["AGUARDANDO_PAGAMENTO"] = "Aguardando pagamento";
1531
+ OrderStatus["EM_PREPARO"] = "Preparando pedido";
1532
+ OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
1533
+ OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
1534
+ OrderStatus["ENVIADO"] = "Enviado";
1535
+ OrderStatus["ENTREGUE"] = "Entregue";
1536
+ OrderStatus["CANCELADO"] = "Cancelado";
1537
+ OrderStatus["CREDIT_CARD"] = "credit_card";
1538
+ })(exports.OrderStatus || (exports.OrderStatus = {}));
1539
+
1483
1540
  var Order = /** @class */ (function (_super) {
1484
1541
  __extends(Order, _super);
1485
1542
  function Order() {
@@ -1523,25 +1580,6 @@
1523
1580
  __metadata("design:type", Coupon)
1524
1581
  ], CheckoutSubscription.prototype, "coupon", void 0);
1525
1582
 
1526
- var Buy2Win = /** @class */ (function (_super) {
1527
- __extends(Buy2Win, _super);
1528
- function Buy2Win() {
1529
- return _super !== null && _super.apply(this, arguments) || this;
1530
- }
1531
- Object.defineProperty(Buy2Win, "identifiersFields", {
1532
- get: function () {
1533
- return ['id'];
1534
- },
1535
- enumerable: false,
1536
- configurable: true
1537
- });
1538
- return Buy2Win;
1539
- }(BaseModel));
1540
- __decorate([
1541
- classTransformer.Type(function () { return Category; }),
1542
- __metadata("design:type", Array)
1543
- ], Buy2Win.prototype, "categories", void 0);
1544
-
1545
1583
  exports.FilterType = void 0;
1546
1584
  (function (FilterType) {
1547
1585
  FilterType["ACCESSORY_IMPORTANCE"] = "accessoryImportance";
@@ -2086,35 +2124,37 @@
2086
2124
  };
2087
2125
  return _this;
2088
2126
  }
2089
- FindFirestore.prototype.find = function (_a) {
2090
- var _b = _a === void 0 ? {} : _a, filters = _b.filters, limits = _b.limits, orderBy = _b.orderBy;
2127
+ FindFirestore.prototype.find = function (_b) {
2128
+ var _c = _b === void 0 ? {} : _b, filters = _c.filters, limits = _c.limits, orderBy = _c.orderBy, options = _c.options;
2129
+ var _a;
2091
2130
  return __awaiter(this, void 0, void 0, function () {
2092
- var orderByKeys, query, filtersKeysWithUnordered, docs, data;
2093
- return __generator(this, function (_a) {
2094
- switch (_a.label) {
2131
+ var orderByKeys, enableCount, query, filtersKeysWithUnordered, docs, data;
2132
+ return __generator(this, function (_b) {
2133
+ switch (_b.label) {
2095
2134
  case 0:
2096
2135
  orderByKeys = Object.keys(orderBy || {});
2136
+ enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
2097
2137
  query = this.collection(this.buildCollectionPathForFind(filters || {}));
2098
2138
  query = this.makeFirestoreWhere(query, filters || {});
2099
2139
  if (orderByKeys.length) {
2100
2140
  filtersKeysWithUnordered = Object.keys(filters || {}).filter(function (filterKey) { return !orderByKeys.includes(filterKey); });
2101
2141
  if (filtersKeysWithUnordered.length)
2102
2142
  filtersKeysWithUnordered.forEach(function (filterKey) {
2103
- var _a;
2104
- return (orderBy = Object.assign(Object.assign({}, (![exports.Where.EQUALS].includes(filters[filterKey].operator) ? (_a = {}, _a[filterKey] = 'asc', _a) : {})), orderBy));
2143
+ var _b;
2144
+ return (orderBy = Object.assign(Object.assign({}, (![exports.Where.EQUALS].includes(filters[filterKey].operator) ? (_b = {}, _b[filterKey] = 'asc', _b) : {})), orderBy));
2105
2145
  });
2106
2146
  Object.keys(orderBy).forEach(function (fieldName) { return (query = query.orderBy(fieldName, orderBy[fieldName])); });
2107
2147
  }
2108
2148
  return [4 /*yield*/, this.defineLimits(query, filters, limits)];
2109
2149
  case 1:
2110
- query = _a.sent();
2150
+ query = _b.sent();
2111
2151
  return [4 /*yield*/, query.get()];
2112
2152
  case 2:
2113
- docs = _a.sent();
2153
+ docs = _b.sent();
2114
2154
  data = docs.docs.map(function (doc) { return doc.data(); });
2115
2155
  return [2 /*return*/, {
2116
2156
  data: data,
2117
- count: this.calculateCount(data, limits),
2157
+ count: enableCount ? this.calculateCount(data, limits) : Infinity,
2118
2158
  }];
2119
2159
  }
2120
2160
  });
@@ -2129,23 +2169,23 @@
2129
2169
  };
2130
2170
  FindFirestore.prototype.defineLimits = function (query, filters, limits) {
2131
2171
  return __awaiter(this, void 0, void 0, function () {
2132
- var _a, _b;
2133
- return __generator(this, function (_c) {
2134
- switch (_c.label) {
2172
+ var _b, _c;
2173
+ return __generator(this, function (_d) {
2174
+ switch (_d.label) {
2135
2175
  case 0:
2136
2176
  if (!(limits === null || limits === void 0 ? void 0 : limits.offset)) return [3 /*break*/, 3];
2137
2177
  if (!this.model.isModel(limits.offset)) return [3 /*break*/, 2];
2138
- _b = (_a = query).startAfter;
2178
+ _c = (_b = query).startAfter;
2139
2179
  return [4 /*yield*/, this.collection(this.buildCollectionPathForFind(filters))
2140
2180
  .doc(limits.offset[limits.offset.identifiersFields.shift()])
2141
2181
  .get()];
2142
2182
  case 1:
2143
- query = _b.apply(_a, [_c.sent()]);
2183
+ query = _c.apply(_b, [_d.sent()]);
2144
2184
  return [3 /*break*/, 3];
2145
2185
  case 2:
2146
2186
  if (lodash.isNumber(limits.offset) || lodash.isString(limits.offset))
2147
2187
  query = query.startAt(limits.offset);
2148
- _c.label = 3;
2188
+ _d.label = 3;
2149
2189
  case 3:
2150
2190
  if (limits === null || limits === void 0 ? void 0 : limits.limit)
2151
2191
  query = query.limit(limits.limit);
@@ -2739,6 +2779,42 @@
2739
2779
  return SubscriptionProductFirestoreRepository;
2740
2780
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2741
2781
 
2782
+ var Buy2WinFirestoreRepository = /** @class */ (function (_super) {
2783
+ __extends(Buy2WinFirestoreRepository, _super);
2784
+ function Buy2WinFirestoreRepository(firestore) {
2785
+ var _this = _super.call(this) || this;
2786
+ _this.firestore = firestore;
2787
+ _this.collectionName = 'buy2win';
2788
+ _this.model = Buy2Win;
2789
+ return _this;
2790
+ }
2791
+ return Buy2WinFirestoreRepository;
2792
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2793
+
2794
+ var CampaignDashboardFirestoreRepository = /** @class */ (function (_super) {
2795
+ __extends(CampaignDashboardFirestoreRepository, _super);
2796
+ function CampaignDashboardFirestoreRepository(firestore) {
2797
+ var _this = _super.call(this) || this;
2798
+ _this.firestore = firestore;
2799
+ _this.collectionName = 'dashboardCampaignsAuto';
2800
+ _this.model = CampaignDashboard;
2801
+ return _this;
2802
+ }
2803
+ return CampaignDashboardFirestoreRepository;
2804
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2805
+
2806
+ var CampaignHashtagFirestoreRepository = /** @class */ (function (_super) {
2807
+ __extends(CampaignHashtagFirestoreRepository, _super);
2808
+ function CampaignHashtagFirestoreRepository(firestore) {
2809
+ var _this = _super.call(this) || this;
2810
+ _this.firestore = firestore;
2811
+ _this.collectionName = 'hashtagCampaignsAuto';
2812
+ _this.model = CampaignHashtag;
2813
+ return _this;
2814
+ }
2815
+ return CampaignHashtagFirestoreRepository;
2816
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2817
+
2742
2818
  var CheckoutFirestoreRepository = /** @class */ (function (_super) {
2743
2819
  __extends(CheckoutFirestoreRepository, _super);
2744
2820
  function CheckoutFirestoreRepository(firestore) {
@@ -2751,6 +2827,18 @@
2751
2827
  return CheckoutFirestoreRepository;
2752
2828
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2753
2829
 
2830
+ var CheckoutSubscriptionFirestoreRepository = /** @class */ (function (_super) {
2831
+ __extends(CheckoutSubscriptionFirestoreRepository, _super);
2832
+ function CheckoutSubscriptionFirestoreRepository(firestore) {
2833
+ var _this = _super.call(this) || this;
2834
+ _this.firestore = firestore;
2835
+ _this.collectionName = 'checkoutsSubscription';
2836
+ _this.model = CheckoutSubscription;
2837
+ return _this;
2838
+ }
2839
+ return CheckoutSubscriptionFirestoreRepository;
2840
+ }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2841
+
2754
2842
  var CouponFirestoreRepository = /** @class */ (function (_super) {
2755
2843
  __extends(CouponFirestoreRepository, _super);
2756
2844
  function CouponFirestoreRepository(firestore) {
@@ -2820,6 +2908,17 @@
2820
2908
  return OrderFirestoreRepository;
2821
2909
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2822
2910
 
2911
+ var LegacyOrderFirestoreRepository = /** @class */ (function (_super) {
2912
+ __extends(LegacyOrderFirestoreRepository, _super);
2913
+ function LegacyOrderFirestoreRepository(firestore) {
2914
+ var _this = _super.call(this, firestore) || this;
2915
+ _this.firestore = firestore;
2916
+ _this.collectionName = 'legacyOrders';
2917
+ return _this;
2918
+ }
2919
+ return LegacyOrderFirestoreRepository;
2920
+ }(OrderFirestoreRepository));
2921
+
2823
2922
  var PaymentFirestoreRepository = /** @class */ (function (_super) {
2824
2923
  __extends(PaymentFirestoreRepository, _super);
2825
2924
  function PaymentFirestoreRepository(firestore) {
@@ -2832,18 +2931,6 @@
2832
2931
  return PaymentFirestoreRepository;
2833
2932
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2834
2933
 
2835
- var CheckoutSubscriptionFirestoreRepository = /** @class */ (function (_super) {
2836
- __extends(CheckoutSubscriptionFirestoreRepository, _super);
2837
- function CheckoutSubscriptionFirestoreRepository(firestore) {
2838
- var _this = _super.call(this) || this;
2839
- _this.firestore = firestore;
2840
- _this.collectionName = 'checkoutsSubscription';
2841
- _this.model = CheckoutSubscription;
2842
- return _this;
2843
- }
2844
- return CheckoutSubscriptionFirestoreRepository;
2845
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2846
-
2847
2934
  var SubscriptionPlanFirestoreRepository = /** @class */ (function (_super) {
2848
2935
  __extends(SubscriptionPlanFirestoreRepository, _super);
2849
2936
  function SubscriptionPlanFirestoreRepository(firestore) {
@@ -2856,29 +2943,6 @@
2856
2943
  return SubscriptionPlanFirestoreRepository;
2857
2944
  }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2858
2945
 
2859
- var Buy2WinFirestoreRepository = /** @class */ (function (_super) {
2860
- __extends(Buy2WinFirestoreRepository, _super);
2861
- function Buy2WinFirestoreRepository(firestore) {
2862
- var _this = _super.call(this) || this;
2863
- _this.firestore = firestore;
2864
- _this.collectionName = 'buy2win';
2865
- _this.model = Buy2Win;
2866
- return _this;
2867
- }
2868
- return Buy2WinFirestoreRepository;
2869
- }(withCrudFirestore(withHelpers(withFirestore(Base)))));
2870
-
2871
- var LegacyOrderFirestoreRepository = /** @class */ (function (_super) {
2872
- __extends(LegacyOrderFirestoreRepository, _super);
2873
- function LegacyOrderFirestoreRepository(firestore) {
2874
- var _this = _super.call(this, firestore) || this;
2875
- _this.firestore = firestore;
2876
- _this.collectionName = 'legacyOrders';
2877
- return _this;
2878
- }
2879
- return LegacyOrderFirestoreRepository;
2880
- }(OrderFirestoreRepository));
2881
-
2882
2946
  var HomeFirestoreRepository = /** @class */ (function (_super) {
2883
2947
  __extends(HomeFirestoreRepository, _super);
2884
2948
  function HomeFirestoreRepository(firestore) {
@@ -3064,7 +3128,7 @@
3064
3128
  }());
3065
3129
  AttributeOptionHelper.FindByAttribute = function (attributeName, fields) {
3066
3130
  if (fields.includes(attributeName))
3067
- return { columnName: attributeName.toString(), attributeName: attributeName, to: function (value) { return value; }, from: function (value) { return value; } };
3131
+ return { columnName: attributeName.toString(), attributeName: attributeName };
3068
3132
  var field = fields.find(function (columnOption) { return lodash.isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()); });
3069
3133
  var fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
3070
3134
  if (lodash.isNil(fieldOption))
@@ -3465,21 +3529,19 @@
3465
3529
  };
3466
3530
  HasuraGraphQLMixin.prototype.fetch = function (params) {
3467
3531
  return __awaiter(this, void 0, void 0, function () {
3468
- var headers, response, result;
3532
+ var headers, result;
3469
3533
  return __generator(this, function (_a) {
3470
3534
  switch (_a.label) {
3471
3535
  case 0:
3472
3536
  headers = this.headers;
3473
- return [4 /*yield*/, fetch__default["default"]("" + this.endpoint, {
3537
+ return [4 /*yield*/, axios__default["default"]({
3538
+ url: "" + this.endpoint,
3474
3539
  method: 'POST',
3475
- body: JSON.stringify(params),
3540
+ data: params,
3476
3541
  headers: headers,
3477
3542
  })];
3478
3543
  case 1:
3479
- response = _a.sent();
3480
- return [4 /*yield*/, response.json()];
3481
- case 2:
3482
- result = _a.sent();
3544
+ result = (_a.sent()).data;
3483
3545
  if (!lodash.isNil(result.errors))
3484
3546
  throw new Error(JSON.stringify(result.errors));
3485
3547
  return [2 /*return*/, result.data];
@@ -3651,14 +3713,16 @@
3651
3713
  function FindHasuraGraphQLMixin() {
3652
3714
  return _super !== null && _super.apply(this, arguments) || this;
3653
3715
  }
3654
- FindHasuraGraphQLMixin.prototype.find = function (options) {
3716
+ FindHasuraGraphQLMixin.prototype.find = function (params) {
3717
+ var _a;
3655
3718
  return __awaiter(this, void 0, void 0, function () {
3656
- var _b, filters, limits, orderBy, variablesCount, variables, result, data, count;
3719
+ var _b, filters, limits, orderBy, options, enableCount, variablesCount, variables, result, data;
3657
3720
  var _this = this;
3658
3721
  return __generator(this, function (_c) {
3659
3722
  switch (_c.label) {
3660
3723
  case 0:
3661
- _b = options || {}, filters = _b.filters, limits = _b.limits, orderBy = _b.orderBy;
3724
+ _b = params || {}, filters = _b.filters, limits = _b.limits, orderBy = _b.orderBy, options = _b.options;
3725
+ enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
3662
3726
  variablesCount = Object.assign(Object.assign({}, (lodash.isNil(orderBy) ? {} : { order_by: { type: this.tableName + "_order_by!", list: true, value: orderBy } })), (lodash.isNil(filters)
3663
3727
  ? {}
3664
3728
  : {
@@ -3669,11 +3733,11 @@
3669
3733
  },
3670
3734
  }));
3671
3735
  variables = Object.assign(Object.assign({}, (lodash.isNil(limits) ? {} : limits)), variablesCount);
3672
- return [4 /*yield*/, this.query([
3736
+ return [4 /*yield*/, this.query(__spreadArray([
3673
3737
  {
3674
3738
  operation: this.tableName,
3675
- fields: options.fields
3676
- ? options.fields
3739
+ fields: params.fields
3740
+ ? params.fields
3677
3741
  .map(function (fieldName) {
3678
3742
  var _a;
3679
3743
  return (_a = _this.fields.find(function (fieldOption) { return fieldOption === fieldName; })) !== null && _a !== void 0 ? _a : _this.fields.find(function (fieldOption) { return Object.keys(fieldOption).shift() === fieldName; });
@@ -3681,18 +3745,20 @@
3681
3745
  .filter(Boolean)
3682
3746
  : this.fields,
3683
3747
  variables: variables,
3684
- },
3685
- {
3686
- operation: this.tableName + "_aggregate",
3687
- fields: [{ aggregate: ['count'] }],
3688
- variables: variablesCount,
3689
- },
3690
- ])];
3748
+ }
3749
+ ], __read((enableCount
3750
+ ? [
3751
+ {
3752
+ operation: this.tableName + "_aggregate",
3753
+ fields: [{ aggregate: ['count'] }],
3754
+ variables: variablesCount,
3755
+ },
3756
+ ]
3757
+ : []))))];
3691
3758
  case 1:
3692
3759
  result = _c.sent();
3693
3760
  data = result[this.tableName].map(function (row) { return _this.convertDataFromHasura(row); });
3694
- count = result[this.tableName + "_aggregate"].aggregate.count;
3695
- return [2 /*return*/, { count: count, data: data }];
3761
+ return [2 /*return*/, { data: data, count: enableCount ? result[this.tableName + "_aggregate"].aggregate.count : Infinity }];
3696
3762
  }
3697
3763
  });
3698
3764
  });
@@ -3758,23 +3824,9 @@
3758
3824
  return VariantHasuraGraphQL;
3759
3825
  }(Variant));
3760
3826
 
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
- return CategoryFilterHasuraGraphQLRepository;
3773
- }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
3774
-
3775
3827
  var CategoryHasuraGraphQLRepository = /** @class */ (function (_super_1) {
3776
3828
  __extends(CategoryHasuraGraphQLRepository, _super_1);
3777
- function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository, categoryFilterRepository) {
3829
+ function CategoryHasuraGraphQLRepository(endpoint, authOptions, productRepository) {
3778
3830
  var _this = _super_1.call(this, {
3779
3831
  tableName: 'category',
3780
3832
  model: Category,
@@ -3810,17 +3862,7 @@
3810
3862
  },
3811
3863
  },
3812
3864
  },
3813
- {
3814
- filters: {
3815
- columnName: 'filters',
3816
- foreignKeyColumn: { filter_id: 'id' },
3817
- fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
3818
- bindPersistData: function (value) { return ({
3819
- filters: { data: value.map(function (filter) { return ({ filter_id: filter.id }); }) },
3820
- }); },
3821
- 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; })) || []; },
3822
- },
3823
- },
3865
+ 'filters',
3824
3866
  { createdAt: { columnName: 'created_at' } },
3825
3867
  { updatedAt: { columnName: 'updated_at' } },
3826
3868
  {
@@ -3845,7 +3887,6 @@
3845
3887
  ],
3846
3888
  }) || this;
3847
3889
  _this.productRepository = productRepository;
3848
- _this.categoryFilterRepository = categoryFilterRepository;
3849
3890
  return _this;
3850
3891
  }
3851
3892
  CategoryHasuraGraphQLRepository.prototype.create = function (params) {
@@ -3871,7 +3912,7 @@
3871
3912
  switch (_d.label) {
3872
3913
  case 0:
3873
3914
  if (!Number.isNaN(+identifiers.id)) return [3 /*break*/, 2];
3874
- return [4 /*yield*/, this.find({ filters: { firestoreId: identifiers.id } })];
3915
+ return [4 /*yield*/, this.find({ filters: { firestoreId: identifiers.id }, options: { enableCount: false } })];
3875
3916
  case 1:
3876
3917
  _c = (_a = (_d.sent()).data) === null || _a === void 0 ? void 0 : _a[0];
3877
3918
  return [3 /*break*/, 3];
@@ -3888,25 +3929,25 @@
3888
3929
  update: { get: function () { return _super_1.prototype.update; } }
3889
3930
  });
3890
3931
  return __awaiter(this, void 0, void 0, function () {
3891
- var products, checkId, metadata, filters, data, plainData, id, category, _c, _d, _e, _f, _g, _h;
3892
- return __generator(this, function (_j) {
3893
- switch (_j.label) {
3932
+ var products, checkId, metadata, data, plainData, id, category, _c, _d, _e, _f;
3933
+ return __generator(this, function (_g) {
3934
+ switch (_g.label) {
3894
3935
  case 0:
3895
- products = params.products, checkId = params.id, metadata = params.metadata, filters = params.filters, data = __rest(params, ["products", "id", "metadata", "filters"]);
3936
+ products = params.products, checkId = params.id, metadata = params.metadata, data = __rest(params, ["products", "id", "metadata"]);
3896
3937
  plainData = this.paramsToPlain({ id: checkId });
3897
3938
  return [4 /*yield*/, this.getId(plainData.id)];
3898
3939
  case 1:
3899
- id = _j.sent();
3940
+ id = _g.sent();
3900
3941
  return [4 /*yield*/, _super.update.call(this, Object.assign({ id: id }, data))];
3901
3942
  case 2:
3902
- category = _j.sent();
3943
+ category = _g.sent();
3903
3944
  _c = category;
3904
3945
  _d = products;
3905
3946
  if (!_d) return [3 /*break*/, 4];
3906
3947
  return [4 /*yield*/, this.updateProducts(+id, { products: products })];
3907
3948
  case 3:
3908
- _d = (_j.sent());
3909
- _j.label = 4;
3949
+ _d = (_g.sent());
3950
+ _g.label = 4;
3910
3951
  case 4:
3911
3952
  _c.products = _d;
3912
3953
  _e = category;
@@ -3914,19 +3955,10 @@
3914
3955
  if (!_f) return [3 /*break*/, 6];
3915
3956
  return [4 /*yield*/, this.updateMetadata(+id, { metadata: metadata })];
3916
3957
  case 5:
3917
- _f = (_j.sent());
3918
- _j.label = 6;
3958
+ _f = (_g.sent());
3959
+ _g.label = 6;
3919
3960
  case 6:
3920
3961
  _e.metadata = _f;
3921
- _g = category;
3922
- _h = filters;
3923
- if (!_h) return [3 /*break*/, 8];
3924
- return [4 /*yield*/, this.updateFilters(+id, { filters: filters })];
3925
- case 7:
3926
- _h = (_j.sent());
3927
- _j.label = 8;
3928
- case 8:
3929
- _g.filters = _h;
3930
3962
  return [2 /*return*/, category];
3931
3963
  }
3932
3964
  });
@@ -3934,19 +3966,19 @@
3934
3966
  };
3935
3967
  CategoryHasuraGraphQLRepository.prototype.getCategoryBySlug = function (slug, shop) {
3936
3968
  return __awaiter(this, void 0, void 0, function () {
3937
- var _c, data, count;
3938
- return __generator(this, function (_d) {
3939
- switch (_d.label) {
3969
+ var data;
3970
+ return __generator(this, function (_c) {
3971
+ switch (_c.label) {
3940
3972
  case 0:
3941
3973
  if (!slug)
3942
3974
  return [2 /*return*/];
3943
- return [4 /*yield*/, this.find({ filters: { slug: slug, shop: shop, published: true } })];
3975
+ return [4 /*yield*/, this.find({ filters: { slug: slug, shop: shop, published: true }, options: { enableCount: false } })];
3944
3976
  case 1:
3945
- _c = _d.sent(), data = _c.data, count = _c.count;
3946
- if (count > 1)
3947
- throw new DuplicatedResultsError('Query returned duplicated values');
3948
- if (!count)
3977
+ data = (_c.sent()).data;
3978
+ if (!data.length)
3949
3979
  throw new NotFoundError("Category with slug " + slug + " not found");
3980
+ if (data.length > 1)
3981
+ throw new DuplicatedResultsError('Query returned duplicated values');
3950
3982
  return [2 /*return*/, data.shift()];
3951
3983
  }
3952
3984
  });
@@ -4026,7 +4058,7 @@
4026
4058
  if (!((_a = category === null || category === void 0 ? void 0 : category.products) === null || _a === void 0 ? void 0 : _a.length))
4027
4059
  return [2 /*return*/, []];
4028
4060
  products = [];
4029
- return [4 /*yield*/, this.productRepository.find(Object.assign({ filters: Object.assign({ id: { operator: exports.Where.IN, value: category.products }, published: true }, ((options === null || options === void 0 ? void 0 : options.hasStock) ? { stock: { quantity: { operator: exports.Where.GT, value: 0 } } } : {})), fields: [
4061
+ return [4 /*yield*/, this.productRepository.find(Object.assign(Object.assign({ filters: Object.assign({ id: { operator: exports.Where.IN, value: category.products }, published: true }, ((options === null || options === void 0 ? void 0 : options.hasStock) ? { stock: { quantity: { operator: exports.Where.GT, value: 0 } } } : {})), fields: [
4030
4062
  'id',
4031
4063
  'name',
4032
4064
  'slug',
@@ -4050,7 +4082,7 @@
4050
4082
  'tags',
4051
4083
  'type',
4052
4084
  'shoppingCount',
4053
- ] }, ((options === null || options === void 0 ? void 0 : options.limit) ? { limits: { limit: options === null || options === void 0 ? void 0 : options.limit } } : {})))];
4085
+ ] }, ((options === null || options === void 0 ? void 0 : options.limit) ? { limits: { limit: options === null || options === void 0 ? void 0 : options.limit } } : {})), { options: { enableCount: false } }))];
4054
4086
  case 1:
4055
4087
  productsData = (_c.sent()).data;
4056
4088
  products.push.apply(products, __spreadArray([], __read(productsData)));
@@ -4068,7 +4100,7 @@
4068
4100
  case 0:
4069
4101
  if (!Number.isNaN(+id))
4070
4102
  return [2 /*return*/, id];
4071
- return [4 /*yield*/, this.find({ filters: { firestoreId: id } })];
4103
+ return [4 /*yield*/, this.find({ filters: { firestoreId: id }, options: { enableCount: false } })];
4072
4104
  case 1:
4073
4105
  data = (_c.sent()).data;
4074
4106
  if ((_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.id)
@@ -4152,328 +4184,9 @@
4152
4184
  });
4153
4185
  });
4154
4186
  };
4155
- CategoryHasuraGraphQLRepository.prototype.updateFilters = function (categoryId, _c) {
4156
- var filters = _c.filters;
4157
- return __awaiter(this, void 0, void 0, function () {
4158
- var i, filtersList, i, hasFilter, error_1, newCategoryFilter, filtersList, i, hasFilter, error_2, newCategoryFilter;
4159
- return __generator(this, function (_c) {
4160
- switch (_c.label) {
4161
- case 0:
4162
- if (!('action' in filters && filters.action === 'remove' && filters.value.length)) return [3 /*break*/, 5];
4163
- i = 0;
4164
- _c.label = 1;
4165
- case 1:
4166
- if (!(i < filters.value.length)) return [3 /*break*/, 4];
4167
- return [4 /*yield*/, this.categoryFilterRepository.delete({ id: filters.value[i].id })];
4168
- case 2:
4169
- _c.sent();
4170
- _c.label = 3;
4171
- case 3:
4172
- i++;
4173
- return [3 /*break*/, 1];
4174
- case 4: return [2 /*return*/, []];
4175
- case 5:
4176
- if (!('action' in filters && filters.action === 'merge' && filters.value.length)) return [3 /*break*/, 13];
4177
- filtersList = [];
4178
- i = 0;
4179
- _c.label = 6;
4180
- case 6:
4181
- if (!(i < filters.value.length)) return [3 /*break*/, 12];
4182
- _c.label = 7;
4183
- case 7:
4184
- _c.trys.push([7, 9, , 11]);
4185
- return [4 /*yield*/, this.categoryFilterRepository
4186
- .find({
4187
- filters: {
4188
- categoryId: categoryId,
4189
- filterId: filters[i].id,
4190
- },
4191
- })
4192
- .then(function (data) { return data.data.shift(); })];
4193
- case 8:
4194
- hasFilter = _c.sent();
4195
- if (hasFilter)
4196
- filtersList.push(hasFilter);
4197
- return [3 /*break*/, 11];
4198
- case 9:
4199
- error_1 = _c.sent();
4200
- return [4 /*yield*/, this.categoryFilterRepository.create({
4201
- filterId: filters.value[i].id,
4202
- categoryId: categoryId,
4203
- })];
4204
- case 10:
4205
- newCategoryFilter = _c.sent();
4206
- filtersList.push(newCategoryFilter);
4207
- return [3 /*break*/, 11];
4208
- case 11:
4209
- i++;
4210
- return [3 /*break*/, 6];
4211
- case 12: return [2 /*return*/, filtersList];
4212
- case 13:
4213
- if (!(Array.isArray(filters) && filters.length)) return [3 /*break*/, 21];
4214
- filtersList = [];
4215
- i = 0;
4216
- _c.label = 14;
4217
- case 14:
4218
- if (!(i < filters.length)) return [3 /*break*/, 20];
4219
- _c.label = 15;
4220
- case 15:
4221
- _c.trys.push([15, 17, , 19]);
4222
- return [4 /*yield*/, this.categoryFilterRepository
4223
- .find({
4224
- filters: {
4225
- categoryId: categoryId,
4226
- filterId: filters[i].id,
4227
- },
4228
- })
4229
- .then(function (data) { return data.data.shift(); })];
4230
- case 16:
4231
- hasFilter = _c.sent();
4232
- if (hasFilter)
4233
- filtersList.push(hasFilter);
4234
- return [3 /*break*/, 19];
4235
- case 17:
4236
- error_2 = _c.sent();
4237
- return [4 /*yield*/, this.categoryFilterRepository.create({
4238
- filterId: filters[i].id,
4239
- categoryId: categoryId,
4240
- })];
4241
- case 18:
4242
- newCategoryFilter = _c.sent();
4243
- filtersList.push(newCategoryFilter);
4244
- return [3 /*break*/, 19];
4245
- case 19:
4246
- i++;
4247
- return [3 /*break*/, 14];
4248
- case 20: return [2 /*return*/, filtersList];
4249
- case 21: return [2 /*return*/];
4250
- }
4251
- });
4252
- });
4253
- };
4254
4187
  return CategoryHasuraGraphQLRepository;
4255
4188
  }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4256
4189
 
4257
- var FilterHasuraGraphQLRepository = /** @class */ (function (_super_1) {
4258
- __extends(FilterHasuraGraphQLRepository, _super_1);
4259
- function FilterHasuraGraphQLRepository(endpoint, authOptions, filterOptionRepository, categoryFilterRepository) {
4260
- var _this = _super_1.call(this, {
4261
- tableName: 'filter',
4262
- model: Filter,
4263
- endpoint: endpoint,
4264
- authOptions: authOptions,
4265
- fields: [
4266
- 'id',
4267
- 'description',
4268
- 'slug',
4269
- 'enabled',
4270
- { createdAt: { columnName: 'created_at' } },
4271
- { updatedAt: { columnName: 'updated_at' } },
4272
- {
4273
- options: {
4274
- columnName: 'options',
4275
- foreignKeyColumn: { filterId: 'id' },
4276
- fields: [
4277
- 'id',
4278
- { filterId: { columnName: 'filter_id' } },
4279
- 'description',
4280
- { createdAt: { columnName: 'created_at' } },
4281
- { updatedAt: { columnName: 'updated_at' } },
4282
- ],
4283
- },
4284
- },
4285
- ],
4286
- }) || this;
4287
- _this.filterOptionRepository = filterOptionRepository;
4288
- _this.categoryFilterRepository = categoryFilterRepository;
4289
- return _this;
4290
- }
4291
- FilterHasuraGraphQLRepository.prototype.update = function (params) {
4292
- var _super = Object.create(null, {
4293
- update: { get: function () { return _super_1.prototype.update; } }
4294
- });
4295
- return __awaiter(this, void 0, void 0, function () {
4296
- var options, data, filter, _a;
4297
- return __generator(this, function (_b) {
4298
- switch (_b.label) {
4299
- case 0:
4300
- options = params.options, data = __rest(params, ["options"]);
4301
- return [4 /*yield*/, _super.update.call(this, data)];
4302
- case 1:
4303
- filter = _b.sent();
4304
- _a = filter;
4305
- return [4 /*yield*/, this.updateOptions(+data.id, { options: options })];
4306
- case 2:
4307
- _a.options = _b.sent();
4308
- return [2 /*return*/, filter];
4309
- }
4310
- });
4311
- });
4312
- };
4313
- FilterHasuraGraphQLRepository.prototype.updateOptions = function (filterId, _a) {
4314
- var options = _a.options;
4315
- return __awaiter(this, void 0, void 0, function () {
4316
- var i, filterOptions, i, hasFilter, error_1, newOption, filterOptions, i, hasFilter, error_2, newOption;
4317
- return __generator(this, function (_a) {
4318
- switch (_a.label) {
4319
- case 0:
4320
- if (!options)
4321
- return [2 /*return*/, []];
4322
- if (!('action' in options && options.action === 'remove' && options.value.length)) return [3 /*break*/, 5];
4323
- i = 0;
4324
- _a.label = 1;
4325
- case 1:
4326
- if (!(i < options.value.length)) return [3 /*break*/, 4];
4327
- return [4 /*yield*/, this.filterOptionRepository.delete({ id: options.value[i].id })];
4328
- case 2:
4329
- _a.sent();
4330
- _a.label = 3;
4331
- case 3:
4332
- i++;
4333
- return [3 /*break*/, 1];
4334
- case 4: return [2 /*return*/, []];
4335
- case 5:
4336
- if (!('action' in options && options.action === 'merge' && options.value.length)) return [3 /*break*/, 13];
4337
- filterOptions = [];
4338
- i = 0;
4339
- _a.label = 6;
4340
- case 6:
4341
- if (!(i < options.value.length)) return [3 /*break*/, 12];
4342
- _a.label = 7;
4343
- case 7:
4344
- _a.trys.push([7, 9, , 11]);
4345
- return [4 /*yield*/, this.filterOptionRepository.get({ id: options.value[i].id })];
4346
- case 8:
4347
- hasFilter = _a.sent();
4348
- if (hasFilter)
4349
- filterOptions.push(hasFilter);
4350
- return [3 /*break*/, 11];
4351
- case 9:
4352
- error_1 = _a.sent();
4353
- return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options.value[i]), { filterId: filterId }))];
4354
- case 10:
4355
- newOption = _a.sent();
4356
- filterOptions.push(newOption);
4357
- return [3 /*break*/, 11];
4358
- case 11:
4359
- i++;
4360
- return [3 /*break*/, 6];
4361
- case 12: return [2 /*return*/, filterOptions];
4362
- case 13:
4363
- if (!(Array.isArray(options) && options.length)) return [3 /*break*/, 20];
4364
- filterOptions = [];
4365
- i = 0;
4366
- _a.label = 14;
4367
- case 14:
4368
- if (!(i < options.length)) return [3 /*break*/, 20];
4369
- _a.label = 15;
4370
- case 15:
4371
- _a.trys.push([15, 17, , 19]);
4372
- return [4 /*yield*/, this.filterOptionRepository.get({ id: options[i].id })];
4373
- case 16:
4374
- hasFilter = _a.sent();
4375
- if (hasFilter)
4376
- filterOptions.push(hasFilter);
4377
- return [3 /*break*/, 19];
4378
- case 17:
4379
- error_2 = _a.sent();
4380
- return [4 /*yield*/, this.filterOptionRepository.create(Object.assign(Object.assign({}, options[i]), { filterId: filterId }))];
4381
- case 18:
4382
- newOption = _a.sent();
4383
- filterOptions.push(newOption);
4384
- return [3 /*break*/, 19];
4385
- case 19:
4386
- i++;
4387
- return [3 /*break*/, 14];
4388
- case 20: return [2 /*return*/, []];
4389
- }
4390
- });
4391
- });
4392
- };
4393
- FilterHasuraGraphQLRepository.prototype.delete = function (params) {
4394
- var _super = Object.create(null, {
4395
- delete: { get: function () { return _super_1.prototype.delete; } }
4396
- });
4397
- return __awaiter(this, void 0, void 0, function () {
4398
- var options, data, categoryFilters;
4399
- return __generator(this, function (_a) {
4400
- switch (_a.label) {
4401
- case 0:
4402
- options = params.options, data = __rest(params, ["options"]);
4403
- return [4 /*yield*/, this.categoryFilterRepository
4404
- .find({
4405
- filters: {
4406
- filterId: +data.id,
4407
- },
4408
- })
4409
- .then(function (result) { return result.data; })];
4410
- case 1:
4411
- categoryFilters = _a.sent();
4412
- if (categoryFilters.length)
4413
- throw new Error('Erro: o filtro está associado a uma ou mais categoria(s)');
4414
- return [4 /*yield*/, this.deleteOptions(options)];
4415
- case 2:
4416
- _a.sent();
4417
- return [4 /*yield*/, _super.delete.call(this, { id: +data.id })];
4418
- case 3:
4419
- _a.sent();
4420
- return [2 /*return*/];
4421
- }
4422
- });
4423
- });
4424
- };
4425
- FilterHasuraGraphQLRepository.prototype.deleteOptions = function (options) {
4426
- return __awaiter(this, void 0, void 0, function () {
4427
- var i, error_3;
4428
- return __generator(this, function (_a) {
4429
- switch (_a.label) {
4430
- case 0:
4431
- i = 0;
4432
- _a.label = 1;
4433
- case 1:
4434
- if (!(i < options.length)) return [3 /*break*/, 6];
4435
- _a.label = 2;
4436
- case 2:
4437
- _a.trys.push([2, 4, , 5]);
4438
- return [4 /*yield*/, this.filterOptionRepository.delete({ id: options[i].id })];
4439
- case 3:
4440
- _a.sent();
4441
- return [3 /*break*/, 5];
4442
- case 4:
4443
- error_3 = _a.sent();
4444
- console.log(error_3);
4445
- return [3 /*break*/, 5];
4446
- case 5:
4447
- i++;
4448
- return [3 /*break*/, 1];
4449
- case 6: return [2 /*return*/];
4450
- }
4451
- });
4452
- });
4453
- };
4454
- return FilterHasuraGraphQLRepository;
4455
- }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4456
-
4457
- var FilterOptionHasuraGraphQLRepository = /** @class */ (function (_super) {
4458
- __extends(FilterOptionHasuraGraphQLRepository, _super);
4459
- function FilterOptionHasuraGraphQLRepository(endpoint, authOptions) {
4460
- return _super.call(this, {
4461
- tableName: 'filter_option',
4462
- model: FilterOption,
4463
- endpoint: endpoint,
4464
- authOptions: authOptions,
4465
- fields: [
4466
- 'id',
4467
- 'description',
4468
- { filterId: { columnName: 'filter_id' } },
4469
- { createdAt: { columnName: 'created_at' } },
4470
- { updatedAt: { columnName: 'updated_at' } },
4471
- ],
4472
- }) || this;
4473
- }
4474
- return FilterOptionHasuraGraphQLRepository;
4475
- }(withCrudHasuraGraphQL(withHasuraGraphQL(Base))));
4476
-
4477
4190
  var ProductHasuraGraphQLRepository = /** @class */ (function (_super_1) {
4478
4191
  __extends(ProductHasuraGraphQLRepository, _super_1);
4479
4192
  function ProductHasuraGraphQLRepository(endpoint, authOptions) {
@@ -4707,7 +4420,7 @@
4707
4420
  switch (_f.label) {
4708
4421
  case 0:
4709
4422
  if (!Number.isNaN(+identifiers.id)) return [3 /*break*/, 2];
4710
- return [4 /*yield*/, this.find({ filters: { firestoreId: identifiers.id } })];
4423
+ return [4 /*yield*/, this.find({ filters: { firestoreId: identifiers.id }, options: { enableCount: false } })];
4711
4424
  case 1:
4712
4425
  _c = (_a = (_f.sent()).data) === null || _a === void 0 ? void 0 : _a[0];
4713
4426
  return [3 /*break*/, 4];
@@ -4752,21 +4465,21 @@
4752
4465
  ProductHasuraGraphQLRepository.prototype.getBySlug = function (slug) {
4753
4466
  var _a;
4754
4467
  return __awaiter(this, void 0, void 0, function () {
4755
- var result, product, _c;
4756
- return __generator(this, function (_d) {
4757
- switch (_d.label) {
4468
+ var result, product;
4469
+ return __generator(this, function (_c) {
4470
+ switch (_c.label) {
4758
4471
  case 0: return [4 /*yield*/, this.find({
4759
4472
  filters: {
4760
4473
  slug: slug,
4761
4474
  },
4475
+ fields: this.fields.map(function (field) { return typeof field === 'string' ? field : Object.keys(field).shift(); }),
4476
+ options: {
4477
+ enableCount: false,
4478
+ },
4762
4479
  })];
4763
4480
  case 1:
4764
- result = _d.sent();
4481
+ result = _c.sent();
4765
4482
  product = (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.shift();
4766
- _c = product;
4767
- return [4 /*yield*/, this.findReviewsByProduct(+product.id)];
4768
- case 2:
4769
- _c.reviews = _d.sent();
4770
4483
  return [2 /*return*/, product];
4771
4484
  }
4772
4485
  });
@@ -5047,7 +4760,7 @@
5047
4760
  case 0:
5048
4761
  if (!Number.isNaN(+id))
5049
4762
  return [2 /*return*/, id];
5050
- return [4 /*yield*/, this.find({ filters: { firestoreId: id } })];
4763
+ return [4 /*yield*/, this.find({ filters: { firestoreId: id }, options: { enableCount: false } })];
5051
4764
  case 1:
5052
4765
  data = (_c.sent()).data;
5053
4766
  if ((_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.id)
@@ -5277,7 +4990,7 @@
5277
4990
  case 0:
5278
4991
  if (!Number.isNaN(+id))
5279
4992
  return [2 /*return*/, id];
5280
- return [4 /*yield*/, this.find({ filters: { firestoreId: id } })];
4993
+ return [4 /*yield*/, this.find({ filters: { firestoreId: id }, options: { enableCount: false } })];
5281
4994
  case 1:
5282
4995
  data = (_c.sent()).data;
5283
4996
  if ((_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.id)
@@ -5404,9 +5117,11 @@
5404
5117
  exports.BeautyQuestionsHelper = BeautyQuestionsHelper;
5405
5118
  exports.Buy2Win = Buy2Win;
5406
5119
  exports.Buy2WinFirestoreRepository = Buy2WinFirestoreRepository;
5120
+ exports.CampaignDashboard = CampaignDashboard;
5121
+ exports.CampaignDashboardFirestoreRepository = CampaignDashboardFirestoreRepository;
5122
+ exports.CampaignHashtag = CampaignHashtag;
5123
+ exports.CampaignHashtagFirestoreRepository = CampaignHashtagFirestoreRepository;
5407
5124
  exports.Category = Category;
5408
- exports.CategoryFilter = CategoryFilter;
5409
- exports.CategoryFilterHasuraGraphQLRepository = CategoryFilterHasuraGraphQLRepository;
5410
5125
  exports.CategoryFirestoreRepository = CategoryFirestoreRepository;
5411
5126
  exports.CategoryHasuraGraphQL = CategoryHasuraGraphQL;
5412
5127
  exports.CategoryHasuraGraphQLRepository = CategoryHasuraGraphQLRepository;
@@ -5418,10 +5133,6 @@
5418
5133
  exports.CouponFirestoreRepository = CouponFirestoreRepository;
5419
5134
  exports.DuplicatedResultsError = DuplicatedResultsError;
5420
5135
  exports.Edition = Edition;
5421
- exports.Filter = Filter;
5422
- exports.FilterHasuraGraphQLRepository = FilterHasuraGraphQLRepository;
5423
- exports.FilterOption = FilterOption;
5424
- exports.FilterOptionHasuraGraphQLRepository = FilterOptionHasuraGraphQLRepository;
5425
5136
  exports.Home = Home;
5426
5137
  exports.HomeFirestoreRepository = HomeFirestoreRepository;
5427
5138
  exports.InvalidArgumentError = InvalidArgumentError;