@infrab4a/connect-angular 0.15.0-beta.2 → 0.15.0-beta.4

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.
@@ -1282,7 +1282,12 @@
1282
1282
  },
1283
1283
  ], imports: [[
1284
1284
  AngularElasticSeachModule,
1285
- i1$2.provideFirebaseApp(function (injector) { return i1$2.initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)); }),
1285
+ i1$2.provideFirebaseApp(function (injector) {
1286
+ var appName = injector.get(FIREBASE_APP_NAME);
1287
+ return appName
1288
+ ? i1$2.initializeApp(injector.get(FIREBASE_OPTIONS), appName)
1289
+ : i1$2.initializeApp(injector.get(FIREBASE_OPTIONS));
1290
+ }),
1286
1291
  i1$1.provideFirestore(function () { return i1$1.getFirestore(); }),
1287
1292
  ]] });
1288
1293
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: AngularFirestoreModule, decorators: [{
@@ -1290,7 +1295,12 @@
1290
1295
  args: [{
1291
1296
  imports: [
1292
1297
  AngularElasticSeachModule,
1293
- i1$2.provideFirebaseApp(function (injector) { return i1$2.initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)); }),
1298
+ i1$2.provideFirebaseApp(function (injector) {
1299
+ var appName = injector.get(FIREBASE_APP_NAME);
1300
+ return appName
1301
+ ? i1$2.initializeApp(injector.get(FIREBASE_OPTIONS), appName)
1302
+ : i1$2.initializeApp(injector.get(FIREBASE_OPTIONS));
1303
+ }),
1294
1304
  i1$1.provideFirestore(function () { return i1$1.getFirestore(); }),
1295
1305
  ],
1296
1306
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"infrab4a-connect-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/firebase-const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.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/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-connect.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","import { Injectable, Inject } from '@angular/core'\nimport { Auth, authState, getIdToken, User as FirebaseUser } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: Auth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<FirebaseUser>, Observable<User>] = [this.getFireUser(), this.getUser()]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => ({\n user,\n isAnonymous: fireUser?.isAnonymous,\n })),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n catchError(() => of(null)),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(getIdToken(this.angularFireAuth.currentUser))\n }\n\n getFireUser(): Observable<FirebaseUser> {\n return authState(this.angularFireAuth).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { InjectionToken } from '@angular/core'\n\nexport const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName')\nexport const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions')\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { InvalidCouponError } from './invalid-coupon.error'\n\nexport class GroupInvalidCouponError extends Error {\n constructor(readonly errors: InvalidCouponError[]) {\n super('Many coupon errors throw')\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n Coupon,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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 ) {}\n\n checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes): Observable<FinancialCoupon[]> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n checkoutType: { operator: Where.EQUALS, value: checkoutType },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data),\n ),\n map((coupons) => this.separateValidCoupons(coupons, userEmail)),\n map(({ valids, invalids }) => {\n if (!valids.length) throw new GroupInvalidCouponError(invalids)\n\n return valids\n }),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private separateValidCoupons = (\n coupons: Coupon[],\n userEmail: string,\n ): { valids: FinancialCoupon[]; invalids: InvalidCouponError[] } =>\n coupons\n .map((coupon) => {\n try {\n if (!FinancialCoupon.isFinancialCoupon(coupon)) throw new InvalidCouponError('Coupon is not valid')\n if (this.isValidCoupon(coupon, userEmail)) return coupon\n } catch (error) {\n return error as InvalidCouponError\n }\n })\n .reduce(\n (current, coupon) => ({\n ...current,\n ...(FinancialCoupon.isFinancialCoupon(coupon)\n ? { valids: [...current.valids, coupon] }\n : { invalids: [...current.invalids, coupon] }),\n }),\n {\n valids: [] as FinancialCoupon[],\n invalids: [] as InvalidCouponError[],\n },\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } 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 checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email, CheckoutTypes.ECOMMERCE).pipe(\n concatMap((coupons) => of(coupons.shift())),\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\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 { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\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 ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({\n checkout,\n lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }),\n })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, 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.sku === item.sku)\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 getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).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.sku === item.sku)\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((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\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.sku).indexOf(lineItem.sku)\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 const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.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, brand, slug, stock, price, weight, categories, sku } = 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 return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n costPrice: item?.costPrice,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\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 private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n pick,\n SubscriptionRepository,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\nimport { CouponService } from './coupon.service'\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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<FinancialCoupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION).pipe(\n concatMap((coupons) => {\n const couponsWithSamePlan = coupons.filter((coupon) => checkout.subscriptionPlan.name === coupon.plan)\n const couponsWithNoPlan = coupons.filter((coupon) => !coupon.plan)\n\n if (couponsWithSamePlan.length > 0) return of(couponsWithSamePlan)\n if (couponsWithNoPlan.length > 0) return of(couponsWithNoPlan)\n\n throw new Error(`Coupon subscription plan is invalid.`)\n }),\n concatMap((coupons) =>\n !!checkout.user?.email ? this.checkCouponsWithCheckout(coupons, checkout) : of(coupons),\n ),\n map((validatedCoupons) => validatedCoupons.shift()),\n ),\n ),\n )\n }\n\n private checkCouponsWithCheckout = (\n coupons: FinancialCoupon[],\n checkout: CheckoutSubscription,\n ): Observable<FinancialCoupon[]> =>\n forkJoin(\n coupons.map((coupon) =>\n from(\n this.subscriptionRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(map((subscriptions) => ({ coupon, subscriptions }))),\n ),\n ).pipe(\n map((results) =>\n results.map(({ coupon, subscriptions }) => {\n if (subscriptions.data.length >= (coupon.useLimit || Infinity))\n return new InvalidCouponError('Coupon is already applied')\n\n return coupon\n }),\n ),\n map((validatedCoupons) => ({\n valids: validatedCoupons.filter((coupon) => FinancialCoupon.isFinancialCoupon(coupon)) as FinancialCoupon[],\n invalids: validatedCoupons.filter((coupon) => coupon instanceof InvalidCouponError) as InvalidCouponError[],\n })),\n concatMap(({ valids, invalids }) =>\n valids.length ? of(valids) : throwError(new GroupInvalidCouponError(invalids)),\n ),\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { doc, Firestore, docSnapshots } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: Firestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))\n .pipe(map((doc) => Order.toInstance(doc.data())))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { Injectable, Inject } 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 tap((home) => console.log(home?.data?.expiresAt)),\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 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 forkJoin([\n this.categoryRepository.get({ id }),\n this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),\n ]).pipe(\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: 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 ]),\n ),\n ),\n })\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Auth, getAuth, provideAuth } 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\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideAuth(() => getAuth()),\n ],\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: Auth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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: Auth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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<AngularFirebaseAuthModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosElasticSearchConfig, AxiosAdapter, 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 return new ProductsIndex(new AxiosAdapter(configuration))\n },\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 { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Firestore, getFirestore, provideFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n ProductsIndex,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n AngularElasticSeachModule,\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideFirestore(() => getFirestore()),\n ],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: Firestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (firestore: Firestore, productsIndex: ProductsIndex): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore, productsIndex)\n },\n deps: [Firestore, ProductsIndex],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: Firestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: Firestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: Firestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: Firestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: Firestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: Firestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: Firestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: Firestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: Firestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ProductRepository',\n useFactory: (firestore: Firestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: Firestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: Firestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: Firestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: Firestore): UserRepository => {\n return new UserFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (firestore: Firestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore, productRepository)\n },\n deps: [Firestore, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions } from '@angular/fire/app'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirebaseAuthModule } from './angular-firebase-auth.module'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n} from './services'\nimport { DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [AngularFirebaseAuthModule, AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularConnectModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\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 ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["combineLatest","map","mergeMap","of","catchError","from","getIdToken","authState","Injectable","Inject","InjectionToken","FinancialCoupon","Where","concatMap","throwError","NotFoundError","Exclusivities","cookie","isNil","Checkout","CheckoutTypes","pick","Subject","LineItem","tap","CouponTypes","iif","CouponSubtypes","forkJoin","CheckoutSubscription","docSnapshots","doc","Order","Category","Product","Shops","RequiredArgumentError","add","Authentication","AuthenticationFirebaseAuthService","Auth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword","provideFirebaseApp","initializeApp","provideAuth","getAuth","NgModule","ProductsIndex","AxiosAdapter","UserBeautyProfileFirestoreRepository","Firestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","provideFirestore","getFirestore"],"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/services/auth.service.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/firebase-const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.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/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-connect.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","import { Injectable, Inject } from '@angular/core'\nimport { Auth, authState, getIdToken, User as FirebaseUser } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: Auth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<FirebaseUser>, Observable<User>] = [this.getFireUser(), this.getUser()]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => ({\n user,\n isAnonymous: fireUser?.isAnonymous,\n })),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n catchError(() => of(null)),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(getIdToken(this.angularFireAuth.currentUser))\n }\n\n getFireUser(): Observable<FirebaseUser> {\n return authState(this.angularFireAuth).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { InjectionToken } from '@angular/core'\n\nexport const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName')\nexport const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions')\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { InvalidCouponError } from './invalid-coupon.error'\n\nexport class GroupInvalidCouponError extends Error {\n constructor(readonly errors: InvalidCouponError[]) {\n super('Many coupon errors throw')\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n Coupon,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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 ) {}\n\n checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes): Observable<FinancialCoupon[]> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n checkoutType: { operator: Where.EQUALS, value: checkoutType },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data),\n ),\n map((coupons) => this.separateValidCoupons(coupons, userEmail)),\n map(({ valids, invalids }) => {\n if (!valids.length) throw new GroupInvalidCouponError(invalids)\n\n return valids\n }),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private separateValidCoupons = (\n coupons: Coupon[],\n userEmail: string,\n ): { valids: FinancialCoupon[]; invalids: InvalidCouponError[] } =>\n coupons\n .map((coupon) => {\n try {\n if (!FinancialCoupon.isFinancialCoupon(coupon)) throw new InvalidCouponError('Coupon is not valid')\n if (this.isValidCoupon(coupon, userEmail)) return coupon\n } catch (error) {\n return error as InvalidCouponError\n }\n })\n .reduce(\n (current, coupon) => ({\n ...current,\n ...(FinancialCoupon.isFinancialCoupon(coupon)\n ? { valids: [...current.valids, coupon] }\n : { invalids: [...current.invalids, coupon] }),\n }),\n {\n valids: [] as FinancialCoupon[],\n invalids: [] as InvalidCouponError[],\n },\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } 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 checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email, CheckoutTypes.ECOMMERCE).pipe(\n concatMap((coupons) => of(coupons.shift())),\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\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 { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\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 ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({\n checkout,\n lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }),\n })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, 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.sku === item.sku)\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 getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).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.sku === item.sku)\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((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\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.sku).indexOf(lineItem.sku)\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 const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.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, brand, slug, stock, price, weight, categories, sku } = 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 return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n costPrice: item?.costPrice,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\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 private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n pick,\n SubscriptionRepository,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\nimport { CouponService } from './coupon.service'\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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<FinancialCoupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION).pipe(\n concatMap((coupons) => {\n const couponsWithSamePlan = coupons.filter((coupon) => checkout.subscriptionPlan.name === coupon.plan)\n const couponsWithNoPlan = coupons.filter((coupon) => !coupon.plan)\n\n if (couponsWithSamePlan.length > 0) return of(couponsWithSamePlan)\n if (couponsWithNoPlan.length > 0) return of(couponsWithNoPlan)\n\n throw new Error(`Coupon subscription plan is invalid.`)\n }),\n concatMap((coupons) =>\n !!checkout.user?.email ? this.checkCouponsWithCheckout(coupons, checkout) : of(coupons),\n ),\n map((validatedCoupons) => validatedCoupons.shift()),\n ),\n ),\n )\n }\n\n private checkCouponsWithCheckout = (\n coupons: FinancialCoupon[],\n checkout: CheckoutSubscription,\n ): Observable<FinancialCoupon[]> =>\n forkJoin(\n coupons.map((coupon) =>\n from(\n this.subscriptionRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(map((subscriptions) => ({ coupon, subscriptions }))),\n ),\n ).pipe(\n map((results) =>\n results.map(({ coupon, subscriptions }) => {\n if (subscriptions.data.length >= (coupon.useLimit || Infinity))\n return new InvalidCouponError('Coupon is already applied')\n\n return coupon\n }),\n ),\n map((validatedCoupons) => ({\n valids: validatedCoupons.filter((coupon) => FinancialCoupon.isFinancialCoupon(coupon)) as FinancialCoupon[],\n invalids: validatedCoupons.filter((coupon) => coupon instanceof InvalidCouponError) as InvalidCouponError[],\n })),\n concatMap(({ valids, invalids }) =>\n valids.length ? of(valids) : throwError(new GroupInvalidCouponError(invalids)),\n ),\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { doc, Firestore, docSnapshots } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: Firestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))\n .pipe(map((doc) => Order.toInstance(doc.data())))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { Injectable, Inject } 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 tap((home) => console.log(home?.data?.expiresAt)),\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 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 forkJoin([\n this.categoryRepository.get({ id }),\n this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),\n ]).pipe(\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: 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 ]),\n ),\n ),\n })\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Auth, getAuth, provideAuth } 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\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideAuth(() => getAuth()),\n ],\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: Auth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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: Auth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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<AngularFirebaseAuthModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosElasticSearchConfig, AxiosAdapter, 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 return new ProductsIndex(new AxiosAdapter(configuration))\n },\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 { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Firestore, getFirestore, provideFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n ProductsIndex,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n AngularElasticSeachModule,\n provideFirebaseApp((injector: Injector) => {\n const appName = injector.get(FIREBASE_APP_NAME)\n\n return appName\n ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)\n : initializeApp(injector.get(FIREBASE_OPTIONS))\n }),\n provideFirestore(() => getFirestore()),\n ],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: Firestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (firestore: Firestore, productsIndex: ProductsIndex): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore, productsIndex)\n },\n deps: [Firestore, ProductsIndex],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: Firestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: Firestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: Firestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: Firestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: Firestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: Firestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: Firestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: Firestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: Firestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ProductRepository',\n useFactory: (firestore: Firestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: Firestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: Firestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: Firestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: Firestore): UserRepository => {\n return new UserFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (firestore: Firestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore, productRepository)\n },\n deps: [Firestore, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions } from '@angular/fire/app'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirebaseAuthModule } from './angular-firebase-auth.module'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n} from './services'\nimport { DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [AngularFirebaseAuthModule, AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularConnectModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\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 ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["combineLatest","map","mergeMap","of","catchError","from","getIdToken","authState","Injectable","Inject","InjectionToken","FinancialCoupon","Where","concatMap","throwError","NotFoundError","Exclusivities","cookie","isNil","Checkout","CheckoutTypes","pick","Subject","LineItem","tap","CouponTypes","iif","CouponSubtypes","forkJoin","CheckoutSubscription","docSnapshots","doc","Order","Category","Product","Shops","RequiredArgumentError","add","Authentication","AuthenticationFirebaseAuthService","Auth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword","provideFirebaseApp","initializeApp","provideAuth","getAuth","NgModule","ProductsIndex","AxiosAdapter","UserBeautyProfileFirestoreRepository","Firestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","provideFirestore","getFirestore"],"mappings":"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"}
@@ -178,7 +178,12 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
178
178
  },
