@infrab4a/connect-angular 3.10.4 → 3.10.5
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrab4a-connect-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/consts/backend-url.const.ts","../../../projects/connect-angular/src/consts/category-structure.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/hasura-options.const.ts","../../../projects/connect-angular/src/angular-hasura-graphql.module.ts","../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/services/coupon.service.ts","../../../projects/connect-angular/src/services/checkout.service.ts","../../../projects/connect-angular/src/services/cart.service.ts","../../../projects/connect-angular/src/services/catalog/catalog.service.ts","../../../projects/connect-angular/src/services/catalog/category.service.ts","../../../projects/connect-angular/src/services/catalog/enums/product-sorts.enum.ts","../../../projects/connect-angular/src/services/catalog/models/category-with-tree.model.ts","../../../projects/connect-angular/src/services/catalog/adapters/new-category-structure.adapter.ts","../../../projects/connect-angular/src/services/catalog/adapters/old-category-structure.adapter.ts","../../../projects/connect-angular/src/services/helpers/util.service.ts","../../../projects/connect-angular/src/services/catalog/wishlist.service.ts","../../../projects/connect-angular/src/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/shipping.service.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosAdapter, AxiosElasticSearchConfig, ProductsIndex } from '@infrab4a/connect'\n\nimport { ES_CONFIG } from './consts/es-config.const'\n\n@NgModule({\n providers: [\n {\n provide: ProductsIndex,\n useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex =>\n new ProductsIndex(new AxiosAdapter(configuration)),\n deps: [ES_CONFIG],\n },\n ],\n})\nexport class AngularElasticSeachModule {\n static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {\n return {\n ngModule: AngularElasticSeachModule,\n providers: [{ provide: ES_CONFIG, useValue: options }],\n }\n }\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FirebaseAppConfig,\n FirebaseOptions,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS\n} from '@angular/fire'\nimport { AngularFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CampaignDashboardFirestoreRepository,\n CampaignDashboardRepository,\n CampaignHashtagFirestoreRepository,\n CampaignHashtagRepository,\n CategoryFirestoreRepository,\n CategoryRepository,\n CheckoutFirestoreRepository,\n CheckoutRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponFirestoreRepository,\n CouponRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadFirestoreRepository,\n LeadRepository,\n LegacyOrderFirestoreRepository,\n LegacyOrderRepository,\n OrderFirestoreRepository,\n OrderRepository,\n PaymentFirestoreRepository,\n PaymentRepository,\n ProductFirestoreRepository,\n ProductRepository,\n ProductVariantFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n ShopSettingsFirestoreRepository,\n ShopSettingsRepository,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressFirestoreRepository,\n UserAddressRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserPaymentMethodFirestoreRepository,\n UserPaymentMethodRepository,\n UserRepository,\n VariantRepository\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG } from './consts/es-config.const'\n\n@NgModule({\n imports: [AngularFireModule, AngularElasticSeachModule],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: AngularFirestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: CategoryFirestoreRepository,\n useFactory: (firestore: AngularFirestore): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: AngularFirestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: AngularFirestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: AngularFirestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CampaignHashtagRepository',\n useFactory: (firestore: AngularFirestore): CampaignHashtagRepository => {\n return new CampaignHashtagFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CampaignDashboardRepository',\n useFactory: (firestore: AngularFirestore): CampaignDashboardRepository => {\n return new CampaignDashboardFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: AngularFirestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository)\n },\n deps: [AngularFirestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: AngularFirestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: AngularFirestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: AngularFirestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: AngularFirestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: AngularFirestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: AngularFirestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: ProductFirestoreRepository,\n useFactory: (firestore: AngularFirestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'ShopSettingsRepository',\n useFactory: (firestore: AngularFirestore): ShopSettingsRepository => {\n return new ShopSettingsFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: AngularFirestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository)\n },\n deps: [AngularFirestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: AngularFirestore): UserRepository => {\n return new UserFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (\n firestore: AngularFirestore,\n userRepository: UserFirestoreRepository,\n ): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: ProductVariantFirestoreRepository,\n useFactory: (firestore: AngularFirestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore.firestore, productRepository)\n },\n deps: [AngularFirestore, ProductFirestoreRepository],\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (firestore: AngularFirestore) => () =>\n firestore.firestore.settings({ ignoreUndefinedProperties: true }),\n deps: [AngularFirestore],\n multi: true,\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFirestoreModule,\n providers: [\n { provide: FIREBASE_OPTIONS, useValue: options.firebase },\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\n { provide: ES_CONFIG, useValue: options.elasticSearch },\n ],\n }\n }\n}\n","export const BACKEND_URL = 'BACKEND_URL'","export const CATEGORY_STRUCTURE = 'CATEGORY_STRUCTURE'\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const HASURA_OPTIONS = 'HASURA_OPTIONS'\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n CategoryCollectionChildrenHasuraGraphQLRepository,\n CategoryFilterHasuraGraphQLRepository,\n CategoryFilterRepository,\n CategoryHasuraGraphQLRepository,\n CategoryRepository,\n FilterHasuraGraphQLRepository,\n FilterOptionHasuraGraphQLRepository,\n FilterOptionRepository,\n FilterRepository,\n HasuraGraphQLAuthOptions,\n ProductHasuraGraphQLRepository,\n ProductRepository,\n VariantHasuraGraphQLRepository,\n VariantRepository,\n WishlistHasuraGraphQLRepository,\n} from '@infrab4a/connect'\nimport { HASURA_OPTIONS } from './consts'\n\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\n\n@NgModule({\n providers: [\n {\n provide: 'CategoryRepository',\n useExisting: CategoryHasuraGraphQLRepository,\n },\n {\n provide: CategoryHasuraGraphQLRepository,\n useFactory: (\n options: HasuraGraphQLOptions,\n productRepository: ProductHasuraGraphQLRepository,\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\n ): CategoryRepository => {\n return new CategoryHasuraGraphQLRepository(\n options.endpoint,\n options.credentials,\n productRepository,\n categoryFilterRepository,\n )\n },\n deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\n },\n {\n provide: 'ProductRepository',\n useExisting: ProductHasuraGraphQLRepository,\n },\n {\n provide: ProductHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): ProductRepository => {\n return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n {\n provide: 'VariantRepository',\n useExisting: VariantHasuraGraphQLRepository,\n },\n {\n provide: VariantHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): VariantRepository => {\n return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n\n {\n provide: 'CategoryFilterRepository',\n useExisting: CategoryFilterHasuraGraphQLRepository,\n },\n {\n provide: CategoryFilterHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): CategoryFilterRepository => {\n return new CategoryFilterHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n\n {\n provide: 'FilterOptionRepository',\n useExisting: FilterOptionHasuraGraphQLRepository,\n },\n {\n provide: FilterOptionHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): FilterOptionRepository => {\n return new FilterOptionHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n {\n provide: 'FilterRepository',\n useExisting: FilterHasuraGraphQLRepository,\n },\n {\n provide: FilterHasuraGraphQLRepository,\n useFactory: (\n options: HasuraGraphQLOptions,\n filterOptionRepository: FilterOptionHasuraGraphQLRepository,\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\n ): FilterRepository => {\n return new FilterHasuraGraphQLRepository(\n options.endpoint,\n options.credentials,\n filterOptionRepository,\n categoryFilterRepository,\n )\n },\n deps: [HASURA_OPTIONS, FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\n },\n {\n provide: CategoryCollectionChildrenHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): CategoryCollectionChildrenHasuraGraphQLRepository =>\n new CategoryCollectionChildrenHasuraGraphQLRepository(options.endpoint, options.credentials),\n },\n {\n provide: 'CategoryCollectionChildrenRepository',\n useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,\n },\n {\n provide: 'WishlistRepository',\n useExisting: WishlistHasuraGraphQLRepository,\n },\n ],\n})\nexport class AngularHasuraGraphQLModule {\n static initializeApp(options: {\n endpoint: string\n credentials: HasuraGraphQLAuthOptions\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\n return {\n ngModule: AngularHasuraGraphQLModule,\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { AngularFireAuth } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport firebase from 'firebase/app'\nimport { Observable, combineLatest, from, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: AngularFireAuth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<firebase.User>, Observable<User>] = [\n this.angularFireAuth.authState.pipe(catchError(() => of(null))),\n this.getUser().pipe(catchError(() => of(null))),\n ]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => {\n return {\n user,\n isAnonymous: fireUser?.isAnonymous,\n } as { user: User; isAnonymous: boolean }\n }),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? from(this.userRepository.get({ id })).pipe(catchError(() => of(null))) : of(null))),\n )\n }\n\n getTokenId(): Observable<string> {\n return this.angularFireAuth.idToken\n }\n\n getFireUser(): Observable<firebase.User> {\n return this.angularFireAuth.user.pipe(catchError(() => of(null)))\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryRepository,\n Checkout,\n CheckoutSubscription,\n CheckoutTypes,\n Coupon,\n CouponRepository,\n CouponTypes,\n Exclusivities,\n LineItem,\n Order,\n OrderRepository,\n Shops,\n User,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { DEFAULT_SHOP } from '../consts'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CouponService {\n constructor(\n @Inject('CouponRepository') private readonly couponRepository: CouponRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n ) {}\n\n checkCoupon(\n nickname: string,\n checkoutType: CheckoutTypes,\n checkout: Partial<Checkout>,\n plan: string,\n ): Observable<Coupon> {\n return from(\n this.couponRepository\n .find({\n filters: {\n nickname: { operator: Where.EQUALS, value: nickname },\n active: { operator: Where.EQUALS, value: true },\n },\n })\n .then((result) => result.data[0]),\n ).pipe(\n concatMap((coupon) => this.couponValidation(coupon, checkoutType)),\n concatMap((couponValid: Coupon) => this.couponRulesValidation(couponValid, checkoutType, checkout, plan)),\n map((couponValidated: Coupon) => couponValidated as Coupon),\n )\n }\n\n private async couponValidation(coupon: Coupon, checkoutType: CheckoutTypes) {\n if (!coupon) throw 'Cupom inválido.'\n\n if (coupon?.beginAt && coupon?.beginAt.getTime() > new Date().getTime()) throw 'Cupom inválido.'\n\n if (coupon?.expiresIn && coupon?.expiresIn.getTime() < new Date().getTime()) throw 'Cupom expirado.'\n\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\n\n if (!isInShop) throw 'Cupom inválido para loja.'\n\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\n\n if (!isCheckoutType) throw 'Cupom inválido. Erro de checkout.'\n\n return coupon\n }\n\n private async couponRulesValidation(\n coupon: Coupon,\n checkoutType: CheckoutTypes,\n checkout: Partial<Checkout>,\n plan: string,\n ) {\n if (checkoutType == CheckoutTypes.SUBSCRIPTION) {\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase()) throw 'Cupom inválido para sua assinatura.'\n\n return coupon\n }\n\n const validUser = this.coupomUserValidation(coupon, checkout?.user)\n\n if (!validUser) throw 'Usuário não elegível.'\n\n const couponUseLimits = this.getCouponUseLimits(coupon, checkoutType, checkout.user)\n\n if (!couponUseLimits.unlimited || couponUseLimits.limitedPerUser) {\n const orders = await this.getOrdersWithCoupon(coupon)\n\n if (!couponUseLimits.unlimited && couponUseLimits.total && orders.length >= couponUseLimits.total)\n throw 'Limite de uso atingido.'\n\n if (couponUseLimits.limitedPerUser) {\n const ordersWithUser = this.countOrdersWithUser(orders, checkout.user.email)\n\n if (ordersWithUser > 0) throw 'Limite de uso por usuário atingido.'\n }\n }\n\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\n\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\n\n const hasMinSubTotal = await this.hasMinSubTotal(coupon, checkout)\n\n if (!hasMinSubTotal)\n throw `Valor mínimo de ${Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(\n coupon.minSubTotalValue,\n )} não atingido`\n\n return coupon\n }\n\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\n let discount = 0\n\n if (coupon.discount.subscription.type == CouponTypes.ABSOLUTE) discount = coupon.discount.subscription.value\n else discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount.subscription.value / 100)\n\n return of(discount)\n }\n\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\n let discount = 0\n\n if (checkout.user.isSubscriber && coupon.discount.subscriber.value) {\n discount = await this.calcDiscountByType(\n coupon.discount.subscriber.type,\n coupon.discount.subscriber.value,\n coupon.productsCategories,\n checkout,\n )\n } else {\n discount = await this.calcDiscountByType(\n coupon.discount.non_subscriber.type,\n coupon.discount.non_subscriber.value,\n coupon.productsCategories,\n checkout,\n )\n }\n\n return discount\n }\n\n private async calcDiscountByType(\n type: CouponTypes,\n value: number,\n categories,\n checkout: Partial<Checkout>,\n ): Promise<number> {\n let discount = 0\n\n let lineItensDiscount = await this.getLineItensEligebleForDiscount(categories, checkout)\n\n const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop)\n\n if (type == CouponTypes.ABSOLUTE) {\n discount = value > subTotal ? subTotal : value\n } else {\n discount = subTotal * (value / 100)\n }\n\n return discount\n }\n\n private async hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\n if (!coupon.minSubTotalValue) return true\n\n let lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout)\n\n const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop)\n\n if (coupon.minSubTotalValue <= subTotal) return true\n\n return false\n }\n\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\n return true\n }\n\n const couponCategories = await this.getCouponCategoriesId(coupon.productsCategories)\n\n const hasCategories = checkout.lineItems?.filter((i) => {\n if (!i.categories || !i.categories?.length) return true\n return i.categories.some((c) => couponCategories.some((cat) => cat == c))\n })\n\n return hasCategories.length ? true : false\n }\n\n private coupomUserValidation(coupon: Coupon, user: User) {\n if (!user || coupon.exclusivityType.includes(Exclusivities.ALL_USERS)) return true\n\n let userTypes = []\n\n if (coupon.exclusivityType.includes(Exclusivities.COLLABORATORS) && this.emailIsFromCollaborator(user.email))\n userTypes.push(Exclusivities.COLLABORATORS)\n\n if (coupon.exclusivityType.includes(Exclusivities.SPECIFIC_USER) && coupon.userExclusiveEmail.includes(user.email))\n userTypes.push(Exclusivities.SPECIFIC_USER)\n\n if (\n coupon.exclusivityType.includes(Exclusivities.ACTIVE_SUBSCRIBER) &&\n user.isSubscriber &&\n user.subscriptionPlan != ''\n )\n userTypes.push(Exclusivities.ACTIVE_SUBSCRIBER)\n\n if (\n user.isSubscriber &&\n user.subscriptionPlan == '' &&\n coupon.exclusivityType.includes(Exclusivities.INACTIVE_SUBSCRIBER)\n )\n userTypes.push(Exclusivities.INACTIVE_SUBSCRIBER)\n\n if (coupon.exclusivityType.includes(Exclusivities.NON_SUBSCRIBER) && !user.isSubscriber)\n userTypes.push(Exclusivities.NON_SUBSCRIBER)\n\n return coupon.exclusivityType.some((r) => userTypes.includes(r))\n }\n\n private async getCouponCategoriesId(productsCategories: string[]): Promise<Array<String>> {\n const couponCategories: Array<String> = []\n\n for (let index = 0; index < productsCategories.length; index++) {\n const category: Category & { firestoreId?: string } = await this.categoryRepository.get({\n id: productsCategories[index],\n })\n\n if (category) {\n const children = await this.categoryRepository.getChildren(parseInt(productsCategories[index]))\n\n couponCategories.push(category.id, ...children.map((c) => c.id.toString()))\n }\n }\n\n return [...new Set(couponCategories)]\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private async getLineItensEligebleForDiscount(\n productsCategories: string[],\n checkout: Partial<Checkout>,\n ): Promise<LineItem[]> {\n let lineItensDiscount = []\n const couponCategories = await this.getCouponCategoriesId(productsCategories)\n\n if (productsCategories && productsCategories.length) {\n lineItensDiscount = checkout.lineItems?.filter((i) => {\n if (i.categories?.length) {\n return i.categories.some((c) => couponCategories.some((cat) => cat == c))\n }\n return true\n })\n } else {\n lineItensDiscount = checkout.lineItems\n }\n\n return lineItensDiscount\n }\n\n private calcCheckoutSubtotal(lineItens: LineItem[], user: User, shop: string): number {\n return (\n lineItens?.reduce(\n (acc, curr) =>\n user?.isSubscriber && curr.price[shop]?.subscriberPrice\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\n : acc + curr.pricePaid * curr.quantity,\n 0,\n ) || 0\n )\n }\n\n private async getOrdersWithCoupon(coupon: Coupon): Promise<Order[]> {\n return await this.orderRepository\n .find({\n filters: {\n coupon: { id: coupon.id },\n payment: { status: 'paid' },\n },\n })\n .then((result) => result.data)\n }\n\n private countOrdersWithUser(orders: Order[], email: string): number {\n return orders.filter((o) => o.user.email == email).length\n }\n\n private getCouponUseLimits(coupon: Coupon, checkoutType: CheckoutTypes, user: User) {\n let couponUseLimits: { unlimited?: boolean; total?: number; limitedPerUser?: boolean }\n if (checkoutType == CheckoutTypes.ECOMMERCE || checkoutType == CheckoutTypes.ALL) {\n couponUseLimits = user && user.isSubscriber ? coupon.useLimits.subscriber : coupon.useLimits.non_subscriber\n } else {\n couponUseLimits = coupon.useLimits.subscription\n }\n\n return couponUseLimits\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n Coupon,\n NotFoundError,\n OrderRepository,\n Shops,\n User,\n UserRepository,\n isNil,\n pick,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { Observable, from, of, throwError } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { CouponService } from './coupon.service'\nimport { RequiredCheckoutData } from './types'\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly couponService: CouponService,\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\n const checkoutId = cookie.get('checkoutId')\n\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\n\n return from(this.createCheckout(checkoutData))\n }\n\n getUserByCheckout(checkoutId: string): Observable<User> {\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\n concatMap((checkout) =>\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\n ),\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\n )\n }\n\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\n }\n\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\n }\n\n clearCheckoutFromSession(): Observable<void> {\n cookie.remove('checkoutId')\n\n return of()\n }\n\n calcDiscount(coupon: Coupon) {\n return this.getCheckout().pipe(\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\n )\n }\n\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) => this.couponService.checkCoupon(nickname, CheckoutTypes.ECOMMERCE, checkout, null).pipe()),\n )\n }\n\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\n const checkout = await this.checkoutRepository.create({\n createdAt: new Date(),\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n shop: checkoutData?.shop || this.defaultShop,\n })\n\n cookie.set('checkoutId', checkout.id)\n\n return checkout\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Buy2Win,\n Buy2WinFirestoreRepository,\n CategoryRepository,\n Checkout,\n isNil,\n LineItem,\n NotFoundError,\n Product,\n ProductRepository,\n RoundProductPricesHelper,\n ShopPrice,\n Shops,\n User,\n Variant,\n VariantRepository,\n Where,\n} from '@infrab4a/connect'\nimport { from, iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, mergeMap, tap } from 'rxjs/operators'\nimport { DEFAULT_SHOP } from '../consts'\nimport { AuthService } from './auth.service'\nimport { CheckoutService } from './checkout.service'\nimport { RequiredCheckoutData } from './types'\n\nexport type Cart = {\n [id: string]: LineItem\n}\n\n@Injectable()\nexport class CartService {\n private cartSubject: Subject<Cart> = new Subject()\n\n constructor(\n private readonly authService: AuthService,\n private readonly checkoutService: CheckoutService,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('VariantRepository') private readonly variantRepository: VariantRepository,\n @Inject('Buy2WinRepository') private readonly buy2WinRepository: Buy2WinFirestoreRepository,\n ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return from(this.checkoutService.getCheckout()).pipe(\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n decreaseItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.id === item.id)\n\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\n\n return this.cartSubject\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.price.subscriberPrice,\n of(item.price.subscriberPrice),\n of(item.price.price),\n ),\n ),\n catchError(() => of(item.price.price)),\n )\n }\n\n removeItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.id === item.id)\n\n if (index >= 0) checkout.lineItems.splice(index, 1)\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n updateUserCart(user: User): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\n ),\n concatMap(async (checkout) =>\n this.checkoutService\n .updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.length\n ? await Promise.all(\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem),\n )\n : [],\n }),\n )\n .toPromise(),\n ),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n clearCart(): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n this.checkoutService.clearCheckoutFromSession()\n return checkout\n }),\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\n return this.checkoutService.getCheckout(checkoutData).pipe(\n map((checkout) => checkout.lineItems),\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\n )\n }\n\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\n concatMap((checkoutLoaded) => {\n const items: LineItem[] = []\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.id).indexOf(lineItem.id)\n\n if (index > -1) {\n checkoutLoaded.lineItems[index].quantity += quantity\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\n } else\n checkoutLoaded.lineItems = items.concat(\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\n )\n\n return this.checkoutService\n .updateCheckoutLineItems(checkoutLoaded)\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\n }),\n )\n\n private generateCartObject = (items: LineItem[]): Cart =>\n items\n ? items.reduce(\n (cart, item) => ({\n ...cart,\n [item.id]: LineItem.toInstance({\n ...(cart[item.id] || item),\n quantity: (cart[item.id]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n }),\n }),\n {},\n )\n : []\n\n private buildLineItem = async ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): Promise<{ checkout: Partial<Checkout>; lineItem: LineItem }> => {\n const product = await this.getProductData(item.id)\n\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.id === item.id)?.quantity || 0\n\n if (this.checkMaxStock(item, quantity || 0))\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\n\n const image = item.image || item.images?.shift()\n const { id, name, EAN, slug, stock, price, weight, sku, type } = item\n const isGift = item.isGift || null\n const pricePaid = this.getProductPrice({\n product: item,\n shop: checkout.shop || this.defaultShop,\n isSubscriber: checkout.user?.isSubscriber,\n })\n\n RoundProductPricesHelper.roundProductPrices(item)\n\n return {\n checkout,\n lineItem: LineItem.toInstance({\n id,\n name: name ?? product.name,\n EAN: EAN ?? product.EAN,\n brand: product.brand,\n slug: slug ?? product.slug,\n sku: sku ?? product.sku,\n stock,\n price: this.roundPrice(price),\n image,\n weight: weight ?? product.weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories: product.categories ?? [],\n isGift: isGift ?? null,\n costPrice: product.costPrice ?? 0,\n type,\n }),\n }\n }\n\n private roundPrice(productPrice: ShopPrice): ShopPrice {\n const { price, fullPrice, subscriberPrice } = productPrice\n return {\n ...productPrice,\n price: Number(price.toFixed(2)),\n fullPrice: Number(fullPrice.toFixed(2)),\n ...(subscriberPrice && { subscriberPrice: Number(subscriberPrice.toFixed(2)) }),\n }\n }\n\n private async getProductData(productId: string): Promise<Partial<Product>> {\n let product: Product\n let variant: Variant\n\n try {\n product = await this.productRepository.get({ id: productId })\n } catch (error) {\n if (!(error instanceof NotFoundError)) throw error\n\n const { data: variants } = await this.variantRepository.find({ filters: { id: productId } })\n\n variant = variants.shift()\n\n if (!variant) throw error\n\n product = await this.productRepository.get({ id: variant.productId })\n }\n\n return {\n ...product.toPlain(),\n ...(variant && { ...variant.toPlain() }),\n }\n }\n\n private getProductPrice = ({\n product,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.price\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0\n ? Number(info.subscriberPrice.toFixed(2))\n : Number(info.price.toFixed(2))\n }\n\n private checkMaxStock = (item: LineItem, quantity: number) => {\n const maxStock = item.stock?.quantity || 0\n const currentItemAmount = item.quantity || 0\n\n return currentItemAmount + quantity > maxStock\n }\n\n getGifts() {\n return this.checkoutService.getCheckout().pipe(\n mergeMap(async (checkout) => {\n const notGiftItems: LineItem[] = checkout.lineItems ? checkout.lineItems.filter((item) => !item.isGift) : []\n\n if (!notGiftItems.length) return { ...checkout, lineItems: [] } as Checkout\n\n const cartTotal = notGiftItems.reduce((a, b) => a + b.pricePaid * b.quantity, 0)\n\n const campaigns = await this.buy2WinRepository\n .find({\n filters: {\n active: { operator: Where.EQUALS, value: true },\n shop: { operator: Where.EQUALS, value: this.defaultShop },\n },\n })\n .then((data) => data.data)\n\n if (!campaigns.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const elegibleCampaigns: Buy2Win[] = []\n\n for (const campaign of campaigns) {\n const today = new Date().getDate()\n\n if (!(campaign.startDate.getDate() <= today) && !(campaign.endDate.getDate() >= today)) continue\n\n if (campaign.activeCategory) {\n const categoriesCampaing = campaign.categories.map((c) => c.id.toString())\n const categoriesCampaingFullTree = []\n\n for (const id of categoriesCampaing) {\n const children = await this.categoryRepository.getChildren(parseInt(id))\n\n categoriesCampaingFullTree.push(id, ...children.map((c) => c.id.toString()))\n }\n\n const categoriesCampaingTree = [...new Set(categoriesCampaingFullTree)]\n const filterProductsCategories = checkout.lineItems.filter((l) => {\n if (!l.categories || !l.categories?.length) return true\n\n return l.categories.some((c) => categoriesCampaingTree.some((cat) => cat == c))\n })\n\n if (filterProductsCategories.length) {\n const cartTotalCategories = filterProductsCategories.reduce((a, b) => a + b.pricePaid * b.quantity, 0)\n\n if (cartTotalCategories >= campaign.cartValueMin) elegibleCampaigns.push(campaign)\n }\n } else {\n if (campaign.cartValue && campaign.cartValue > 0) {\n if (campaign.cartValue <= cartTotal) elegibleCampaigns.push(campaign)\n }\n }\n }\n\n if (!elegibleCampaigns.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const campaingnProducts: Product[][] = []\n\n for (const campaign of elegibleCampaigns) {\n let elegibleProducts = []\n\n for (const product of campaign.products) {\n const { data: productData } = await this.productRepository.find({ filters: { sku: product } })\n\n if (!productData.length) continue\n\n const gift = productData.shift()\n\n if (gift.stock.quantity < 1) continue\n\n elegibleProducts.push(gift)\n }\n\n campaingnProducts.push(elegibleProducts)\n }\n\n if (!campaingnProducts.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const gifts = this.giftToLineItems([].concat(...campaingnProducts))\n\n return { ...checkout, lineItems: notGiftItems.concat(gifts) }\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private giftToLineItems(items: Product[]): LineItem[] {\n return items.map((item) => {\n const { brand, categories, id, name, price, sku, slug, stock, weight, EAN } = item\n\n const image = item?.miniatures?.length ? item.miniatures[0] : item.images[0]\n\n return LineItem.toInstance({\n brand,\n categories,\n id: id.toString(),\n name,\n price,\n sku,\n slug,\n stock,\n weight,\n EAN,\n image,\n pricePaid: 0,\n quantity: 1,\n isGift: true,\n })\n })\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n Product,\n ProductGender,\n ProductRepository,\n RepositoryFindFielters,\n RepositoryOrderBy,\n RoundProductPricesHelper,\n set,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts'\nimport { CategoryStructureAdapter } from './adapters'\nimport { ProductSort } from './types/product-sort.type'\n\ntype FetchProductsFilters = {\n clubDiscount?: number[]\n brands?: string[]\n prices?: { min?: number; max?: number; subscriberPrice?: boolean }\n gender?: ProductGender[]\n rate?: number\n tags?: []\n customOptions?: string[]\n}\n\ntype FetchProductsOptions = {\n page?: number\n perPage?: number\n filters?: FetchProductsFilters\n sort?: ProductSort\n mainGender?: ProductGender\n}\n\ntype FetchProductsResponse = {\n products: { data: Product[]; total: number }\n pages: number\n prices: {\n price: { min: number; max: number }\n subscriberPrice: { min: number; max: number }\n }\n}\n\n@Injectable()\nexport class CatalogService<T extends Category = Category> {\n constructor(\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject(CATEGORY_STRUCTURE) private readonly categoryStructureAdapter: CategoryStructureAdapter,\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n ) {}\n\n async fetchProducts(category: T, options?: FetchProductsOptions): Promise<FetchProductsResponse> {\n const limits = this.buildLimitQuery(options)\n\n return await this.productRepository\n .findCatalog(\n {\n filters: {\n ...(await this.categoryStructureAdapter.buildProductFilterByCategory(category)),\n ...this.buildFilterQuery(options?.filters || {}),\n },\n ...(options?.sort ? { orderBy: this.buildSortQuery(options?.sort) } : {}),\n limits,\n options: { minimal: ['price'], maximum: ['price'] },\n },\n options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female',\n )\n .then(({ data, count: total, maximum, minimal }) => ({\n products: { data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)), total },\n pages: Math.ceil(total / limits.limit),\n prices: {\n price: { min: +minimal?.price?.price?.toFixed(2), max: +maximum?.price?.price?.toFixed(2) },\n subscriberPrice: {\n min: +minimal?.price?.subscriberPrice?.toFixed(2),\n max: +maximum?.price?.subscriberPrice?.toFixed(2),\n },\n },\n }))\n }\n\n private buildFilterQuery = ({\n clubDiscount,\n brands,\n prices,\n gender,\n tags,\n rate,\n customOptions,\n }: FetchProductsFilters): RepositoryFindFielters<Product> => {\n const filters = {} as RepositoryFindFielters<Product>\n\n if (clubDiscount?.length)\n set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount })\n if (brands?.length) filters.brand = { operator: Where.IN, value: brands }\n if (gender?.length)\n filters.tags = {\n operator: Where.IN,\n value: gender\n .map((genderOptions) =>\n genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null,\n )\n .filter(Boolean),\n }\n if (prices?.min || prices?.max)\n set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [\n ...(prices.min ? [{ operator: Where.GTE, value: Math.round(prices.min) }] : []),\n ...(prices.max ? [{ operator: Where.LTE, value: Math.ceil(prices.max) }] : []),\n ])\n if (rate) filters.rate = { operator: Where.GTE, value: rate }\n if (tags?.length) filters.tags = { operator: Where.LIKE, value: tags }\n if (customOptions?.length) filters.filters = { operator: Where.LIKE, value: customOptions }\n\n return filters\n }\n\n private buildSortQuery = (sort: ProductSort): RepositoryOrderBy<Product> => {\n if (!sort || sort === 'most-relevant') return {}\n\n if (sort === 'best-sellers') return { shoppingCount: 'desc' }\n if (sort === 'biggest-price') return { price: 'desc' }\n if (sort === 'lowest-price') return { price: 'asc' }\n if (sort === 'best-rating') return { rate: 'desc' }\n if (sort === 'news') return { createdAt: 'desc' }\n }\n\n private buildLimitQuery = (options: { page?: number; perPage?: number }): { limit?: number; offset?: number } => {\n const limit = options?.perPage || 20\n\n return {\n limit,\n offset: ((options?.page || 1) - 1) * limit,\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryFilterRepository,\n CategoryRepository,\n Filter,\n ProductGender,\n ProductRepository,\n Shops,\n} from '@infrab4a/connect'\nimport { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts'\nimport { CategoryStructureAdapter } from './adapters'\n\n@Injectable()\nexport class CategoryService {\n constructor(\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('CategoryFilterRepository') private readonly categoryFilterRepository: CategoryFilterRepository,\n @Inject(CATEGORY_STRUCTURE) private readonly categoryStructureAdapter: CategoryStructureAdapter,\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n ) {}\n\n async fetchBrands(category: Category, mainGender?: ProductGender): Promise<Category[]> {\n const brands = await this.productRepository\n .findCatalog(\n {\n filters: await this.categoryStructureAdapter.buildProductFilterByCategory(category),\n fields: ['brand'],\n },\n mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female',\n )\n .then(({ data }) =>\n Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})),\n )\n\n return this.categoryRepository\n .find({ filters: { brandCategory: true }, orderBy: { name: 'asc' } })\n .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)))\n }\n\n async fetchFilterOptions(category: Category, filters?: string[]): Promise<Filter[]> {\n return await this.categoryFilterRepository\n .find({ filters: { categoryId: +category.id } })\n .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter))\n }\n}\n","export enum ProductSorts {\n MOST_RELEVANT = 'most-relevant',\n BEST_SELLER = 'best-sellers',\n BIGGEST_PRICE = 'biggest-price',\n LOWEST_PRICE = 'lowest-price',\n BIGGEST_DISCOUNT = 'biggest-discount',\n BEST_RATING = 'best-rating',\n NEWS = 'news',\n}\n","import { Type } from 'class-transformer'\n\nimport { Category } from '@infrab4a/connect'\n\nexport class CategoryWithTree extends Category {\n @Type(() => CategoryWithTree)\n children?: CategoryWithTree[]\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryCollectionChildrenRepository,\n CategoryRepository,\n isNil,\n Product,\n RepositoryFindFielters,\n Where,\n} from '@infrab4a/connect'\nimport { CategoryStructureAdapter } from './category-structure.adapter'\n\n@Injectable()\nexport class NewCategoryStructureAdapter implements CategoryStructureAdapter {\n constructor(\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('CategoryCollectionChildrenRepository')\n private readonly categoryCollectionChildrenRepository: CategoryCollectionChildrenRepository,\n ) {}\n\n async buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>> {\n const categoriesIds = (await this.isCollection(category))\n ? await this.getAllCategoriesIdFromCollection(category)\n : [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()]\n\n return { category: { id: { operator: Where.IN, value: categoriesIds } } }\n }\n\n private async getAllCategoriesIdFromCategory(category: Category): Promise<string[]> {\n return this.categoryRepository\n .getChildren(+category.id)\n .then((categories) => categories.map((category) => category.id.toString()))\n }\n\n private async getAllCategoriesIdFromCollection(category: Category): Promise<string[]> {\n return this.categoryCollectionChildrenRepository\n .find({ filters: { collectionId: +category.id } })\n .then(({ data }) => data.map((categoryCollection) => categoryCollection.categoryId.toString()))\n }\n\n private async isCollection(category: Category): Promise<boolean> {\n return !isNil(category.isCollection)\n ? category.isCollection\n : this.categoryRepository.get({ id: category.id }).then((category) => category.isCollection)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { Category, CategoryRepository, Product, RepositoryFindFielters, Where } from '@infrab4a/connect'\nimport { CategoryStructureAdapter } from './category-structure.adapter'\n\n@Injectable()\nexport class OldCategoryStructureAdapter implements CategoryStructureAdapter {\n constructor(@Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository) {}\n\n async buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>> {\n const productsIds = category.products?.length\n ? category.products\n : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products)\n\n return { id: { operator: Where.IN, value: productsIds } }\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilService {\n constructor() {}\n\n createSlug(name: string): string {\n return name\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[ãàáäâ]/g, 'a') // Replace spaces with -\n .replace(/[ẽèéëê]/g, 'e') // Replace spaces with -\n .replace(/[ìíïî]/g, 'i') // Replace spaces with -\n .replace(/[õòóöô]/g, 'o') // Replace spaces with -\n .replace(/[ùúüû]/g, 'u') // Replace spaces with -\n .replace(/[ñ]/g, 'n') // Replace spaces with -\n .replace(/[ç]/g, 'c') // Replace spaces with -\n .replace(/[&]/g, 'and') // Replace spaces with -\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word chars\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CategoryCollectionChildrenRepository,\n CategoryFilterRepository,\n ProductRepository,\n Shops,\n Wishlist,\n WishlistRepository,\n} from '@infrab4a/connect'\nimport { DEFAULT_SHOP } from '../../consts'\nimport { UtilService } from '../helpers'\nimport { NewCategoryStructureAdapter } from './adapters'\nimport { CatalogService } from './catalog.service'\nimport { CategoryService } from './category.service'\n\n@Injectable()\nexport class WishlistService {\n constructor(\n @Inject('WishlistRepository') private readonly wishlistRepository: WishlistRepository,\n @Inject('ProductRepository') productRepository: ProductRepository,\n @Inject('CategoryFilterRepository') categoryFilterRepository: CategoryFilterRepository,\n categoryCollectionChildrenRepository: CategoryCollectionChildrenRepository,\n categoryStructureAdapter = new NewCategoryStructureAdapter(\n wishlistRepository,\n categoryCollectionChildrenRepository,\n ),\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n private readonly catalogService = new CatalogService<Wishlist>(productRepository, categoryStructureAdapter, shop),\n private readonly categoryService = new CategoryService(\n productRepository,\n wishlistRepository,\n categoryFilterRepository,\n categoryStructureAdapter,\n shop,\n ),\n private utilService: UtilService,\n ) {}\n\n getCatalogService() {\n return this.catalogService\n }\n\n getCategoryService() {\n return this.categoryService\n }\n\n async create(personId: string, title: string, description: string, userFullName: string): Promise<Wishlist> {\n const data = {\n slug: this.utilService.createSlug(`favoritos ${userFullName} ${title}`),\n name: title,\n description,\n metadata: {\n title: `${userFullName} - ${title}`,\n description: `${userFullName} - ${description}`,\n },\n shop: this.shop,\n shops: [this.shop],\n personId,\n brandCategory: false,\n published: true,\n }\n\n const newWishlist = await this.wishlistRepository.create(data)\n\n return this.wishlistRepository.update({ id: newWishlist.id, slug: `${newWishlist.id}-${newWishlist.slug}` })\n }\n\n update(id: string, title: string, description: string, userFullName: string): Promise<Wishlist> {\n const data = {\n id,\n slug: this.utilService.createSlug(`${id}-favoritos ${userFullName} ${title}`),\n name: title,\n description,\n metadata: {\n title: `${userFullName} - ${title}`,\n description: `${userFullName} - ${description}`,\n },\n }\n\n return this.wishlistRepository.update(data)\n }\n\n delete(wishlistId: string): Promise<void> {\n return this.wishlistRepository.delete({ id: wishlistId })\n }\n\n getWishlistBySlug(slug: string): Promise<Wishlist> {\n return this.wishlistRepository.getWishlistBySlug(slug)\n }\n\n getWishlistsByPerson(personId: string): Promise<Wishlist[]> {\n return this.wishlistRepository.getWishlistByPerson(personId)\n }\n\n async addProduct(wishlistId: string, productId: string): Promise<Wishlist> {\n const wishlist = await this.wishlistRepository.get({ id: wishlistId })\n const hasProduct = wishlist.products.some((p) => p == productId)\n\n if (!hasProduct) {\n wishlist.products = [...wishlist.products, productId]\n return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products })\n }\n\n return wishlist\n }\n\n async removeProduct(wishlistId: string, productId: string): Promise<Wishlist> {\n const wishlist = await this.wishlistRepository.get({ id: wishlistId })\n const productIndex = wishlist.products.findIndex((p) => p == productId)\n\n if (productIndex != -1) {\n wishlist.products.splice(productIndex, 1)\n\n if (!wishlist.products.length)\n return this.wishlistRepository.update({ id: wishlistId, products: { action: 'remove' } })\n\n return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products })\n }\n\n return wishlist\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n Coupon,\n SubscriptionRepository,\n isNil,\n pick,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { Observable, from, of } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\n\nimport { CouponService } from './coupon.service'\n\n@Injectable()\nexport class CheckoutSubscriptionService {\n constructor(\n @Inject('CheckoutSubscriptionRepository')\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\n private readonly couponService: CouponService,\n ) {}\n\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\n const checkoutId = cookie.get('checkoutSubscriptionId')\n\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\n\n return from(this.createCheckoutSubscription(checkoutData))\n }\n\n private async createCheckoutSubscription(\n checkoutData?: RequiredCheckoutSubscriptionData,\n ): Promise<CheckoutSubscription> {\n const checkout = await this.checkoutSubscriptionRepository.create({\n createdAt: new Date(),\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n })\n\n cookie.set('checkoutSubscriptionId', checkout.id)\n\n return checkout\n }\n\n clearCheckoutSubscriptionFromSession(): Observable<void> {\n cookie.remove('checkoutSubscriptionId')\n\n return of()\n }\n\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService\n .checkCoupon(nickname, CheckoutTypes.SUBSCRIPTION, checkout, checkout.subscriptionPlan.name)\n .pipe(),\n ),\n )\n }\n\n calcDiscountSubscription(coupon: Coupon) {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) => this.couponService.calcDiscountSubscription(coupon, checkout).pipe()),\n )\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n add,\n Banner,\n Category,\n CategoryRepository,\n Home,\n HomeCategoryGroup,\n HomeData,\n HomeRepository,\n pick,\n Product,\n ProductRepository,\n RequiredArgumentError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\n\n@Injectable()\nexport class HomeShopService {\n private homeConfiguration: Home\n\n private get homeId(): HomeConfigurationId {\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\n\n return null\n }\n\n constructor(\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getHomeData(): Observable<Home> {\n return this.getHomeConfiguration().pipe(\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\n concatMap((home) =>\n home\n ? of(home)\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\n discoverProducts,\n featuredProducts,\n verticalProducts,\n })),\n concatMap((data) => this.saveHomeData(data)),\n ),\n ),\n )\n }\n\n getBanners(type: BannerType): Observable<Banner[]> {\n return this.getHomeConfiguration().pipe(\n map((home) => {\n if (type === 'brand') return home.brandsCarousel\n if (type === 'buyToWin') return [home.buyToWinBanner]\n if (type === 'block') return home.blockBanners\n if (type === 'blog') return [home.blogBanner]\n }),\n )\n }\n\n getMinValueForFreeShipping(): Observable<number> {\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\n }\n\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n forkJoin(\n home.verticalCarousels.filter(Boolean).map((id) =>\n from(this.categoryRepository.get({ id })).pipe(\n concatMap((category) =>\n from(\n this.productRepository.find({\n filters: { categories: { operator: Where.IN, value: [category.id] } },\n limits: { limit: 12 },\n }),\n ).pipe(map((products) => ({ category, products }))),\n ),\n map(({ category, products }) => ({ category, products: products.data })),\n map(this.buildCategoryGroupWithRequiredData),\n ),\n ),\n ),\n ),\n )\n }\n\n private getHomeConfiguration(): Observable<Home> {\n return of(this.homeConfiguration).pipe(\n concatMap((home) =>\n home\n ? of(home)\n : !this.homeId\n ? throwError(new RequiredArgumentError(['homeId']))\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\n ),\n ),\n )\n }\n\n private saveHomeData(homeData: HomeData): Observable<Home> {\n const data = {\n createdAt: new Date(),\n expiresAt: add(new Date(), { hours: 1 }),\n data: homeData,\n }\n\n return from(\n this.homeRepository.update({\n id: this.homeId,\n data,\n }),\n ).pipe(\n tap(() => (this.homeConfiguration.data = data)),\n map(() => this.homeConfiguration),\n )\n }\n\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\n products:\n group?.products?.map((product) =>\n Product.toInstance(\n pick(product?.toPlain() || {}, [\n 'id',\n 'price',\n 'reviews',\n 'hasVariants',\n 'slug',\n 'sku',\n 'stock',\n 'costPrice',\n 'images',\n 'miniatures',\n 'name',\n 'weight',\n 'rate',\n 'type',\n ]),\n ),\n ) || [],\n })\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { AngularFirestore, QueryDocumentSnapshot } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { from, Observable, Subject } from 'rxjs'\nimport { map, mergeMap, tap } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: AngularFirestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n this.angularFirestore\n .doc<QueryDocumentSnapshot<Order>>(`${this.orderRepository.collectionName}/${id}`)\n .valueChanges()\n .pipe(map((doc) => Order.toInstance(doc)))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { Home, Shops } from '@infrab4a/connect'\nimport { combineLatest, Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { BACKEND_URL } from '../consts'\nimport { HomeShopService } from './home-shop.service'\nimport { ShippingMethodResponse } from './types/shipping-methods.type'\n\n@Injectable()\nexport class ShippingService {\n constructor(\n private http: HttpClient,\n @Inject(BACKEND_URL) private apiUrl: string,\n private homeService: HomeShopService,\n ) {}\n\n public getShippingMethods(\n shop: string,\n zip: string,\n weightGrams: number,\n totalPrice: number,\n personId: string,\n subscriptionPlan?: string,\n ): Observable<Array<ShippingMethodResponse & { ShippingCompanyName?: string }>> {\n return combineLatest([\n this.homeService.getHomeData(),\n this.http.get(\n `${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`,\n ),\n ]).pipe(\n map(([datas, shippingMethodsResponse]: [Home & { sameDayNotAvaliable }, any]) => {\n let shippingMethods = shippingMethodsResponse.result as (ShippingMethodResponse & {\n ShippingCompanyName?: string\n })[]\n\n if (!shippingMethods.length) return []\n\n shippingMethods = shippingMethods.map((s) => {\n if (s.ShippingCompanyName == 'Same Day EG') s.ShippingCompanyName = 'Same Day'\n else return s\n })\n\n const datasSameDayNotAvaliable = datas.sameDayNotAvaliable\n\n if (this.isHolidays(datasSameDayNotAvaliable)) {\n shippingMethods = shippingMethods.filter((method) => method.serviceName !== 'Same Day')\n }\n\n if (totalPrice >= 200) {\n shippingMethods = shippingMethods.map((s) => {\n if (s.serviceName !== 'Same Day') return { ...s, totalPrice: 0 }\n else return s\n })\n }\n\n if (shop == Shops.GLAMSHOP) return shippingMethods\n\n if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {\n shippingMethods = shippingMethods.map((s) => {\n if (s.serviceName == 'Same Day') return { ...s, totalPrice: s.totalPrice / 2 }\n else return { ...s, totalPrice: 0 }\n })\n }\n\n if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {\n shippingMethods = shippingMethods.map((s) => {\n return { ...s, totalPrice: s.totalPrice / 2 }\n })\n }\n\n return shippingMethods\n }),\n )\n }\n\n private isFreeShippingBySubscription(shop: string, subscriptionPlan: string): boolean {\n if (!subscriptionPlan) return false\n\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {\n return true\n }\n return false\n }\n\n private isHalfShippingBySubscription(shop: string, subscriptionPlan: string) {\n if (!subscriptionPlan) return false\n\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {\n return true\n }\n\n return false\n }\n\n private isHolidays(datas: any): boolean {\n const today = new Date()\n\n for (const key in datas) {\n let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`)\n let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`)\n\n if (start > end) end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`)\n\n if (today >= start && today <= end) return true\n }\n\n return false\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FirebaseAppConfig,\n FirebaseOptions,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n} from '@angular/fire'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\nimport { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, HASURA_OPTIONS } from './consts'\nimport {\n AuthService,\n CartService,\n CatalogService,\n CategoryService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ShippingService,\n} from './services'\nimport { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters'\n\n@NgModule({\n imports: [AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\n providers: [\n AuthService,\n CartService,\n CatalogService,\n CategoryService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ShippingService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n hasura: HasuraGraphQLOptions\n backendUrl: string\n oldCategoryStructure?: boolean\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\n {\n provide: CATEGORY_STRUCTURE,\n useClass:\n isNil(options?.oldCategoryStructure) || options?.oldCategoryStructure\n ? OldCategoryStructureAdapter\n : NewCategoryStructureAdapter,\n },\n ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\n ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),\n ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\n ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),\n ],\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n FirebaseAppConfig,\n FirebaseOptions,\n} from '@angular/fire'\nimport { AngularFireAuth } from '@angular/fire/auth'\nimport {\n Authentication,\n AuthenticationFirebaseAuthService,\n AuthenticationService,\n Register,\n RegisterService,\n RegisterFirebaseAuthService,\n SignOut,\n UserRepository,\n RecoveryPassword,\n} from '@infrab4a/connect'\n\n@NgModule({\n imports: [AngularFireModule],\n providers: [\n {\n provide: 'Authentication',\n useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {\n return new Authentication(authenticationService, userRepository)\n },\n deps: ['AuthenticationService', 'UserRepository'],\n },\n {\n provide: 'AuthenticationService',\n useFactory: (angularFireAuth: AngularFireAuth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth as any)\n },\n deps: [AngularFireAuth],\n },\n {\n provide: 'Register',\n useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {\n return new Register(registerService, userRepository)\n },\n deps: ['RegisterService', 'UserRepository'],\n },\n {\n provide: 'RegisterService',\n useFactory: (angularFireAuth: AngularFireAuth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth as any)\n },\n deps: [AngularFireAuth],\n },\n {\n provide: 'SignOut',\n useFactory: (authenticationService: AuthenticationService): SignOut => {\n return new SignOut(authenticationService)\n },\n deps: ['AuthenticationService'],\n },\n {\n provide: 'RecoveryPassword',\n useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {\n return new RecoveryPassword(authenticationService)\n },\n deps: ['AuthenticationService'],\n },\n ],\n})\nexport class AngularFirebaseAuthModule {\n static initializeApp(\n options: FirebaseOptions,\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFirebaseAuthModule,\n providers: [\n { provide: FIREBASE_OPTIONS, useValue: options },\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ProductsIndex","AxiosAdapter","NgModule","FIREBASE_OPTIONS","FIREBASE_APP_NAME","AngularFireModule","UserBeautyProfileFirestoreRepository","AngularFirestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","CampaignHashtagFirestoreRepository","CampaignDashboardFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","ShopSettingsFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","APP_INITIALIZER","CategoryHasuraGraphQLRepository","ProductHasuraGraphQLRepository","CategoryFilterHasuraGraphQLRepository","VariantHasuraGraphQLRepository","FilterOptionHasuraGraphQLRepository","FilterHasuraGraphQLRepository","CategoryCollectionChildrenHasuraGraphQLRepository","WishlistHasuraGraphQLRepository","catchError","of","combineLatest","map","mergeMap","from","Injectable","Inject","Where","concatMap","Shops","CheckoutTypes","CouponTypes","Exclusivities","cookie","isNil","throwError","NotFoundError","Checkout","pick","Subject","LineItem","RoundProductPricesHelper","tap","iif","set","ProductSorts","Category","Type","CheckoutSubscription","Product","forkJoin","RequiredArgumentError","add","Order","Authentication","AuthenticationFirebaseAuthService","AngularFireAuth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infrab4a-connect-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/consts/backend-url.const.ts","../../../projects/connect-angular/src/consts/category-structure.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/hasura-options.const.ts","../../../projects/connect-angular/src/angular-hasura-graphql.module.ts","../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/services/coupon.service.ts","../../../projects/connect-angular/src/services/checkout.service.ts","../../../projects/connect-angular/src/services/cart.service.ts","../../../projects/connect-angular/src/services/catalog/catalog.service.ts","../../../projects/connect-angular/src/services/catalog/category.service.ts","../../../projects/connect-angular/src/services/catalog/enums/product-sorts.enum.ts","../../../projects/connect-angular/src/services/catalog/models/category-with-tree.model.ts","../../../projects/connect-angular/src/services/catalog/adapters/new-category-structure.adapter.ts","../../../projects/connect-angular/src/services/catalog/adapters/old-category-structure.adapter.ts","../../../projects/connect-angular/src/services/helpers/util.service.ts","../../../projects/connect-angular/src/services/catalog/wishlist.service.ts","../../../projects/connect-angular/src/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/shipping.service.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosAdapter, AxiosElasticSearchConfig, ProductsIndex } from '@infrab4a/connect'\n\nimport { ES_CONFIG } from './consts/es-config.const'\n\n@NgModule({\n providers: [\n {\n provide: ProductsIndex,\n useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex =>\n new ProductsIndex(new AxiosAdapter(configuration)),\n deps: [ES_CONFIG],\n },\n ],\n})\nexport class AngularElasticSeachModule {\n static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {\n return {\n ngModule: AngularElasticSeachModule,\n providers: [{ provide: ES_CONFIG, useValue: options }],\n }\n }\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FirebaseAppConfig,\n FirebaseOptions,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS\n} from '@angular/fire'\nimport { AngularFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CampaignDashboardFirestoreRepository,\n CampaignDashboardRepository,\n CampaignHashtagFirestoreRepository,\n CampaignHashtagRepository,\n CategoryFirestoreRepository,\n CategoryRepository,\n CheckoutFirestoreRepository,\n CheckoutRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponFirestoreRepository,\n CouponRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadFirestoreRepository,\n LeadRepository,\n LegacyOrderFirestoreRepository,\n LegacyOrderRepository,\n OrderFirestoreRepository,\n OrderRepository,\n PaymentFirestoreRepository,\n PaymentRepository,\n ProductFirestoreRepository,\n ProductRepository,\n ProductVariantFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n ShopSettingsFirestoreRepository,\n ShopSettingsRepository,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressFirestoreRepository,\n UserAddressRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserPaymentMethodFirestoreRepository,\n UserPaymentMethodRepository,\n UserRepository,\n VariantRepository\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG } from './consts/es-config.const'\n\n@NgModule({\n imports: [AngularFireModule, AngularElasticSeachModule],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: AngularFirestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: CategoryFirestoreRepository,\n useFactory: (firestore: AngularFirestore): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: AngularFirestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: AngularFirestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: AngularFirestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CampaignHashtagRepository',\n useFactory: (firestore: AngularFirestore): CampaignHashtagRepository => {\n return new CampaignHashtagFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'CampaignDashboardRepository',\n useFactory: (firestore: AngularFirestore): CampaignDashboardRepository => {\n return new CampaignDashboardFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: AngularFirestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository)\n },\n deps: [AngularFirestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: AngularFirestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: AngularFirestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: AngularFirestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: AngularFirestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: AngularFirestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: AngularFirestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: ProductFirestoreRepository,\n useFactory: (firestore: AngularFirestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'ShopSettingsRepository',\n useFactory: (firestore: AngularFirestore): ShopSettingsRepository => {\n return new ShopSettingsFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: AngularFirestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository)\n },\n deps: [AngularFirestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: AngularFirestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: AngularFirestore): UserRepository => {\n return new UserFirestoreRepository(firestore.firestore)\n },\n deps: [AngularFirestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (\n firestore: AngularFirestore,\n userRepository: UserFirestoreRepository,\n ): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository)\n },\n deps: [AngularFirestore, 'UserRepository'],\n },\n {\n provide: ProductVariantFirestoreRepository,\n useFactory: (firestore: AngularFirestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore.firestore, productRepository)\n },\n deps: [AngularFirestore, ProductFirestoreRepository],\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (firestore: AngularFirestore) => () =>\n firestore.firestore.settings({ ignoreUndefinedProperties: true }),\n deps: [AngularFirestore],\n multi: true,\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFirestoreModule,\n providers: [\n { provide: FIREBASE_OPTIONS, useValue: options.firebase },\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\n { provide: ES_CONFIG, useValue: options.elasticSearch },\n ],\n }\n }\n}\n","export const BACKEND_URL = 'BACKEND_URL'","export const CATEGORY_STRUCTURE = 'CATEGORY_STRUCTURE'\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const HASURA_OPTIONS = 'HASURA_OPTIONS'\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n CategoryCollectionChildrenHasuraGraphQLRepository,\n CategoryFilterHasuraGraphQLRepository,\n CategoryFilterRepository,\n CategoryHasuraGraphQLRepository,\n CategoryRepository,\n FilterHasuraGraphQLRepository,\n FilterOptionHasuraGraphQLRepository,\n FilterOptionRepository,\n FilterRepository,\n HasuraGraphQLAuthOptions,\n ProductHasuraGraphQLRepository,\n ProductRepository,\n VariantHasuraGraphQLRepository,\n VariantRepository,\n WishlistHasuraGraphQLRepository,\n} from '@infrab4a/connect'\nimport { HASURA_OPTIONS } from './consts'\n\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\n\n@NgModule({\n providers: [\n {\n provide: 'CategoryRepository',\n useExisting: CategoryHasuraGraphQLRepository,\n },\n {\n provide: CategoryHasuraGraphQLRepository,\n useFactory: (\n options: HasuraGraphQLOptions,\n productRepository: ProductHasuraGraphQLRepository,\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\n ): CategoryRepository => {\n return new CategoryHasuraGraphQLRepository(\n options.endpoint,\n options.credentials,\n productRepository,\n categoryFilterRepository,\n )\n },\n deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\n },\n {\n provide: 'ProductRepository',\n useExisting: ProductHasuraGraphQLRepository,\n },\n {\n provide: ProductHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): ProductRepository => {\n return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n {\n provide: 'VariantRepository',\n useExisting: VariantHasuraGraphQLRepository,\n },\n {\n provide: VariantHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): VariantRepository => {\n return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n\n {\n provide: 'CategoryFilterRepository',\n useExisting: CategoryFilterHasuraGraphQLRepository,\n },\n {\n provide: CategoryFilterHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): CategoryFilterRepository => {\n return new CategoryFilterHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n\n {\n provide: 'FilterOptionRepository',\n useExisting: FilterOptionHasuraGraphQLRepository,\n },\n {\n provide: FilterOptionHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): FilterOptionRepository => {\n return new FilterOptionHasuraGraphQLRepository(options.endpoint, options.credentials)\n },\n deps: [HASURA_OPTIONS],\n },\n {\n provide: 'FilterRepository',\n useExisting: FilterHasuraGraphQLRepository,\n },\n {\n provide: FilterHasuraGraphQLRepository,\n useFactory: (\n options: HasuraGraphQLOptions,\n filterOptionRepository: FilterOptionHasuraGraphQLRepository,\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\n ): FilterRepository => {\n return new FilterHasuraGraphQLRepository(\n options.endpoint,\n options.credentials,\n filterOptionRepository,\n categoryFilterRepository,\n )\n },\n deps: [HASURA_OPTIONS, FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\n },\n {\n provide: CategoryCollectionChildrenHasuraGraphQLRepository,\n useFactory: (options: HasuraGraphQLOptions): CategoryCollectionChildrenHasuraGraphQLRepository =>\n new CategoryCollectionChildrenHasuraGraphQLRepository(options.endpoint, options.credentials),\n },\n {\n provide: 'CategoryCollectionChildrenRepository',\n useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,\n },\n {\n provide: 'WishlistRepository',\n useExisting: WishlistHasuraGraphQLRepository,\n },\n ],\n})\nexport class AngularHasuraGraphQLModule {\n static initializeApp(options: {\n endpoint: string\n credentials: HasuraGraphQLAuthOptions\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\n return {\n ngModule: AngularHasuraGraphQLModule,\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { AngularFireAuth } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport firebase from 'firebase/app'\nimport { Observable, combineLatest, from, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: AngularFireAuth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<firebase.User>, Observable<User>] = [\n this.angularFireAuth.authState.pipe(catchError(() => of(null))),\n this.getUser().pipe(catchError(() => of(null))),\n ]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => {\n return {\n user,\n isAnonymous: fireUser?.isAnonymous,\n } as { user: User; isAnonymous: boolean }\n }),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? from(this.userRepository.get({ id })).pipe(catchError(() => of(null))) : of(null))),\n )\n }\n\n getTokenId(): Observable<string> {\n return this.angularFireAuth.idToken\n }\n\n getFireUser(): Observable<firebase.User> {\n return this.angularFireAuth.user.pipe(catchError(() => of(null)))\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryRepository,\n Checkout,\n CheckoutSubscription,\n CheckoutTypes,\n Coupon,\n CouponRepository,\n CouponTypes,\n Exclusivities,\n LineItem,\n Order,\n OrderRepository,\n Shops,\n User,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { DEFAULT_SHOP } from '../consts'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CouponService {\n constructor(\n @Inject('CouponRepository') private readonly couponRepository: CouponRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n ) {}\n\n checkCoupon(\n nickname: string,\n checkoutType: CheckoutTypes,\n checkout: Partial<Checkout>,\n plan: string,\n ): Observable<Coupon> {\n return from(\n this.couponRepository\n .find({\n filters: {\n nickname: { operator: Where.EQUALS, value: nickname },\n active: { operator: Where.EQUALS, value: true },\n },\n })\n .then((result) => result.data[0]),\n ).pipe(\n concatMap((coupon) => this.couponValidation(coupon, checkoutType)),\n concatMap((couponValid: Coupon) => this.couponRulesValidation(couponValid, checkoutType, checkout, plan)),\n map((couponValidated: Coupon) => couponValidated as Coupon),\n )\n }\n\n private async couponValidation(coupon: Coupon, checkoutType: CheckoutTypes) {\n if (!coupon) throw 'Cupom inválido.'\n\n if (coupon?.beginAt && coupon?.beginAt.getTime() > new Date().getTime()) throw 'Cupom inválido.'\n\n if (coupon?.expiresIn && coupon?.expiresIn.getTime() < new Date().getTime()) throw 'Cupom expirado.'\n\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\n\n if (!isInShop) throw 'Cupom inválido para loja.'\n\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\n\n if (!isCheckoutType) throw 'Cupom inválido. Erro de checkout.'\n\n return coupon\n }\n\n private async couponRulesValidation(\n coupon: Coupon,\n checkoutType: CheckoutTypes,\n checkout: Partial<Checkout>,\n plan: string,\n ) {\n if (checkoutType == CheckoutTypes.SUBSCRIPTION) {\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase()) throw 'Cupom inválido para sua assinatura.'\n\n return coupon\n }\n\n const validUser = this.coupomUserValidation(coupon, checkout?.user)\n\n if (!validUser) throw 'Usuário não elegível.'\n\n const couponUseLimits = this.getCouponUseLimits(coupon, checkoutType, checkout.user)\n\n if (!couponUseLimits.unlimited || couponUseLimits.limitedPerUser) {\n const orders = await this.getOrdersWithCoupon(coupon)\n\n if (!couponUseLimits.unlimited && couponUseLimits.total && orders.length >= couponUseLimits.total)\n throw 'Limite de uso atingido.'\n\n if (couponUseLimits.limitedPerUser) {\n const ordersWithUser = this.countOrdersWithUser(orders, checkout.user.email)\n\n if (ordersWithUser > 0) throw 'Limite de uso por usuário atingido.'\n }\n }\n\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\n\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\n\n const hasMinSubTotal = await this.hasMinSubTotal(coupon, checkout)\n\n if (!hasMinSubTotal)\n throw `Valor mínimo de ${Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(\n coupon.minSubTotalValue,\n )} não atingido`\n\n return coupon\n }\n\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\n let discount = 0\n\n if (coupon.discount.subscription.type == CouponTypes.ABSOLUTE) discount = coupon.discount.subscription.value\n else discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount.subscription.value / 100)\n\n return of(discount)\n }\n\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\n let discount = 0\n\n if (checkout.user.isSubscriber && coupon.discount.subscriber.value) {\n discount = await this.calcDiscountByType(\n coupon.discount.subscriber.type,\n coupon.discount.subscriber.value,\n coupon.productsCategories,\n checkout,\n )\n } else {\n discount = await this.calcDiscountByType(\n coupon.discount.non_subscriber.type,\n coupon.discount.non_subscriber.value,\n coupon.productsCategories,\n checkout,\n )\n }\n\n return discount\n }\n\n private async calcDiscountByType(\n type: CouponTypes,\n value: number,\n categories,\n checkout: Partial<Checkout>,\n ): Promise<number> {\n let discount = 0\n\n let lineItensDiscount = await this.getLineItensEligebleForDiscount(categories, checkout)\n\n const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop)\n\n if (type == CouponTypes.ABSOLUTE) {\n discount = value > subTotal ? subTotal : value\n } else {\n discount = subTotal * (value / 100)\n }\n\n return discount\n }\n\n private async hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\n if (!coupon.minSubTotalValue) return true\n\n let lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout)\n\n const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop)\n\n if (coupon.minSubTotalValue <= subTotal) return true\n\n return false\n }\n\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\n return true\n }\n\n const couponCategories = await this.getCouponCategoriesId(coupon.productsCategories)\n\n const hasCategories = checkout.lineItems?.filter((i) => {\n if (!i.categories || !i.categories?.length) return true\n return i.categories.some((c) => couponCategories.some((cat) => cat == c))\n })\n\n return hasCategories.length ? true : false\n }\n\n private coupomUserValidation(coupon: Coupon, user: User) {\n if (!user || coupon.exclusivityType.includes(Exclusivities.ALL_USERS)) return true\n\n let userTypes = []\n\n if (coupon.exclusivityType.includes(Exclusivities.COLLABORATORS) && this.emailIsFromCollaborator(user.email))\n userTypes.push(Exclusivities.COLLABORATORS)\n\n if (coupon.exclusivityType.includes(Exclusivities.SPECIFIC_USER) && coupon.userExclusiveEmail.includes(user.email))\n userTypes.push(Exclusivities.SPECIFIC_USER)\n\n if (\n coupon.exclusivityType.includes(Exclusivities.ACTIVE_SUBSCRIBER) &&\n user.isSubscriber &&\n user.subscriptionPlan != ''\n )\n userTypes.push(Exclusivities.ACTIVE_SUBSCRIBER)\n\n if (\n user.isSubscriber &&\n user.subscriptionPlan == '' &&\n coupon.exclusivityType.includes(Exclusivities.INACTIVE_SUBSCRIBER)\n )\n userTypes.push(Exclusivities.INACTIVE_SUBSCRIBER)\n\n if (coupon.exclusivityType.includes(Exclusivities.NON_SUBSCRIBER) && !user.isSubscriber)\n userTypes.push(Exclusivities.NON_SUBSCRIBER)\n\n return coupon.exclusivityType.some((r) => userTypes.includes(r))\n }\n\n private async getCouponCategoriesId(productsCategories: string[]): Promise<Array<String>> {\n const couponCategories: Array<String> = []\n\n for (let index = 0; index < productsCategories.length; index++) {\n const category: Category & { firestoreId?: string } = await this.categoryRepository.get({\n id: productsCategories[index],\n })\n\n if (category) {\n const children = await this.categoryRepository.getChildren(parseInt(productsCategories[index]))\n\n couponCategories.push(category.id, ...children.map((c) => c.id.toString()))\n }\n }\n\n return [...new Set(couponCategories)]\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private async getLineItensEligebleForDiscount(\n productsCategories: string[],\n checkout: Partial<Checkout>,\n ): Promise<LineItem[]> {\n let lineItensDiscount = []\n const couponCategories = await this.getCouponCategoriesId(productsCategories)\n\n if (productsCategories && productsCategories.length) {\n lineItensDiscount = checkout.lineItems?.filter((i) => {\n if (i.categories?.length) {\n return i.categories.some((c) => couponCategories.some((cat) => cat == c))\n }\n return true\n })\n } else {\n lineItensDiscount = checkout.lineItems\n }\n\n return lineItensDiscount\n }\n\n private calcCheckoutSubtotal(lineItens: LineItem[], user: User, shop: string): number {\n return (\n lineItens?.reduce(\n (acc, curr) =>\n user?.isSubscriber && curr.price[shop]?.subscriberPrice\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\n : acc + curr.pricePaid * curr.quantity,\n 0,\n ) || 0\n )\n }\n\n private async getOrdersWithCoupon(coupon: Coupon): Promise<Order[]> {\n return await this.orderRepository\n .find({\n filters: {\n coupon: { id: coupon.id },\n payment: { status: 'paid' },\n },\n })\n .then((result) => result.data)\n }\n\n private countOrdersWithUser(orders: Order[], email: string): number {\n return orders.filter((o) => o.user.email == email).length\n }\n\n private getCouponUseLimits(coupon: Coupon, checkoutType: CheckoutTypes, user: User) {\n let couponUseLimits: { unlimited?: boolean; total?: number; limitedPerUser?: boolean }\n if (checkoutType == CheckoutTypes.ECOMMERCE || checkoutType == CheckoutTypes.ALL) {\n couponUseLimits = user && user.isSubscriber ? coupon.useLimits.subscriber : coupon.useLimits.non_subscriber\n } else {\n couponUseLimits = coupon.useLimits.subscription\n }\n\n return couponUseLimits\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n Coupon,\n NotFoundError,\n OrderRepository,\n Shops,\n User,\n UserRepository,\n isNil,\n pick,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { Observable, from, of, throwError } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { CouponService } from './coupon.service'\nimport { RequiredCheckoutData } from './types'\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly couponService: CouponService,\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\n const checkoutId = cookie.get('checkoutId')\n\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\n\n return from(this.createCheckout(checkoutData))\n }\n\n getUserByCheckout(checkoutId: string): Observable<User> {\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\n concatMap((checkout) =>\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\n ),\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\n )\n }\n\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\n }\n\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\n }\n\n clearCheckoutFromSession(): Observable<void> {\n cookie.remove('checkoutId')\n\n return of()\n }\n\n calcDiscount(coupon: Coupon) {\n return this.getCheckout().pipe(\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\n )\n }\n\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) => this.couponService.checkCoupon(nickname, CheckoutTypes.ECOMMERCE, checkout, null).pipe()),\n )\n }\n\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\n const checkout = await this.checkoutRepository.create({\n createdAt: new Date(),\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n shop: checkoutData?.shop || this.defaultShop,\n })\n\n cookie.set('checkoutId', checkout.id)\n\n return checkout\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Buy2Win,\n Buy2WinFirestoreRepository,\n CategoryRepository,\n Checkout,\n isNil,\n LineItem,\n NotFoundError,\n Product,\n ProductRepository,\n RoundProductPricesHelper,\n ShopPrice,\n Shops,\n User,\n Variant,\n VariantRepository,\n Where,\n} from '@infrab4a/connect'\nimport { from, iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, mergeMap, tap } from 'rxjs/operators'\nimport { DEFAULT_SHOP } from '../consts'\nimport { AuthService } from './auth.service'\nimport { CheckoutService } from './checkout.service'\nimport { RequiredCheckoutData } from './types'\n\nexport type Cart = {\n [id: string]: LineItem\n}\n\n@Injectable()\nexport class CartService {\n private cartSubject: Subject<Cart> = new Subject()\n\n constructor(\n private readonly authService: AuthService,\n private readonly checkoutService: CheckoutService,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('VariantRepository') private readonly variantRepository: VariantRepository,\n @Inject('Buy2WinRepository') private readonly buy2WinRepository: Buy2WinFirestoreRepository,\n ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return from(this.checkoutService.getCheckout()).pipe(\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n decreaseItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.id === item.id)\n\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\n\n return this.cartSubject\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.price.subscriberPrice,\n of(item.price.subscriberPrice),\n of(item.price.price),\n ),\n ),\n catchError(() => of(item.price.price)),\n )\n }\n\n removeItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.id === item.id)\n\n if (index >= 0) checkout.lineItems.splice(index, 1)\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n updateUserCart(user: User): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\n ),\n concatMap(async (checkout) =>\n this.checkoutService\n .updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.length\n ? await Promise.all(\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem),\n )\n : [],\n }),\n )\n .toPromise(),\n ),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n clearCart(): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n this.checkoutService.clearCheckoutFromSession()\n return checkout\n }),\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\n return this.checkoutService.getCheckout(checkoutData).pipe(\n map((checkout) => checkout.lineItems),\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\n )\n }\n\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\n concatMap((checkoutLoaded) => {\n const items: LineItem[] = []\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.id).indexOf(lineItem.id)\n\n if (index > -1) {\n checkoutLoaded.lineItems[index].quantity += quantity\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\n } else\n checkoutLoaded.lineItems = items.concat(\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\n )\n\n return this.checkoutService\n .updateCheckoutLineItems(checkoutLoaded)\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\n }),\n )\n\n private generateCartObject = (items: LineItem[]): Cart =>\n items\n ? items.reduce(\n (cart, item) => ({\n ...cart,\n [item.id]: LineItem.toInstance({\n ...(cart[item.id] || item),\n quantity: (cart[item.id]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n }),\n }),\n {},\n )\n : []\n\n private buildLineItem = async ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): Promise<{ checkout: Partial<Checkout>; lineItem: LineItem }> => {\n const product = await this.getProductData(item.id)\n\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.id === item.id)?.quantity || 0\n\n if (this.checkMaxStock(item, quantity || 0))\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\n\n const image = item.image || item.images?.shift()\n const { id, name, EAN, slug, stock, price, weight, sku, type } = item\n const isGift = item.isGift || null\n const pricePaid = this.getProductPrice({\n product: item,\n shop: checkout.shop || this.defaultShop,\n isSubscriber: checkout.user?.isSubscriber,\n })\n\n RoundProductPricesHelper.roundProductPrices(item)\n\n return {\n checkout,\n lineItem: LineItem.toInstance({\n id,\n name: name ?? product.name,\n EAN: EAN ?? product.EAN,\n brand: product.brand,\n slug: slug ?? product.slug,\n sku: sku ?? product.sku,\n stock,\n price: this.roundPrice(price),\n image,\n weight: weight ?? product.weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories: product.categories ?? [],\n isGift: isGift ?? null,\n costPrice: product.costPrice ?? 0,\n type,\n }),\n }\n }\n\n private roundPrice(productPrice: ShopPrice): ShopPrice {\n const { price, fullPrice, subscriberPrice } = productPrice\n return {\n ...productPrice,\n price: Number(price.toFixed(2)),\n fullPrice: Number(fullPrice.toFixed(2)),\n ...(subscriberPrice && { subscriberPrice: Number(subscriberPrice.toFixed(2)) }),\n }\n }\n\n private async getProductData(productId: string): Promise<Partial<Product>> {\n let product: Product\n let variant: Variant\n\n try {\n product = await this.productRepository.get({ id: productId })\n } catch (error) {\n if (!(error instanceof NotFoundError)) throw error\n\n const { data: variants } = await this.variantRepository.find({ filters: { id: productId } })\n\n variant = variants.shift()\n\n if (!variant) throw error\n\n product = await this.productRepository.get({ id: variant.productId })\n }\n\n return {\n ...product.toPlain(),\n ...(variant && { ...variant.toPlain() }),\n }\n }\n\n private getProductPrice = ({\n product,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.price\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0\n ? Number(info.subscriberPrice.toFixed(2))\n : Number(info.price.toFixed(2))\n }\n\n private checkMaxStock = (item: LineItem, quantity: number) => {\n const maxStock = item.stock?.quantity || 0\n const currentItemAmount = item.quantity || 0\n\n return currentItemAmount + quantity > maxStock\n }\n\n getGifts() {\n return this.checkoutService.getCheckout().pipe(\n mergeMap(async (checkout) => {\n const notGiftItems: LineItem[] = checkout.lineItems ? checkout.lineItems.filter((item) => !item.isGift) : []\n\n if (!notGiftItems.length) return { ...checkout, lineItems: [] } as Checkout\n\n const cartTotal = notGiftItems.reduce((a, b) => a + b.pricePaid * b.quantity, 0)\n\n const campaigns = await this.buy2WinRepository\n .find({\n filters: {\n active: { operator: Where.EQUALS, value: true },\n shop: { operator: Where.EQUALS, value: this.defaultShop },\n },\n })\n .then((data) => data.data)\n\n if (!campaigns.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const elegibleCampaigns: Buy2Win[] = []\n\n for (const campaign of campaigns) {\n const today = new Date().getDate()\n\n if (!(campaign.startDate.getDate() <= today) && !(campaign.endDate.getDate() >= today)) continue\n\n if (campaign.activeCategory) {\n const categoriesCampaing = campaign.categories.map((c) => c.id.toString())\n const categoriesCampaingFullTree = []\n\n for (const id of categoriesCampaing) {\n const children = await this.categoryRepository.getChildren(parseInt(id))\n\n categoriesCampaingFullTree.push(id, ...children.map((c) => c.id.toString()))\n }\n\n const categoriesCampaingTree = [...new Set(categoriesCampaingFullTree)]\n const filterProductsCategories = checkout.lineItems.filter((l) => {\n if (!l.categories || !l.categories?.length) return true\n\n return l.categories.some((c) => categoriesCampaingTree.some((cat) => cat == c))\n })\n\n if (filterProductsCategories.length) {\n const cartTotalCategories = filterProductsCategories.reduce((a, b) => a + b.pricePaid * b.quantity, 0)\n\n if (cartTotalCategories >= campaign.cartValueMin) elegibleCampaigns.push(campaign)\n }\n } else {\n if (campaign.cartValue && campaign.cartValue > 0) {\n if (campaign.cartValue <= cartTotal) elegibleCampaigns.push(campaign)\n }\n }\n }\n\n if (!elegibleCampaigns.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const campaingnProducts: Product[][] = []\n\n for (const campaign of elegibleCampaigns) {\n let elegibleProducts = []\n\n for (const product of campaign.products) {\n const { data: productData } = await this.productRepository.find({ filters: { sku: product } })\n\n if (!productData.length) continue\n\n const gift = productData.shift()\n\n if (gift.stock.quantity < 1) continue\n\n elegibleProducts.push(gift)\n }\n\n campaingnProducts.push(elegibleProducts)\n }\n\n if (!campaingnProducts.length) return { ...checkout, lineItems: notGiftItems } as Checkout\n\n const gifts = this.giftToLineItems([].concat(...campaingnProducts))\n\n return { ...checkout, lineItems: notGiftItems.concat(gifts) }\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private giftToLineItems(items: Product[]): LineItem[] {\n return items.map((item) => {\n const { brand, categories, id, name, price, sku, slug, stock, weight, EAN } = item\n\n const image = item?.miniatures?.length ? item.miniatures[0] : item.images[0]\n\n return LineItem.toInstance({\n brand,\n categories,\n id: id.toString(),\n name,\n price,\n sku,\n slug,\n stock,\n weight,\n EAN,\n image,\n pricePaid: 0,\n quantity: 1,\n isGift: true,\n })\n })\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n Product,\n ProductGender,\n ProductRepository,\n RepositoryFindFielters,\n RepositoryOrderBy,\n RoundProductPricesHelper,\n set,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts'\nimport { CategoryStructureAdapter } from './adapters'\nimport { ProductSort } from './types/product-sort.type'\n\ntype FetchProductsFilters = {\n clubDiscount?: number[]\n brands?: string[]\n prices?: { min?: number; max?: number; subscriberPrice?: boolean }\n gender?: ProductGender[]\n rate?: number\n tags?: []\n customOptions?: string[]\n}\n\ntype FetchProductsOptions = {\n page?: number\n perPage?: number\n filters?: FetchProductsFilters\n sort?: ProductSort\n mainGender?: ProductGender\n}\n\ntype FetchProductsResponse = {\n products: { data: Product[]; total: number }\n pages: number\n prices: {\n price: { min: number; max: number }\n subscriberPrice: { min: number; max: number }\n }\n}\n\n@Injectable()\nexport class CatalogService<T extends Category = Category> {\n constructor(\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject(CATEGORY_STRUCTURE) private readonly categoryStructureAdapter: CategoryStructureAdapter,\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n ) {}\n\n async fetchProducts(category: T, options?: FetchProductsOptions): Promise<FetchProductsResponse> {\n const limits = this.buildLimitQuery(options)\n\n return await this.productRepository\n .findCatalog(\n {\n filters: {\n ...(await this.categoryStructureAdapter.buildProductFilterByCategory(category)),\n ...this.buildFilterQuery(options?.filters || {}),\n },\n ...(options?.sort ? { orderBy: this.buildSortQuery(options?.sort) } : {}),\n limits,\n options: { minimal: ['price'], maximum: ['price'] },\n },\n options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female',\n )\n .then(({ data, count: total, maximum, minimal }) => ({\n products: { data: data.map((product) => RoundProductPricesHelper.roundProductPrices(product)), total },\n pages: Math.ceil(total / limits.limit),\n prices: {\n price: { min: +minimal?.price?.price?.toFixed(2), max: +maximum?.price?.price?.toFixed(2) },\n subscriberPrice: {\n min: +minimal?.price?.subscriberPrice?.toFixed(2),\n max: +maximum?.price?.subscriberPrice?.toFixed(2),\n },\n },\n }))\n }\n\n private buildFilterQuery = ({\n clubDiscount,\n brands,\n prices,\n gender,\n tags,\n rate,\n customOptions,\n }: FetchProductsFilters): RepositoryFindFielters<Product> => {\n const filters = {} as RepositoryFindFielters<Product>\n\n if (clubDiscount?.length)\n set(filters, 'price.subscriberDiscountPercentage', { operator: Where.IN, value: clubDiscount })\n if (brands?.length) filters.brand = { operator: Where.IN, value: brands }\n if (gender?.length)\n filters.tags = {\n operator: Where.IN,\n value: gender\n .map((genderOptions) =>\n genderOptions === 'female' ? 'feminino' : genderOptions === 'male' ? 'masculino' : null,\n )\n .filter(Boolean),\n }\n if (prices?.min || prices?.max)\n set(filters, prices.subscriberPrice ? 'price.subscriberPrice' : 'price.price', [\n ...(prices.min ? [{ operator: Where.GTE, value: Math.round(prices.min) }] : []),\n ...(prices.max ? [{ operator: Where.LTE, value: Math.ceil(prices.max) }] : []),\n ])\n if (rate) filters.rate = { operator: Where.GTE, value: rate }\n if (tags?.length) filters.tags = { operator: Where.LIKE, value: tags }\n if (customOptions?.length) filters.filters = { operator: Where.LIKE, value: customOptions }\n\n return filters\n }\n\n private buildSortQuery = (sort: ProductSort): RepositoryOrderBy<Product> => {\n if (!sort || sort === 'most-relevant') return {}\n\n if (sort === 'best-sellers') return { shoppingCount: 'desc' }\n if (sort === 'biggest-price') return { price: 'desc' }\n if (sort === 'lowest-price') return { price: 'asc' }\n if (sort === 'best-rating') return { rate: 'desc' }\n if (sort === 'news') return { createdAt: 'desc' }\n }\n\n private buildLimitQuery = (options: { page?: number; perPage?: number }): { limit?: number; offset?: number } => {\n const limit = options?.perPage || 20\n\n return {\n limit,\n offset: ((options?.page || 1) - 1) * limit,\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryFilterRepository,\n CategoryRepository,\n Filter,\n ProductGender,\n ProductRepository,\n Shops,\n} from '@infrab4a/connect'\nimport { CATEGORY_STRUCTURE, DEFAULT_SHOP } from '../../consts'\nimport { CategoryStructureAdapter } from './adapters'\n\n@Injectable()\nexport class CategoryService {\n constructor(\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('CategoryFilterRepository') private readonly categoryFilterRepository: CategoryFilterRepository,\n @Inject(CATEGORY_STRUCTURE) private readonly categoryStructureAdapter: CategoryStructureAdapter,\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n ) {}\n\n async fetchBrands(category: Category, mainGender?: ProductGender): Promise<Category[]> {\n const brands = await this.productRepository\n .findCatalog(\n {\n filters: await this.categoryStructureAdapter.buildProductFilterByCategory(category),\n fields: ['brand'],\n },\n mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female',\n )\n .then(({ data }) =>\n Object.keys(data.map((product) => product.brand).reduce((brands, brand) => ({ ...brands, [brand]: true }), {})),\n )\n\n return this.categoryRepository\n .find({ filters: { brandCategory: true }, orderBy: { name: 'asc' } })\n .then(({ data }) => data.filter((category) => brands.includes(category.conditions.brand)))\n }\n\n async fetchFilterOptions(category: Category, filters?: string[]): Promise<Filter[]> {\n return await this.categoryFilterRepository\n .find({ filters: { categoryId: +category.id } })\n .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter))\n }\n}\n","export enum ProductSorts {\n MOST_RELEVANT = 'most-relevant',\n BEST_SELLER = 'best-sellers',\n BIGGEST_PRICE = 'biggest-price',\n LOWEST_PRICE = 'lowest-price',\n BIGGEST_DISCOUNT = 'biggest-discount',\n BEST_RATING = 'best-rating',\n NEWS = 'news',\n}\n","import { Type } from 'class-transformer'\n\nimport { Category } from '@infrab4a/connect'\n\nexport class CategoryWithTree extends Category {\n @Type(() => CategoryWithTree)\n children?: CategoryWithTree[]\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryCollectionChildrenRepository,\n CategoryRepository,\n isNil,\n Product,\n RepositoryFindFielters,\n Where,\n} from '@infrab4a/connect'\nimport { CategoryStructureAdapter } from './category-structure.adapter'\n\n@Injectable()\nexport class NewCategoryStructureAdapter implements CategoryStructureAdapter {\n constructor(\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('CategoryCollectionChildrenRepository')\n private readonly categoryCollectionChildrenRepository: CategoryCollectionChildrenRepository,\n ) {}\n\n async buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>> {\n const categoriesIds = (await this.isCollection(category))\n ? await this.getAllCategoriesIdFromCollection(category)\n : [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()]\n\n return { category: { id: { operator: Where.IN, value: categoriesIds } } }\n }\n\n private async getAllCategoriesIdFromCategory(category: Category): Promise<string[]> {\n return this.categoryRepository\n .getChildren(+category.id)\n .then((categories) => categories.map((category) => category.id.toString()))\n }\n\n private async getAllCategoriesIdFromCollection(category: Category): Promise<string[]> {\n return this.categoryCollectionChildrenRepository\n .find({ filters: { collectionId: +category.id } })\n .then(({ data }) => data.map((categoryCollection) => categoryCollection.categoryId.toString()))\n }\n\n private async isCollection(category: Category): Promise<boolean> {\n return !isNil(category.isCollection)\n ? category.isCollection\n : this.categoryRepository.get({ id: category.id }).then((category) => category.isCollection)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { Category, CategoryRepository, Product, RepositoryFindFielters, Where } from '@infrab4a/connect'\nimport { CategoryStructureAdapter } from './category-structure.adapter'\n\n@Injectable()\nexport class OldCategoryStructureAdapter implements CategoryStructureAdapter {\n constructor(@Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository) {}\n\n async buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>> {\n const productsIds = category.products?.length\n ? category.products\n : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products)\n\n return { id: { operator: Where.IN, value: productsIds } }\n }\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilService {\n constructor() {}\n\n createSlug(name: string): string {\n return name\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/[ãàáäâ]/g, 'a') // Replace spaces with -\n .replace(/[ẽèéëê]/g, 'e') // Replace spaces with -\n .replace(/[ìíïî]/g, 'i') // Replace spaces with -\n .replace(/[õòóöô]/g, 'o') // Replace spaces with -\n .replace(/[ùúüû]/g, 'u') // Replace spaces with -\n .replace(/[ñ]/g, 'n') // Replace spaces with -\n .replace(/[ç]/g, 'c') // Replace spaces with -\n .replace(/[&]/g, 'and') // Replace spaces with -\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word chars\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CategoryCollectionChildrenRepository,\n CategoryFilterRepository,\n ProductRepository,\n Shops,\n Wishlist,\n WishlistRepository,\n} from '@infrab4a/connect'\nimport { DEFAULT_SHOP } from '../../consts'\nimport { UtilService } from '../helpers'\nimport { NewCategoryStructureAdapter } from './adapters'\nimport { CatalogService } from './catalog.service'\nimport { CategoryService } from './category.service'\n\n@Injectable()\nexport class WishlistService {\n constructor(\n @Inject('WishlistRepository') private readonly wishlistRepository: WishlistRepository,\n @Inject('ProductRepository') productRepository: ProductRepository,\n @Inject('CategoryFilterRepository') categoryFilterRepository: CategoryFilterRepository,\n categoryCollectionChildrenRepository: CategoryCollectionChildrenRepository,\n categoryStructureAdapter = new NewCategoryStructureAdapter(\n wishlistRepository,\n categoryCollectionChildrenRepository,\n ),\n @Inject(DEFAULT_SHOP) private readonly shop: Shops,\n private readonly catalogService = new CatalogService<Wishlist>(productRepository, categoryStructureAdapter, shop),\n private readonly categoryService = new CategoryService(\n productRepository,\n wishlistRepository,\n categoryFilterRepository,\n categoryStructureAdapter,\n shop,\n ),\n private utilService: UtilService,\n ) {}\n\n getCatalogService() {\n return this.catalogService\n }\n\n getCategoryService() {\n return this.categoryService\n }\n\n async create(personId: string, title: string, description: string, userFullName: string): Promise<Wishlist> {\n const data = {\n slug: this.utilService.createSlug(`favoritos ${userFullName} ${title}`),\n name: title,\n description,\n metadata: {\n title: `${userFullName} - ${title}`,\n description: `${userFullName} - ${description}`,\n },\n shop: this.shop,\n shops: [this.shop],\n personId,\n brandCategory: false,\n published: true,\n }\n\n const newWishlist = await this.wishlistRepository.create(data)\n\n return this.wishlistRepository.update({ id: newWishlist.id, slug: `${newWishlist.id}-${newWishlist.slug}` })\n }\n\n update(id: string, title: string, description: string, userFullName: string): Promise<Wishlist> {\n const data = {\n id,\n slug: this.utilService.createSlug(`${id}-favoritos ${userFullName} ${title}`),\n name: title,\n description,\n metadata: {\n title: `${userFullName} - ${title}`,\n description: `${userFullName} - ${description}`,\n },\n }\n\n return this.wishlistRepository.update(data)\n }\n\n delete(wishlistId: string): Promise<void> {\n return this.wishlistRepository.delete({ id: wishlistId })\n }\n\n getWishlistBySlug(slug: string): Promise<Wishlist> {\n return this.wishlistRepository.getWishlistBySlug(slug)\n }\n\n getWishlistsByPerson(personId: string): Promise<Wishlist[]> {\n return this.wishlistRepository.getWishlistByPerson(personId)\n }\n\n async addProduct(wishlistId: string, productId: string): Promise<Wishlist> {\n const wishlist = await this.wishlistRepository.get({ id: wishlistId })\n const hasProduct = wishlist.products.some((p) => p == productId)\n\n if (!hasProduct) {\n wishlist.products = [...wishlist.products, productId]\n return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products })\n }\n\n return wishlist\n }\n\n async removeProduct(wishlistId: string, productId: string): Promise<Wishlist> {\n const wishlist = await this.wishlistRepository.get({ id: wishlistId })\n const productIndex = wishlist.products.findIndex((p) => p == productId)\n\n if (productIndex != -1) {\n wishlist.products.splice(productIndex, 1)\n\n if (!wishlist.products.length)\n return this.wishlistRepository.update({ id: wishlistId, products: { action: 'remove' } })\n\n return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products })\n }\n\n return wishlist\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n Coupon,\n SubscriptionRepository,\n isNil,\n pick,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { Observable, from, of } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\n\nimport { CouponService } from './coupon.service'\n\n@Injectable()\nexport class CheckoutSubscriptionService {\n constructor(\n @Inject('CheckoutSubscriptionRepository')\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\n private readonly couponService: CouponService,\n ) {}\n\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\n const checkoutId = cookie.get('checkoutSubscriptionId')\n\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\n\n return from(this.createCheckoutSubscription(checkoutData))\n }\n\n private async createCheckoutSubscription(\n checkoutData?: RequiredCheckoutSubscriptionData,\n ): Promise<CheckoutSubscription> {\n const checkout = await this.checkoutSubscriptionRepository.create({\n createdAt: new Date(),\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n })\n\n cookie.set('checkoutSubscriptionId', checkout.id)\n\n return checkout\n }\n\n clearCheckoutSubscriptionFromSession(): Observable<void> {\n cookie.remove('checkoutSubscriptionId')\n\n return of()\n }\n\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService\n .checkCoupon(nickname, CheckoutTypes.SUBSCRIPTION, checkout, checkout.subscriptionPlan.name)\n .pipe(),\n ),\n )\n }\n\n calcDiscountSubscription(coupon: Coupon) {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) => this.couponService.calcDiscountSubscription(coupon, checkout).pipe()),\n )\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n add,\n Banner,\n Category,\n CategoryRepository,\n Home,\n HomeCategoryGroup,\n HomeData,\n HomeRepository,\n pick,\n Product,\n ProductRepository,\n RequiredArgumentError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\n\n@Injectable()\nexport class HomeShopService {\n private homeConfiguration: Home\n\n private get homeId(): HomeConfigurationId {\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\n\n return null\n }\n\n constructor(\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getHomeData(): Observable<Home> {\n return this.getHomeConfiguration().pipe(\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\n concatMap((home) =>\n home\n ? of(home)\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\n discoverProducts,\n featuredProducts,\n verticalProducts,\n })),\n concatMap((data) => this.saveHomeData(data)),\n ),\n ),\n )\n }\n\n getBanners(type: BannerType): Observable<Banner[]> {\n return this.getHomeConfiguration().pipe(\n map((home) => {\n if (type === 'brand') return home.brandsCarousel\n if (type === 'buyToWin') return [home.buyToWinBanner]\n if (type === 'block') return home.blockBanners\n if (type === 'blog') return [home.blogBanner]\n }),\n )\n }\n\n getMinValueForFreeShipping(): Observable<number> {\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\n }\n\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n forkJoin(\n home.verticalCarousels.filter(Boolean).map((id) =>\n from(this.categoryRepository.get({ id })).pipe(\n concatMap((category) =>\n from(\n this.productRepository.find({\n filters: { categories: { operator: Where.IN, value: [category.id] } },\n limits: { limit: 12 },\n }),\n ).pipe(map((products) => ({ category, products }))),\n ),\n map(({ category, products }) => ({ category, products: products.data })),\n map(this.buildCategoryGroupWithRequiredData),\n ),\n ),\n ),\n ),\n )\n }\n\n private getHomeConfiguration(): Observable<Home> {\n return of(this.homeConfiguration).pipe(\n concatMap((home) =>\n home\n ? of(home)\n : !this.homeId\n ? throwError(new RequiredArgumentError(['homeId']))\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\n ),\n ),\n )\n }\n\n private saveHomeData(homeData: HomeData): Observable<Home> {\n const data = {\n createdAt: new Date(),\n expiresAt: add(new Date(), { hours: 1 }),\n data: homeData,\n }\n\n return from(\n this.homeRepository.update({\n id: this.homeId,\n data,\n }),\n ).pipe(\n tap(() => (this.homeConfiguration.data = data)),\n map(() => this.homeConfiguration),\n )\n }\n\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\n products:\n group?.products?.map((product) =>\n Product.toInstance(\n pick(product?.toPlain() || {}, [\n 'id',\n 'price',\n 'reviews',\n 'hasVariants',\n 'slug',\n 'sku',\n 'stock',\n 'costPrice',\n 'images',\n 'miniatures',\n 'name',\n 'weight',\n 'rate',\n 'type',\n ]),\n ),\n ) || [],\n })\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { AngularFirestore, QueryDocumentSnapshot } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { from, Observable, Subject } from 'rxjs'\nimport { map, mergeMap, tap } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: AngularFirestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n this.angularFirestore\n .doc<QueryDocumentSnapshot<Order>>(`${this.orderRepository.collectionName}/${id}`)\n .valueChanges()\n .pipe(map((doc) => Order.toInstance(doc)))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable } from '@angular/core'\nimport { Home, Shops } from '@infrab4a/connect'\nimport { combineLatest, Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { BACKEND_URL } from '../consts'\nimport { HomeShopService } from './home-shop.service'\nimport { ShippingMethodResponse } from './types/shipping-methods.type'\n\n@Injectable()\nexport class ShippingService {\n constructor(\n private http: HttpClient,\n @Inject(BACKEND_URL) private apiUrl: string,\n private homeService: HomeShopService,\n ) {}\n\n public getShippingMethods(\n shop: string,\n zip: string,\n weightGrams: number,\n totalPrice: number,\n personId: string,\n subscriptionPlan?: string,\n ): Observable<Array<ShippingMethodResponse & { ShippingCompanyName?: string }>> {\n return combineLatest([\n this.homeService.getHomeData(),\n this.http.get(\n `${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`,\n ),\n ]).pipe(\n map(([datas, shippingMethodsResponse]: [Home & { sameDayNotAvaliable }, any]) => {\n let shippingMethods = shippingMethodsResponse.result as (ShippingMethodResponse & {\n ShippingCompanyName?: string\n })[]\n\n if (!shippingMethods.length) return []\n\n shippingMethods = shippingMethods.map((s) => {\n if (s.ShippingCompanyName == 'Same Day EG') s.ShippingCompanyName = 'Same Day'\n else return s\n })\n\n const datasSameDayNotAvaliable = datas.sameDayNotAvaliable\n\n if (this.isHolidays(datasSameDayNotAvaliable)) {\n shippingMethods = shippingMethods.filter((method) => method.serviceName !== 'Same Day')\n }\n\n if (totalPrice >= 200) {\n shippingMethods = shippingMethods.map((s) => {\n if (s.serviceName !== 'Same Day') return { ...s, totalPrice: 0 }\n else return s\n })\n }\n\n if (shop == Shops.GLAMSHOP) return shippingMethods\n\n if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {\n shippingMethods = shippingMethods.map((s) => {\n if (s.serviceName == 'Same Day') return { ...s, totalPrice: s.totalPrice / 2 }\n else return { ...s, totalPrice: 0 }\n })\n }\n\n if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {\n shippingMethods = shippingMethods.map((s) => {\n return { ...s, totalPrice: s.totalPrice / 2 }\n })\n }\n\n return shippingMethods\n }),\n )\n }\n\n private isFreeShippingBySubscription(shop: string, subscriptionPlan: string): boolean {\n if (!subscriptionPlan) return false\n\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {\n return true\n }\n return false\n }\n\n private isHalfShippingBySubscription(shop: string, subscriptionPlan: string) {\n if (!subscriptionPlan) return false\n\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {\n return true\n }\n\n return false\n }\n\n private isHolidays(datas: any): boolean {\n const today = new Date()\n\n for (const key in datas) {\n let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`)\n let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`)\n\n if (start > end) end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`)\n\n if (today >= start && today <= end) return true\n }\n\n return false\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FirebaseAppConfig,\n FirebaseOptions,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n} from '@angular/fire'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\nimport { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, HASURA_OPTIONS } from './consts'\nimport {\n AuthService,\n CartService,\n CatalogService,\n CategoryService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ShippingService,\n WishlistService,\n} from './services'\nimport { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters'\n\n@NgModule({\n imports: [AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\n providers: [\n AuthService,\n CartService,\n CatalogService,\n CategoryService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ShippingService,\n WishlistService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n hasura: HasuraGraphQLOptions\n backendUrl: string\n oldCategoryStructure?: boolean\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\n {\n provide: CATEGORY_STRUCTURE,\n useClass:\n isNil(options?.oldCategoryStructure) || options?.oldCategoryStructure\n ? OldCategoryStructureAdapter\n : NewCategoryStructureAdapter,\n },\n ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\n ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),\n ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\n ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),\n ],\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport {\n AngularFireModule,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n FirebaseAppConfig,\n FirebaseOptions,\n} from '@angular/fire'\nimport { AngularFireAuth } from '@angular/fire/auth'\nimport {\n Authentication,\n AuthenticationFirebaseAuthService,\n AuthenticationService,\n Register,\n RegisterService,\n RegisterFirebaseAuthService,\n SignOut,\n UserRepository,\n RecoveryPassword,\n} from '@infrab4a/connect'\n\n@NgModule({\n imports: [AngularFireModule],\n providers: [\n {\n provide: 'Authentication',\n useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {\n return new Authentication(authenticationService, userRepository)\n },\n deps: ['AuthenticationService', 'UserRepository'],\n },\n {\n provide: 'AuthenticationService',\n useFactory: (angularFireAuth: AngularFireAuth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth as any)\n },\n deps: [AngularFireAuth],\n },\n {\n provide: 'Register',\n useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {\n return new Register(registerService, userRepository)\n },\n deps: ['RegisterService', 'UserRepository'],\n },\n {\n provide: 'RegisterService',\n useFactory: (angularFireAuth: AngularFireAuth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth as any)\n },\n deps: [AngularFireAuth],\n },\n {\n provide: 'SignOut',\n useFactory: (authenticationService: AuthenticationService): SignOut => {\n return new SignOut(authenticationService)\n },\n deps: ['AuthenticationService'],\n },\n {\n provide: 'RecoveryPassword',\n useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {\n return new RecoveryPassword(authenticationService)\n },\n deps: ['AuthenticationService'],\n },\n ],\n})\nexport class AngularFirebaseAuthModule {\n static initializeApp(\n options: FirebaseOptions,\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFirebaseAuthModule,\n providers: [\n { provide: FIREBASE_OPTIONS, useValue: options },\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ProductsIndex","AxiosAdapter","NgModule","FIREBASE_OPTIONS","FIREBASE_APP_NAME","AngularFireModule","UserBeautyProfileFirestoreRepository","AngularFirestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","CampaignHashtagFirestoreRepository","CampaignDashboardFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","ShopSettingsFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","APP_INITIALIZER","CategoryHasuraGraphQLRepository","ProductHasuraGraphQLRepository","CategoryFilterHasuraGraphQLRepository","VariantHasuraGraphQLRepository","FilterOptionHasuraGraphQLRepository","FilterHasuraGraphQLRepository","CategoryCollectionChildrenHasuraGraphQLRepository","WishlistHasuraGraphQLRepository","catchError","of","combineLatest","map","mergeMap","from","Injectable","Inject","Where","concatMap","Shops","CheckoutTypes","CouponTypes","Exclusivities","cookie","isNil","throwError","NotFoundError","Checkout","pick","Subject","LineItem","RoundProductPricesHelper","tap","iif","set","ProductSorts","Category","Type","CheckoutSubscription","Product","forkJoin","RequiredArgumentError","add","Order","Authentication","AuthenticationFirebaseAuthService","AngularFireAuth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword"],"mappings":"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"}
|