@infrab4a/connect-angular 4.0.0-beta.58 → 4.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular-connect.module.d.ts +4 -7
- package/angular-firestore.module.d.ts +1 -2
- package/angular-hasura-graphql.module.d.ts +1 -1
- package/consts/index.d.ts +0 -2
- package/esm2020/angular-connect.module.mjs +49 -0
- package/esm2020/angular-elastic-search.module.mjs +38 -0
- package/esm2020/angular-firebase-auth.module.mjs +130 -0
- package/esm2020/angular-firestore.module.mjs +358 -0
- package/esm2020/angular-hasura-graphql.module.mjs +142 -0
- package/esm2020/consts/index.mjs +5 -0
- package/esm2020/index.mjs +6 -0
- package/esm2020/services/auth.service.mjs +37 -0
- package/esm2020/services/cart.service.mjs +143 -0
- package/esm2020/services/checkout-subscription.service.mjs +51 -0
- package/esm2020/services/checkout.service.mjs +73 -0
- package/esm2020/services/coupon.service.mjs +226 -0
- package/esm2020/services/errors/group-invalid-coupon.error.mjs +8 -0
- package/esm2020/services/errors/index.mjs +3 -0
- package/esm2020/services/errors/invalid-coupon.error.mjs +7 -0
- package/{esm2022 → esm2020}/services/home-shop.service.mjs +11 -11
- package/esm2020/services/index.mjs +8 -0
- package/{esm2022 → esm2020}/services/order.service.mjs +4 -4
- package/fesm2015/infrab4a-connect-angular.mjs +1388 -0
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
- package/fesm2020/infrab4a-connect-angular.mjs +1343 -0
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
- package/index.d.ts +2 -2
- package/package.json +16 -9
- package/services/cart.service.d.ts +3 -10
- package/services/coupon.service.d.ts +10 -13
- package/services/errors/group-invalid-coupon.error.d.ts +6 -0
- package/services/errors/index.d.ts +2 -0
- package/services/errors/invalid-coupon.error.d.ts +4 -0
- package/services/home-shop.service.d.ts +1 -1
- package/services/index.d.ts +2 -5
- package/services/types/required-checkout-data.type.d.ts +1 -1
- package/services/types/required-checkout-subscription-data.type.d.ts +1 -1
- package/types/firebase-app-config.type.d.ts +1 -1
- package/consts/backend-url.const.d.ts +0 -1
- package/consts/category-structure.d.ts +0 -1
- package/esm2022/angular-connect.module.mjs +0 -66
- package/esm2022/angular-elastic-search.module.mjs +0 -34
- package/esm2022/angular-firebase-auth.module.mjs +0 -130
- package/esm2022/angular-firestore.module.mjs +0 -459
- package/esm2022/angular-hasura-graphql.module.mjs +0 -243
- package/esm2022/consts/backend-url.const.mjs +0 -2
- package/esm2022/consts/category-structure.mjs +0 -2
- package/esm2022/consts/index.mjs +0 -7
- package/esm2022/helpers/index.mjs +0 -2
- package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +0 -7
- package/esm2022/index.mjs +0 -6
- package/esm2022/services/auth.service.mjs +0 -37
- package/esm2022/services/cart.service.mjs +0 -281
- package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +0 -2
- package/esm2022/services/catalog/adapters/index.mjs +0 -4
- package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +0 -42
- package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +0 -23
- package/esm2022/services/catalog/catalog.service.mjs +0 -127
- package/esm2022/services/catalog/category.service.mjs +0 -51
- package/esm2022/services/catalog/enums/index.mjs +0 -2
- package/esm2022/services/catalog/enums/product-sorts.enum.mjs +0 -11
- package/esm2022/services/catalog/index.mjs +0 -7
- package/esm2022/services/catalog/models/category-with-tree.model.mjs +0 -10
- package/esm2022/services/catalog/models/index.mjs +0 -2
- package/esm2022/services/catalog/types/index.mjs +0 -2
- package/esm2022/services/catalog/types/product-sort.type.mjs +0 -2
- package/esm2022/services/catalog/wishlist.service.mjs +0 -105
- package/esm2022/services/checkout-subscription.service.mjs +0 -53
- package/esm2022/services/checkout.service.mjs +0 -71
- package/esm2022/services/coupon.service.mjs +0 -218
- package/esm2022/services/helpers/index.mjs +0 -2
- package/esm2022/services/helpers/util.helper.mjs +0 -18
- package/esm2022/services/index.mjs +0 -11
- package/esm2022/services/shipping.service.mjs +0 -96
- package/esm2022/services/types/shipping-methods.type.mjs +0 -2
- package/fesm2022/infrab4a-connect-angular.mjs +0 -2130
- package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
- package/helpers/index.d.ts +0 -1
- package/helpers/mobile-operation-system-checker.helper.d.ts +0 -3
- package/services/catalog/adapters/category-structure.adapter.d.ts +0 -4
- package/services/catalog/adapters/index.d.ts +0 -3
- package/services/catalog/adapters/new-category-structure.adapter.d.ts +0 -14
- package/services/catalog/adapters/old-category-structure.adapter.d.ts +0 -10
- package/services/catalog/catalog.service.d.ts +0 -80
- package/services/catalog/category.service.d.ts +0 -15
- package/services/catalog/enums/index.d.ts +0 -1
- package/services/catalog/enums/product-sorts.enum.d.ts +0 -9
- package/services/catalog/index.d.ts +0 -6
- package/services/catalog/models/category-with-tree.model.d.ts +0 -4
- package/services/catalog/models/index.d.ts +0 -1
- package/services/catalog/types/index.d.ts +0 -1
- package/services/catalog/types/product-sort.type.d.ts +0 -2
- package/services/catalog/wishlist.service.d.ts +0 -22
- package/services/helpers/index.d.ts +0 -1
- package/services/helpers/util.helper.d.ts +0 -3
- package/services/shipping.service.d.ts +0 -19
- package/services/types/shipping-methods.type.d.ts +0 -12
- /package/{esm2022 → esm2020}/consts/default-shop.const.mjs +0 -0
- /package/{esm2022 → esm2020}/consts/es-config.const.mjs +0 -0
- /package/{esm2022 → esm2020}/consts/firebase-const.mjs +0 -0
- /package/{esm2022 → esm2020}/consts/hasura-options.const.mjs +0 -0
- /package/{esm2022 → esm2020}/infrab4a-connect-angular.mjs +0 -0
- /package/{esm2022 → esm2020}/services/types/index.mjs +0 -0
- /package/{esm2022 → esm2020}/services/types/required-checkout-data.type.mjs +0 -0
- /package/{esm2022 → esm2020}/services/types/required-checkout-subscription-data.type.mjs +0 -0
- /package/{esm2022 → esm2020}/types/firebase-app-config.type.mjs +0 -0
- /package/{esm2022 → esm2020}/types/index.mjs +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infrab4a-connect-angular.mjs","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/consts/hasura-options.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-hasura-graphql.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 const HASURA_OPTIONS = 'HASURA_OPTIONS'\n","import { CustomError } from 'ts-custom-error'\n\nexport class InvalidCouponError extends CustomError {\n constructor(message: string) {\n super(message)\n }\n}\n","import { CustomError } from 'ts-custom-error'\n\nimport { InvalidCouponError } from './invalid-coupon.error'\n\nexport class GroupInvalidCouponError extends CustomError {\n constructor(readonly errors: InvalidCouponError[]) {\n super('Many coupon errors throw')\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Category,\n CategoryRepository,\n Checkout,\n CheckoutSubscription,\n CheckoutTypes,\n Coupon,\n CouponRepository,\n CouponTypes,\n Exclusivities,\n LineItem,\n OrderRepository,\n RepositoryFindResult,\n Shops,\n Status,\n SubscriptionRepository,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { 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 @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n ) {}\n\n checkCoupon(\n nickname: string,\n userEmail: string,\n checkoutType: CheckoutTypes,\n plan?: string,\n checkout?: Partial<Checkout>,\n isSubscription?: boolean,\n ): Observable<Coupon> {\n return from(\n this.couponRepository.find({\n filters: {\n nickname: { operator: Where.EQUALS, value: nickname },\n active: { operator: Where.EQUALS, value: true },\n },\n }),\n ).pipe(\n concatMap((coupons) => this.checkCouponRules(coupons, checkoutType, plan, checkout, isSubscription)),\n concatMap((coupon: Coupon) => this.checkCouponUseAndLimit(coupon, userEmail, checkout)),\n map((coupon: Coupon) => this.isValidCoupon(coupon, userEmail)),\n map((coupon: Coupon) => coupon),\n )\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n\n private checkCouponRules(\n coupons: RepositoryFindResult<Coupon>,\n checkoutType: CheckoutTypes,\n plan?: string,\n checkout?: Partial<Checkout>,\n isSubscription?: boolean,\n ) {\n // Caso não ache nenhum cupom, retorna erro\n if (coupons.count < 1) {\n return throwError('Cupom inválido.')\n }\n\n // Get Primeiro Cupom (o find do repository retorna um array)\n const coupon: Coupon = coupons.data.shift()\n // Verifica se o cupom é aplicavel na loja\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\n\n // Cupon não aplicavel a loja retorna erro\n if (!isInShop) return throwError('Cupom inválido para loja.')\n\n // Verifica se o coupon é aplicado no checkout que está sendo realizado\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\n\n // Cupon não aplicavel ao checkout retorna erro\n if (!isCheckoutType) return throwError('Cupom inválido. Erro de checkout.')\n\n // Verifica se o cupom é ou pode ser aplicado para subscription\n if (checkoutType === CheckoutTypes.ALL || checkoutType === CheckoutTypes.SUBSCRIPTION) {\n // Se o cupom tiver um plano associado, verifica se é o mesmo plano do checkout da assinatura\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase())\n return throwError('Cupom inválido para sua assinatura.')\n }\n\n if (isSubscription) return of(coupon)\n\n // Verifica se possui o valor minimo de compra para utilização do cupom\n const hasMinSubTotal = this.hasMinSubTotal(coupon, checkout)\n\n // Se não tem valor mínimo atingido, retorna erro\n if (!hasMinSubTotal) return throwError('Valor mínimo não atingido')\n\n return of(coupon)\n }\n\n private isValidCoupon(coupon: Coupon, userEmail: string): Coupon {\n // Verifica a data de inicio de validade do cupom\n if (coupon?.beginAt > new Date()) throw new InvalidCouponError('Cupom ainda não liberado.')\n\n // Verifica a data de validade do cupom\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Cupom expirado.')\n\n return coupon\n }\n\n private async checkCouponUseAndLimit(coupon: Coupon, userEmail: string, checkout: Partial<Checkout>) {\n const orders = await this.orderRepository.find({\n filters: {\n coupon: { id: coupon.id },\n payment: { status: 'paid' },\n },\n })\n\n // orders que usuario ja fez com o cupom\n const ordersUserCoupon = orders.data.filter((o) => o.user.email == userEmail)\n\n // Verifica o limite de uso de cupom por usuario\n if (coupon.useLimitPerUser && ordersUserCoupon.length)\n throw new InvalidCouponError('Limite de uso por usuário atingido.')\n\n // Verifica o limite de uso geral por usuario\n if (coupon.useLimit && orders.data.length >= coupon.useLimit)\n throw new InvalidCouponError('Limite de uso atingido.')\n\n const validUser = await this.userValidationAndSubscriptionStatus(coupon, userEmail)\n if (!validUser) throw new InvalidCouponError('Usuário não elegível.')\n\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\n\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\n\n return coupon\n }\n\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\n //\n let discount = 0\n\n if (coupon.type === CouponTypes.ABSOLUTE) discount = coupon.discount\n else if (coupon.type === CouponTypes.PERCENTAGE)\n discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount / 100)\n\n return of(discount)\n }\n\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\n let discount = 0\n\n switch (coupon.type) {\n case CouponTypes.ABSOLUTE: {\n discount = coupon.discount\n break\n }\n case CouponTypes.PERCENTAGE: {\n discount = await this.calcShoppingPercentageDiscount(coupon, checkout)\n break\n }\n }\n\n return discount\n }\n\n private async calcShoppingPercentageDiscount(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\n let discount = 0\n const shop = checkout.shop\n let lineItensDiscount = []\n const couponCategories = await this.getCouponCategoriesId(coupon)\n\n if (coupon.productsCategories && coupon.productsCategories.length) {\n lineItensDiscount = checkout.lineItems?.filter((i) => {\n if (i.categories?.length) {\n return i.categories.some((c) => couponCategories.some((cat) => cat.id == c || cat.firestoreId == c))\n }\n return true\n })\n } else {\n lineItensDiscount = checkout.lineItems\n }\n\n const subTotal =\n lineItensDiscount.reduce(\n (acc, curr: LineItem) =>\n checkout.user?.isSubscriber && curr.price?.subscriberPrice\n ? acc + curr.price?.subscriberPrice * curr.quantity\n : acc + curr.pricePaid * curr.quantity,\n 0,\n ) || 0\n\n discount = subTotal * (coupon.discount / 100)\n\n return discount\n }\n\n private hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): boolean {\n if (!coupon.minSubTotalValue) return true\n\n const shop = checkout.shop\n\n let subTotal =\n checkout.lineItems?.reduce(\n (acc, curr) =>\n checkout.user?.isSubscriber && curr.price?.subscriberPrice\n ? acc + curr.price?.subscriberPrice * curr.quantity\n : acc + curr.pricePaid * curr.quantity,\n 0,\n ) || 0\n\n if (coupon.minSubTotalValue <= subTotal) return true\n return false\n }\n\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\n return true\n }\n\n const couponCategories = await this.getCouponCategoriesId(coupon)\n\n const hasCategories = checkout.lineItems?.filter((i) => {\n if (!i.categories || !i.categories?.length) return true\n return i.categories.some((c) => couponCategories.some((cat) => cat.id == c || cat.firestoreId == c))\n })\n\n return hasCategories.length ? true : false\n }\n\n private async userValidationAndSubscriptionStatus(coupon: Coupon, userEmail: string): Promise<boolean> {\n // Verifica se o email do usuário é coorporativo\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('Você não é colaborador.')\n\n // Verifica se o email do usuário é associado ao cupom de uso por usuario\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== userEmail)\n throw new InvalidCouponError('Cupom não é válido para este usuário.')\n\n const couponRuleSubscription =\n coupon.exclusivityType === Exclusivities.ACTIVE_SUBSCRIBER ||\n coupon.exclusivityType === Exclusivities.INACTIVE_SUBSCRIBER ||\n coupon.exclusivityType === Exclusivities.NON_SUBSCRIBER\n\n if (couponRuleSubscription && userEmail) {\n const sub = await this.subscriptionRepository\n .find({\n filters: {\n user: {\n email: { operator: Where.EQUALS, value: userEmail },\n },\n },\n })\n .then((sub) => sub.data)\n\n const activeSubs = sub?.filter((s) => s.status === Status.ACTIVE)\n\n switch (coupon.exclusivityType) {\n case Exclusivities.ACTIVE_SUBSCRIBER:\n return activeSubs.length > 0\n case Exclusivities.INACTIVE_SUBSCRIBER:\n return activeSubs.length === 0\n case Exclusivities.NON_SUBSCRIBER:\n return sub.length === 0\n default:\n return false\n }\n }\n\n return true\n }\n\n private async getCouponCategoriesId(coupon: Coupon) {\n let couponCategories: { id: string; firestoreId: string }[] = []\n\n for (let index = 0; index < coupon.productsCategories.length; index++) {\n let c: Category & { firestoreId?: string } = await this.categoryRepository.get({\n id: coupon.productsCategories[index],\n })\n couponCategories.push({ id: c.id, firestoreId: c.firestoreId })\n }\n\n return couponCategories\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n CheckoutTypes,\n Coupon,\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, of, throwError } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { CouponService } from './coupon.service'\nimport { RequiredCheckoutData } from './types'\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly couponService: CouponService,\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\n const checkoutId = cookie.get('checkoutId')\n\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\n\n return from(this.createCheckout(checkoutData))\n }\n\n getUserByCheckout(checkoutId: string): Observable<User> {\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\n concatMap((checkout) =>\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\n ),\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\n )\n }\n\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\n }\n\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\n }\n\n clearCheckoutFromSession(): Observable<void> {\n cookie.remove('checkoutId')\n\n return of()\n }\n\n calcDiscount(coupon: Coupon) {\n return this.getCheckout().pipe(\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\n )\n }\n\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService\n .checkCoupon(\n nickname,\n checkout.user?.email,\n CheckoutTypes.ECOMMERCE,\n checkout.user.subscriptionPlan,\n checkout,\n false\n )\n .pipe(),\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 { Inject, Injectable } from '@angular/core'\nimport { Checkout, isNil, LineItem, ProductRepository, Shops, User } from '@infrab4a/connect'\nimport { from, iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, mergeMap, 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 @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return from(this.checkoutService.getCheckout()).pipe(\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n decreaseItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.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 getVariantPriceDiscount(item: LineItem): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.price.subscriberPrice,\n of(item.price.subscriberPrice),\n of(item.price.price),\n ),\n ),\n catchError(() => of(item.price.price)),\n )\n }\n\n removeItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.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(async (checkout) => this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.length ? await Promise.all(\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem)\n ) : [],\n }),\n ).toPromise()\n ),\n map(checkout => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart))\n )\n }\n\n clearCart(): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n this.checkoutService.clearCheckoutFromSession()\n return checkout\n }),\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\n return this.checkoutService.getCheckout(checkoutData).pipe(\n map((checkout) => checkout.lineItems),\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\n )\n }\n\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\n concatMap((checkoutLoaded) => {\n const items: LineItem[] = []\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.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 = async ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): Promise<{checkout: Partial<Checkout>, lineItem: LineItem}> => {\n \n const product = await this.productRepository.get({ id: item.id })\n\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, EAN, brand, slug, stock, price, weight, categories, sku, type } = item\n const isGift = item.isGift || null\n const pricePaid = this.getProductPrice({\n product: item,\n shop: checkout.shop || this.defaultShop,\n isSubscriber: checkout.user?.isSubscriber,\n })\n\n return {\n checkout,\n lineItem: LineItem.toInstance({\n id,\n name: name ?? product.name,\n EAN: EAN ?? product.EAN,\n brand: product.brand,\n slug: slug ?? product.slug,\n sku: sku ?? product.sku,\n stock,\n price,\n image,\n weight: weight ?? product.weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories: product.categories ?? [],\n isGift: isGift ?? null,\n costPrice: product.costPrice ?? 0,\n type,\n }),\n }\n }\n\n private getProductPrice = ({\n product,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.price\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? 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","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutSubscription,\n CheckoutSubscriptionRepository,\n CheckoutTypes,\n Coupon,\n isNil,\n pick,\n SubscriptionRepository\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, of } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\nimport { RequiredCheckoutSubscriptionData } from './types'\n\nimport { CouponService } from './coupon.service'\n\n@Injectable()\nexport class CheckoutSubscriptionService {\n constructor(\n @Inject('CheckoutSubscriptionRepository')\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\n private readonly couponService: CouponService,\n ) { }\n\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\n const checkoutId = cookie.get('checkoutSubscriptionId')\n\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\n\n return from(this.createCheckoutSubscription(checkoutData))\n }\n\n private async createCheckoutSubscription(\n checkoutData?: RequiredCheckoutSubscriptionData,\n ): Promise<CheckoutSubscription> {\n const checkout = await this.checkoutSubscriptionRepository.create({\n createdAt: new Date(),\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n })\n\n cookie.set('checkoutSubscriptionId', checkout.id)\n\n return checkout\n }\n\n clearCheckoutSubscriptionFromSession(): Observable<void> {\n cookie.remove('checkoutSubscriptionId')\n\n return of()\n }\n\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION, checkout.subscriptionPlan.name, null, true).pipe()\n ),\n )\n }\n\n calcDiscountSubscription(coupon: Coupon) {\n return this.getCheckoutSubscription().pipe(\n concatMap((checkout) =>\n this.couponService.calcDiscountSubscription(coupon, checkout).pipe(),\n ),\n )\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 { Inject, Injectable } from '@angular/core'\nimport {\n add,\n Banner,\n Category,\n CategoryRepository,\n Home,\n HomeCategoryGroup,\n HomeData,\n HomeRepository,\n pick,\n Product,\n ProductRepository,\n RequiredArgumentError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\nimport { concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\n\n@Injectable()\nexport class HomeShopService {\n private homeConfiguration: Home\n\n private get homeId(): HomeConfigurationId {\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\n\n return null\n }\n\n constructor(\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getHomeData(): Observable<Home> {\n return this.getHomeConfiguration().pipe(\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\n concatMap((home) =>\n home\n ? of(home)\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\n discoverProducts,\n featuredProducts,\n verticalProducts,\n })),\n concatMap((data) => this.saveHomeData(data)),\n ),\n ),\n )\n }\n\n getBanners(type: BannerType): Observable<Banner[]> {\n return this.getHomeConfiguration().pipe(\n map((home) => {\n if (type === 'brand') return home.brandsCarousel\n if (type === 'buyToWin') return [home.buyToWinBanner]\n if (type === 'block') return home.blockBanners\n if (type === 'blog') return [home.blogBanner]\n\n return []\n }),\n )\n }\n\n getMinValueForFreeShipping(): Observable<number> {\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\n }\n\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\n ),\n ),\n )\n }\n\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\n return this.getHomeConfiguration().pipe(\n concatMap((home) =>\n forkJoin(\n home.verticalCarousels.filter(Boolean).map((id) =>\n from(this.categoryRepository.get({ id })).pipe(\n concatMap((category) =>\n from(\n this.productRepository.find({\n filters: { categories: { operator: Where.IN, value: [category.id] } },\n limits: { limit: 12 },\n }),\n ).pipe(map((products) => ({ category, products }))),\n ),\n map(({ category, products }) => ({ category, products: products.data })),\n map(this.buildCategoryGroupWithRequiredData),\n ),\n ),\n ),\n ),\n )\n }\n\n private getHomeConfiguration(): Observable<Home> {\n return of(this.homeConfiguration).pipe(\n concatMap((home) =>\n home\n ? of(home)\n : !this.homeId\n ? throwError(new RequiredArgumentError(['homeId']))\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\n ),\n ),\n )\n }\n\n private saveHomeData(homeData: HomeData): Observable<Home> {\n const data = {\n createdAt: new Date(),\n expiresAt: add(new Date(), { hours: 1 }),\n data: homeData,\n }\n\n return from(\n this.homeRepository.update({\n id: this.homeId,\n data,\n }),\n ).pipe(\n tap(() => (this.homeConfiguration.data = data)),\n map(() => this.homeConfiguration),\n )\n }\n\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\n products:\n group?.products?.map((product) =>\n Product.toInstance(\n pick(product?.toPlain() || {}, [\n 'id',\n 'price',\n 'reviews',\n 'hasVariants',\n 'slug',\n 'sku',\n 'stock',\n 'costPrice',\n 'images',\n 'miniatures',\n 'name',\n 'weight',\n 'rate',\n 'type',\n ]),\n ),\n ) || [],\n })\n}\n","import { 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 RecoveryPassword,\n Register,\n RegisterFirebaseAuthService,\n RegisterService,\n SignOut,\n UserRepository,\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 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 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 CategoryFirestoreRepository,\n CategoryRepository,\n CheckoutFirestoreRepository,\n CheckoutRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponFirestoreRepository,\n CouponRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadFirestoreRepository,\n LeadRepository,\n LegacyOrderFirestoreRepository,\n LegacyOrderRepository,\n OrderFirestoreRepository,\n OrderRepository,\n PaymentFirestoreRepository,\n PaymentRepository,\n ProductFirestoreRepository,\n ProductRepository,\n ProductVariantFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressFirestoreRepository,\n UserAddressRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserPaymentMethodFirestoreRepository,\n UserPaymentMethodRepository,\n UserRepository,\n VariantRepository,\n} from '@infrab4a/connect'\n\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\nimport { ES_CONFIG, 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: CategoryFirestoreRepository,\n useFactory: (firestore: Firestore): CategoryRepository => {\n return new CategoryFirestoreRepository(firestore)\n },\n deps: [Firestore],\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: ProductFirestoreRepository,\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: ProductVariantFirestoreRepository,\n useFactory: (firestore: Firestore, productRepository: ProductFirestoreRepository): VariantRepository => {\n return new ProductVariantFirestoreRepository(firestore, productRepository)\n },\n deps: [Firestore, ProductFirestoreRepository],\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 { isPlatformBrowser } from '@angular/common'\nimport { ModuleWithProviders, NgModule, PLATFORM_ID } from '@angular/core'\nimport {\n CategoryHasuraGraphQLRepository,\n CategoryRepository,\n GraphQLParams,\n HasuraGraphQLAuthOptions,\n ProductHasuraGraphQLRepository,\n ProductRepository,\n VariantHasuraGraphQLRepository,\n VariantRepository,\n} from '@infrab4a/connect'\n\nimport { HASURA_OPTIONS } from './consts'\n\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\n\nconst processes: Record<string, boolean> = {}\n\n@NgModule({\n providers: [\n {\n provide: 'HasuraConfig',\n useFactory: (options: HasuraGraphQLOptions, platformId: string) => ({\n endpoint: options.endpoint,\n authOptions: options.credentials,\n interceptors: {\n request: (request: GraphQLParams<any> & { proccess: number }) => {\n if (isPlatformBrowser(platformId)) return request\n\n const index = Date.now()\n\n processes[index] = true\n\n request.proccess = index\n\n console.log('request', request.proccess)\n\n return request\n },\n response: (response: any, request: GraphQLParams<any> & { proccess: number }) => {\n if (isPlatformBrowser(platformId)) return response\n\n console.log('response', request.proccess)\n\n delete processes[request.proccess]\n },\n },\n }),\n deps: [HASURA_OPTIONS, PLATFORM_ID],\n },\n {\n provide: 'CategoryRepository',\n useExisting: CategoryHasuraGraphQLRepository,\n },\n {\n provide: CategoryHasuraGraphQLRepository,\n useFactory: (hasuraConfig: any, productRepository: ProductHasuraGraphQLRepository): CategoryRepository => {\n return new CategoryHasuraGraphQLRepository(hasuraConfig, productRepository)\n },\n deps: ['HasuraConfig', ProductHasuraGraphQLRepository],\n },\n {\n provide: 'ProductRepository',\n useExisting: ProductHasuraGraphQLRepository,\n },\n {\n provide: ProductHasuraGraphQLRepository,\n useFactory: (hasuraConfig: any): ProductRepository => {\n return new ProductHasuraGraphQLRepository(hasuraConfig)\n },\n deps: ['HasuraConfig'],\n },\n {\n provide: 'VariantRepository',\n useExisting: VariantHasuraGraphQLRepository,\n },\n {\n provide: VariantHasuraGraphQLRepository,\n useFactory: (hasuraConfig: any): VariantRepository => {\n return new VariantHasuraGraphQLRepository(hasuraConfig)\n },\n deps: ['HasuraConfig'],\n },\n ],\n})\nexport class AngularHasuraGraphQLModule {\n static initializeApp(options: {\n endpoint: string\n credentials: HasuraGraphQLAuthOptions\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\n return {\n ngModule: AngularHasuraGraphQLModule,\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\n }\n }\n}\n","import { 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 { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\nimport { DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS } from './consts'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n HomeShopService,\n OrderService,\n} from './services'\nimport { FirebaseAppConfig } from './types'\n\n@NgModule({\n imports: [AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\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; hasura: HasuraGraphQLOptions },\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 ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AuthService","i2.CheckoutService","i1.CouponService","i1","i2"],"mappings":"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"}
|