179
179
  ], imports: [[
180
180
  AngularElasticSeachModule,
181
- provideFirebaseApp((injector) => initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME))),
181
+ provideFirebaseApp((injector) => {
182
+ const appName = injector.get(FIREBASE_APP_NAME);
183
+ return appName
184
+ ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
185
+ : initializeApp(injector.get(FIREBASE_OPTIONS));
186
+ }),
182
187
  provideFirestore(() => getFirestore()),
183
188
  ]] });
184
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, decorators: [{
@@ -186,7 +191,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
186
191
  args: [{
187
192
  imports: [
188
193
  AngularElasticSeachModule,
189
- provideFirebaseApp((injector) => initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME))),
194
+ provideFirebaseApp((injector) => {
195
+ const appName = injector.get(FIREBASE_APP_NAME);
196
+ return appName
197
+ ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
198
+ : initializeApp(injector.get(FIREBASE_OPTIONS));
199
+ }),
190
200
  provideFirestore(() => getFirestore()),
191
201
  ],
192
202
  providers: [
@@ -347,4 +357,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
347
357
  ],
348
358
  }]
349
359
  }] });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkUsT0FBTyxFQUFtQixhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ25GLE9BQU8sRUFHTCwwQkFBMEIsRUFHMUIsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUMzQix1Q0FBdUMsRUFHdkMseUJBQXlCLEVBRXpCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBQzlCLDJCQUEyQixFQUczQix3QkFBd0IsRUFFeEIsMEJBQTBCLEVBRTFCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2Isc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUl0Qyw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUd2QixpQ0FBaUMsRUFFakMsb0NBQW9DLEdBQ3JDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7OztBQThLekUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUdDLEVBQ0QsWUFBeUM7UUFFekMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUs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Q3JHLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTs0QkFDNUUsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUM7eUJBQ3ZDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucywgaW5pdGlhbGl6ZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQgeyBGaXJlc3RvcmUsIGdldEZpcmVzdG9yZSwgcHJvdmlkZUZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xuaW1wb3J0IHtcbiAgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLFxuICBCZWF1dHlQcm9maWxlUmVwb3NpdG9yeSxcbiAgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIEJ1eTJXaW5SZXBvc2l0b3J5LFxuICBDYXRlZ29yeVJlcG9zaXRvcnksXG4gIENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRSZXBvc2l0b3J5LFxuICBDaGVja291dEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxuICBDb3Vwb25SZXBvc2l0b3J5LFxuICBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBFZGl0aW9uUmVwb3NpdG9yeSxcbiAgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIEhvbWVSZXBvc2l0b3J5LFxuICBMZWFkUmVwb3NpdG9yeSxcbiAgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyUmVwb3NpdG9yeSxcbiAgTGVnYWN5T3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFNob3BNZW51UmVwb3NpdG9yeSxcbiAgT3JkZXJSZXBvc2l0b3J5LFxuICBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFBheW1lbnRSZXBvc2l0b3J5LFxuICBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgUHJvZHVjdFJlcG9zaXRvcnksXG4gIFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBQcm9kdWN0c0luZGV4LFxuICBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NSZXBvc2l0b3J5LFxuICBVc2VyQWRkcmVzc0ZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJCZWF1dHlQcm9maWxlRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJSZXBvc2l0b3J5LFxuICBWYXJpYW50UmVwb3NpdG9yeSxcbiAgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnksXG4gIFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeSxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlJ1xuaW1wb3J0IHsgRVNfQ09ORklHLCBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT5cbiAgICAgIGluaXRpYWxpemVBcHAoaW5qZWN0b3IuZ2V0KEZJUkVCQVNFX09QVElPTlMpLCBpbmplY3Rvci5nZXQoRklSRUJBU0VfQVBQX05BTUUpKSxcbiAgICApLFxuICAgIHByb3ZpZGVGaXJlc3RvcmUoKCkgPT4gZ2V0RmlyZXN0b3JlKCkpLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBCZWF1dHlQcm9maWxlUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgVXNlckJlYXV0eVByb2ZpbGVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQnV5MldpblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogQnV5MldpblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEJ1eTJXaW5GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDYXRlZ29yeVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCBwcm9kdWN0c0luZGV4OiBQcm9kdWN0c0luZGV4KTogQ2F0ZWdvcnlSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLCBwcm9kdWN0c0luZGV4KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsIFByb2R1Y3RzSW5kZXhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NoZWNrb3V0UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBDaGVja291dFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENoZWNrb3V0RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IENoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDb3Vwb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IENvdXBvblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENvdXBvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0VkaXRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgZmlyZXN0b3JlOiBGaXJlc3RvcmUsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBFZGl0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLCBzdWJzY3JpcHRpb25SZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnSG9tZVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogSG9tZVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdMZWFkUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBMZWFkUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0xlZ2FjeU9yZGVyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBMZWdhY3lPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU2hvcE1lbnVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IFNob3BNZW51UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdPcmRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogT3JkZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1BheW1lbnRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IFBheW1lbnRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUHJvZHVjdFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogUHJvZHVjdFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIGZpcmVzdG9yZTogRmlyZXN0b3JlLFxuICAgICAgICBzdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgICAgKTogU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSwgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IFVzZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlckFkZHJlc3NSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogVXNlckFkZHJlc3NSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQWRkcmVzc0ZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1ZhcmlhbnRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSwgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KTogVmFyaWFudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUsIHByb2R1Y3RSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsICdQcm9kdWN0UmVwb3NpdG9yeSddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZUFwcChcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXG4gICAgICBlbGFzdGljU2VhcmNoOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICB9LFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucy5maXJlYmFzZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH0sXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
360
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkUsT0FBTyxFQUFtQixhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ25GLE9BQU8sRUFHTCwwQkFBMEIsRUFHMUIsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUMzQix1Q0FBdUMsRUFHdkMseUJBQXlCLEVBRXpCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBQzlCLDJCQUEyQixFQUczQix3QkFBd0IsRUFFeEIsMEJBQTBCLEVBRTFCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2Isc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUl0Qyw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUd2QixpQ0FBaUMsRUFFakMsb0NBQW9DLEdBQ3JDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7OztBQWtMekUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUdDLEVBQ0QsWUFBeUM7UUFFekMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUs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QkFDRDs0QkFDRSxPQUFPLEVBQUUsNkJBQTZCOzRCQUN0QyxVQUFVLEVBQUUsQ0FBQyxTQUFvQixFQUFFLGNBQXVDLEVBQStCLEVBQUU7Z0NBQ3pHLE9BQU8sSUFBSSxvQ0FBb0MsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUE7NEJBQzVFLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDO3lCQUNwQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixVQUFVLEVBQUUsQ0FBQyxTQUFvQixFQUFFLGlCQUE2QyxFQUFxQixFQUFFO2dDQUNyRyxPQUFPLElBQUksaUNBQWlDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUE7NEJBQzVFLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDO3lCQUN2QztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAsIHByb3ZpZGVGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgRmlyZXN0b3JlLCBnZXRGaXJlc3RvcmUsIHByb3ZpZGVGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7XG4gIEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyxcbiAgQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnksXG4gIEJ1eTJXaW5GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBCdXkyV2luUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENoZWNrb3V0UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgQ291cG9uUmVwb3NpdG9yeSxcbiAgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgRWRpdGlvblJlcG9zaXRvcnksXG4gIEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBIb21lUmVwb3NpdG9yeSxcbiAgTGVhZFJlcG9zaXRvcnksXG4gIExlYWRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBMZWdhY3lPcmRlclJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wTWVudVJlcG9zaXRvcnksXG4gIE9yZGVyUmVwb3NpdG9yeSxcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBQYXltZW50UmVwb3NpdG9yeSxcbiAgUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgUHJvZHVjdHNJbmRleCxcbiAgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGxhbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25Qcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXG4gIFVzZXJBZGRyZXNzUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmFyaWFudFJlcG9zaXRvcnksXG4gIFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5LFxuICBVc2VyUGF5bWVudE1ldGhvZEZpcmVzdG9yZVJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEVTX0NPTkZJRywgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0cydcbmltcG9ydCB7IEZpcmViYXNlQXBwQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUsXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGFwcE5hbWUgPSBpbmplY3Rvci5nZXQoRklSRUJBU0VfQVBQX05BTUUpXG5cbiAgICAgIHJldHVybiBhcHBOYW1lXG4gICAgICAgID8gaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUyksIGFwcE5hbWUpXG4gICAgICAgIDogaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUykpXG4gICAgfSksXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoKSA9PiBnZXRGaXJlc3RvcmUoKSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdCZWF1dHlQcm9maWxlUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdCdXkyV2luUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBCdXkyV2luUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NhdGVnb3J5UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUsIHByb2R1Y3RzSW5kZXg6IFByb2R1Y3RzSW5kZXgpOiBDYXRlZ29yeVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUsIHByb2R1Y3RzSW5kZXgpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgUHJvZHVjdHNJbmRleF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NvdXBvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogQ291cG9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnRWRpdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBmaXJlc3RvcmU6IEZpcmVzdG9yZSxcbiAgICAgICAgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeTogU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgICk6IEVkaXRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdIb21lUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBIb21lUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0xlYWRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IExlYWRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnTGVnYWN5T3JkZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEZpcmVzdG9yZSk6IExlZ2FjeU9yZGVyUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVnYWN5T3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTaG9wTWVudVJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogU2hvcE1lbnVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ09yZGVyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUGF5bWVudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBQcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgZmlyZXN0b3JlOiBGaXJlc3RvcmUsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLCBzdWJzY3JpcHRpb25SZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsICdTdWJzY3JpcHRpb25SZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUpOiBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlKTogVXNlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyQWRkcmVzc1JlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyQWRkcmVzc1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJBZGRyZXNzRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtGaXJlc3RvcmUsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBGaXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IFVzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgVXNlclBheW1lbnRNZXRob2RGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVmFyaWFudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkpOiBWYXJpYW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZSwgcHJvZHVjdFJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgJ1Byb2R1Y3RSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGZpcmViYXNlOiBGaXJlYmFzZU9wdGlvbnNcbiAgICAgIGVsYXN0aWNTZWFyY2g6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckZpcmVzdG9yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmVzdG9yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zLmZpcmViYXNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLmVsYXN0aWNTZWFyY2ggfSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -850,7 +850,12 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
850
850
  },
851
851
  ], imports: [[
852
852
  AngularElasticSeachModule,
853
- provideFirebaseApp((injector) => initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME))),
853
+ provideFirebaseApp((injector) => {
854
+ const appName = injector.get(FIREBASE_APP_NAME);
855
+ return appName
856
+ ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
857
+ : initializeApp(injector.get(FIREBASE_OPTIONS));
858
+ }),
854
859
  provideFirestore(() => getFirestore()),
855
860
  ]] });
856
861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, decorators: [{
@@ -858,7 +863,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
858
863
  args: [{
859
864
  imports: [
860
865
  AngularElasticSeachModule,
861
- provideFirebaseApp((injector) => initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME))),
866
+ provideFirebaseApp((injector) => {
867
+ const appName = injector.get(FIREBASE_APP_NAME);
868
+ return appName
869
+ ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
870
+ : initializeApp(injector.get(FIREBASE_OPTIONS));
871
+ }),
862
872
  provideFirestore(() => getFirestore()),
863
873
  ],
864
874
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"infrab4a-connect-angular.js","sources":["../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/firebase-const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.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/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core'\nimport { Auth, authState, getIdToken, User as FirebaseUser } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: Auth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<FirebaseUser>, Observable<User>] = [this.getFireUser(), this.getUser()]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => ({\n user,\n isAnonymous: fireUser?.isAnonymous,\n })),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n catchError(() => of(null)),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(getIdToken(this.angularFireAuth.currentUser))\n }\n\n getFireUser(): Observable<FirebaseUser> {\n return authState(this.angularFireAuth).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { InjectionToken } from '@angular/core'\n\nexport const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName')\nexport const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions')\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { InvalidCouponError } from './invalid-coupon.error'\n\nexport class GroupInvalidCouponError extends Error {\n constructor(readonly errors: InvalidCouponError[]) {\n super('Many coupon errors throw')\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n Coupon,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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 ) {}\n\n checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes): Observable<FinancialCoupon[]> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n checkoutType: { operator: Where.EQUALS, value: checkoutType },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data),\n ),\n map((coupons) => this.separateValidCoupons(coupons, userEmail)),\n map(({ valids, invalids }) => {\n if (!valids.length) throw new GroupInvalidCouponError(invalids)\n\n return valids\n }),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private separateValidCoupons = (\n coupons: Coupon[],\n userEmail: string,\n ): { valids: FinancialCoupon[]; invalids: InvalidCouponError[] } =>\n coupons\n .map((coupon) => {\n try {\n if (!FinancialCoupon.isFinancialCoupon(coupon)) throw new InvalidCouponError('Coupon is not valid')\n if (this.isValidCoupon(coupon, userEmail)) return coupon\n } catch (error) {\n return error as InvalidCouponError\n }\n })\n .reduce(\n (current, coupon) => ({\n ...current,\n ...(FinancialCoupon.isFinancialCoupon(coupon)\n ? { valids: [...current.valids, coupon] }\n : { invalids: [...current.invalids, coupon] }),\n }),\n {\n valids: [] as FinancialCoupon[],\n invalids: [] as InvalidCouponError[],\n },\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } 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 checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email, CheckoutTypes.ECOMMERCE).pipe(\n concatMap((coupons) => of(coupons.shift())),\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\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 { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\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 ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({\n checkout,\n lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }),\n })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, 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.sku === item.sku)\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 getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).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.sku === item.sku)\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((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\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.sku).indexOf(lineItem.sku)\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 const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.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, brand, slug, stock, price, weight, categories, sku } = 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 return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n costPrice: item?.costPrice,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\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 private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n pick,\n SubscriptionRepository,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\nimport { CouponService } from './coupon.service'\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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<FinancialCoupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION).pipe(\n concatMap((coupons) => {\n const couponsWithSamePlan = coupons.filter((coupon) => checkout.subscriptionPlan.name === coupon.plan)\n const couponsWithNoPlan = coupons.filter((coupon) => !coupon.plan)\n\n if (couponsWithSamePlan.length > 0) return of(couponsWithSamePlan)\n if (couponsWithNoPlan.length > 0) return of(couponsWithNoPlan)\n\n throw new Error(`Coupon subscription plan is invalid.`)\n }),\n concatMap((coupons) =>\n !!checkout.user?.email ? this.checkCouponsWithCheckout(coupons, checkout) : of(coupons),\n ),\n map((validatedCoupons) => validatedCoupons.shift()),\n ),\n ),\n )\n }\n\n private checkCouponsWithCheckout = (\n coupons: FinancialCoupon[],\n checkout: CheckoutSubscription,\n ): Observable<FinancialCoupon[]> =>\n forkJoin(\n coupons.map((coupon) =>\n from(\n this.subscriptionRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(map((subscriptions) => ({ coupon, subscriptions }))),\n ),\n ).pipe(\n map((results) =>\n results.map(({ coupon, subscriptions }) => {\n if (subscriptions.data.length >= (coupon.useLimit || Infinity))\n return new InvalidCouponError('Coupon is already applied')\n\n return coupon\n }),\n ),\n map((validatedCoupons) => ({\n valids: validatedCoupons.filter((coupon) => FinancialCoupon.isFinancialCoupon(coupon)) as FinancialCoupon[],\n invalids: validatedCoupons.filter((coupon) => coupon instanceof InvalidCouponError) as InvalidCouponError[],\n })),\n concatMap(({ valids, invalids }) =>\n valids.length ? of(valids) : throwError(new GroupInvalidCouponError(invalids)),\n ),\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { doc, Firestore, docSnapshots } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: Firestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))\n .pipe(map((doc) => Order.toInstance(doc.data())))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { Injectable, Inject } 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 tap((home) => console.log(home?.data?.expiresAt)),\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 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 forkJoin([\n this.categoryRepository.get({ id }),\n this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),\n ]).pipe(\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: 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 ]),\n ),\n ),\n })\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Auth, getAuth, provideAuth } 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\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideAuth(() => getAuth()),\n ],\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: Auth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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: Auth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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<AngularFirebaseAuthModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosElasticSearchConfig, AxiosAdapter, 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 return new ProductsIndex(new AxiosAdapter(configuration))\n },\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 { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Firestore, getFirestore, provideFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n ProductsIndex,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n AngularElasticSeachModule,\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideFirestore(() => getFirestore()),\n ],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: Firestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (firestore: Firestore, productsIndex: ProductsIndex): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore, productsIndex)\n },\n deps: [Firestore, ProductsIndex],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: Firestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: Firestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: Firestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: Firestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: Firestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: Firestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: Firestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: Firestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: Firestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ProductRepository',\n useFactory: (firestore: Firestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: Firestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: Firestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: Firestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: Firestore): UserRepository => {\n return new UserFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (firestore: Firestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore, productRepository)\n },\n deps: [Firestore, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions } from '@angular/fire/app'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirebaseAuthModule } from './angular-firebase-auth.module'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n} from './services'\nimport { DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [AngularFirebaseAuthModule, AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularConnectModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\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 ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infrab4a-connect-angular.js","sources":["../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/firebase-const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.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/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core'\nimport { Auth, authState, getIdToken, User as FirebaseUser } from '@angular/fire/auth'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\n\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly angularFireAuth: Auth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n const observables: [Observable<FirebaseUser>, Observable<User>] = [this.getFireUser(), this.getUser()]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => ({\n user,\n isAnonymous: fireUser?.isAnonymous,\n })),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n catchError(() => of(null)),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(getIdToken(this.angularFireAuth.currentUser))\n }\n\n getFireUser(): Observable<FirebaseUser> {\n return authState(this.angularFireAuth).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export const ES_CONFIG = 'ES_CONFIG'\n","import { InjectionToken } from '@angular/core'\n\nexport const FIREBASE_APP_NAME = new InjectionToken('firebaseAppName')\nexport const FIREBASE_OPTIONS = new InjectionToken('firebaseOptions')\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { InvalidCouponError } from './invalid-coupon.error'\n\nexport class GroupInvalidCouponError extends Error {\n constructor(readonly errors: InvalidCouponError[]) {\n super('Many coupon errors throw')\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n Coupon,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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 ) {}\n\n checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes): Observable<FinancialCoupon[]> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n checkoutType: { operator: Where.EQUALS, value: checkoutType },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data),\n ),\n map((coupons) => this.separateValidCoupons(coupons, userEmail)),\n map(({ valids, invalids }) => {\n if (!valids.length) throw new GroupInvalidCouponError(invalids)\n\n return valids\n }),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private separateValidCoupons = (\n coupons: Coupon[],\n userEmail: string,\n ): { valids: FinancialCoupon[]; invalids: InvalidCouponError[] } =>\n coupons\n .map((coupon) => {\n try {\n if (!FinancialCoupon.isFinancialCoupon(coupon)) throw new InvalidCouponError('Coupon is not valid')\n if (this.isValidCoupon(coupon, userEmail)) return coupon\n } catch (error) {\n return error as InvalidCouponError\n }\n })\n .reduce(\n (current, coupon) => ({\n ...current,\n ...(FinancialCoupon.isFinancialCoupon(coupon)\n ? { valids: [...current.valids, coupon] }\n : { invalids: [...current.invalids, coupon] }),\n }),\n {\n valids: [] as FinancialCoupon[],\n invalids: [] as InvalidCouponError[],\n },\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap, map } 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 checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email, CheckoutTypes.ECOMMERCE).pipe(\n concatMap((coupons) => of(coupons.shift())),\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\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 { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\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 ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({\n checkout,\n lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }),\n })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, 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.sku === item.sku)\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 getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).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.sku === item.sku)\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((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\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.sku).indexOf(lineItem.sku)\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 const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.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, brand, slug, stock, price, weight, categories, sku } = 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 return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n costPrice: item?.costPrice,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\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 private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n FinancialCoupon,\n isNil,\n pick,\n SubscriptionRepository,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\nimport { CouponService } from './coupon.service'\nimport { GroupInvalidCouponError, InvalidCouponError } from './errors'\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<FinancialCoupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION).pipe(\n concatMap((coupons) => {\n const couponsWithSamePlan = coupons.filter((coupon) => checkout.subscriptionPlan.name === coupon.plan)\n const couponsWithNoPlan = coupons.filter((coupon) => !coupon.plan)\n\n if (couponsWithSamePlan.length > 0) return of(couponsWithSamePlan)\n if (couponsWithNoPlan.length > 0) return of(couponsWithNoPlan)\n\n throw new Error(`Coupon subscription plan is invalid.`)\n }),\n concatMap((coupons) =>\n !!checkout.user?.email ? this.checkCouponsWithCheckout(coupons, checkout) : of(coupons),\n ),\n map((validatedCoupons) => validatedCoupons.shift()),\n ),\n ),\n )\n }\n\n private checkCouponsWithCheckout = (\n coupons: FinancialCoupon[],\n checkout: CheckoutSubscription,\n ): Observable<FinancialCoupon[]> =>\n forkJoin(\n coupons.map((coupon) =>\n from(\n this.subscriptionRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(map((subscriptions) => ({ coupon, subscriptions }))),\n ),\n ).pipe(\n map((results) =>\n results.map(({ coupon, subscriptions }) => {\n if (subscriptions.data.length >= (coupon.useLimit || Infinity))\n return new InvalidCouponError('Coupon is already applied')\n\n return coupon\n }),\n ),\n map((validatedCoupons) => ({\n valids: validatedCoupons.filter((coupon) => FinancialCoupon.isFinancialCoupon(coupon)) as FinancialCoupon[],\n invalids: validatedCoupons.filter((coupon) => coupon instanceof InvalidCouponError) as InvalidCouponError[],\n })),\n concatMap(({ valids, invalids }) =>\n valids.length ? of(valids) : throwError(new GroupInvalidCouponError(invalids)),\n ),\n )\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { doc, Firestore, docSnapshots } from '@angular/fire/firestore'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly angularFirestore: Firestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))\n .pipe(map((doc) => Order.toInstance(doc.data())))\n .subscribe((doc) => this.orderSubject.next(doc))\n\n return this.orderSubject\n }\n}\n","import { Injectable, Inject } 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 tap((home) => console.log(home?.data?.expiresAt)),\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 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 forkJoin([\n this.categoryRepository.get({ id }),\n this.productRepository.find([{ categories: { operator: Where.LIKE, value: [id] } }], { limit: 12 }),\n ]).pipe(\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: 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 ]),\n ),\n ),\n })\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Auth, getAuth, provideAuth } 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\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n provideFirebaseApp((injector: Injector) =>\n initializeApp(injector.get(FIREBASE_OPTIONS), injector.get(FIREBASE_APP_NAME)),\n ),\n provideAuth(() => getAuth()),\n ],\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: Auth): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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: Auth): RegisterService => {\n return new RegisterFirebaseAuthService(angularFireAuth)\n },\n deps: [Auth],\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<AngularFirebaseAuthModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { AxiosElasticSearchConfig, AxiosAdapter, 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 return new ProductsIndex(new AxiosAdapter(configuration))\n },\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 { Injector, ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions, initializeApp, provideFirebaseApp } from '@angular/fire/app'\nimport { Firestore, getFirestore, provideFirestore } from '@angular/fire/firestore'\nimport {\n AxiosElasticSearchConfig,\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n ProductsIndex,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [\n AngularElasticSeachModule,\n provideFirebaseApp((injector: Injector) => {\n const appName = injector.get(FIREBASE_APP_NAME)\n\n return appName\n ? initializeApp(injector.get(FIREBASE_OPTIONS), appName)\n : initializeApp(injector.get(FIREBASE_OPTIONS))\n }),\n provideFirestore(() => getFirestore()),\n ],\n providers: [\n {\n provide: 'BeautyProfileRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (firestore: Firestore): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (firestore: Firestore, productsIndex: ProductsIndex): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore, productsIndex)\n },\n deps: [Firestore, ProductsIndex],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (firestore: Firestore): CheckoutRepository => {\n return new CheckoutFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (firestore: Firestore): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'CouponRepository',\n useFactory: (firestore: Firestore): CouponRepository => {\n return new CouponFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (firestore: Firestore): HomeRepository => {\n return new HomeFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LeadRepository',\n useFactory: (firestore: Firestore): LeadRepository => {\n return new LeadFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (firestore: Firestore): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (firestore: Firestore): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'OrderRepository',\n useFactory: (firestore: Firestore): OrderRepository => {\n return new OrderFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (firestore: Firestore): PaymentRepository => {\n return new PaymentFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'ProductRepository',\n useFactory: (firestore: Firestore): ProductRepository => {\n return new ProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n firestore: Firestore,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(firestore, subscriptionRepository)\n },\n deps: [Firestore, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (firestore: Firestore): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (firestore: Firestore): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (firestore: Firestore): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserRepository',\n useFactory: (firestore: Firestore): UserRepository => {\n return new UserFirestoreRepository(firestore)\n },\n deps: [Firestore],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (firestore: Firestore, userRepository: UserFirestoreRepository): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(firestore, userRepository)\n },\n deps: [Firestore, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (firestore: Firestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore, productRepository)\n },\n deps: [Firestore, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: {\n firebase: FirebaseOptions\n elasticSearch: AxiosElasticSearchConfig\n },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\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","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseOptions } from '@angular/fire/app'\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirebaseAuthModule } from './angular-firebase-auth.module'\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n} from './services'\nimport { DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [AngularFirebaseAuthModule, AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig },\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularConnectModule> {\n return {\n ngModule: AngularConnectModule,\n providers: [\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 ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect-angular",
3
- "version": "0.15.0-beta.2",
3
+ "version": "0.15.0-beta.4",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },