@infrab4a/connect-angular 4.0.0-beta.8 → 4.0.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/angular-connect.module.d.ts +19 -19
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +10 -12
  4. package/angular-firestore.module.d.ts +15 -17
  5. package/angular-hasura-graphql.module.d.ts +16 -16
  6. package/bundles/infrab4a-connect-angular.umd.js +1978 -0
  7. package/bundles/infrab4a-connect-angular.umd.js.map +1 -0
  8. package/consts/backend-url.const.d.ts +1 -0
  9. package/consts/default-shop.const.d.ts +1 -1
  10. package/consts/es-config.const.d.ts +1 -1
  11. package/consts/hasura-options.const.d.ts +1 -1
  12. package/consts/index.d.ts +4 -4
  13. package/esm2015/angular-connect.module.js +52 -0
  14. package/{esm2020/angular-elastic-search.module.mjs → esm2015/angular-elastic-search.module.js} +38 -38
  15. package/esm2015/angular-firebase-auth.module.js +113 -0
  16. package/esm2015/angular-firestore.module.js +366 -0
  17. package/esm2015/angular-hasura-graphql.module.js +90 -0
  18. package/esm2015/consts/backend-url.const.js +2 -0
  19. package/{esm2020/consts/default-shop.const.mjs → esm2015/consts/default-shop.const.js} +2 -2
  20. package/{esm2020/consts/es-config.const.mjs → esm2015/consts/es-config.const.js} +2 -2
  21. package/{esm2020/consts/hasura-options.const.mjs → esm2015/consts/hasura-options.const.js} +2 -2
  22. package/esm2015/consts/index.js +5 -0
  23. package/{esm2020/index.mjs → esm2015/index.js} +6 -6
  24. package/{esm2020/infrab4a-connect-angular.mjs → esm2015/infrab4a-connect-angular.js} +4 -4
  25. package/esm2015/services/auth.service.js +42 -0
  26. package/esm2015/services/cart.service.js +148 -0
  27. package/esm2015/services/checkout-subscription.service.js +51 -0
  28. package/esm2015/services/checkout.service.js +75 -0
  29. package/esm2015/services/coupon.service.js +266 -0
  30. package/{esm2020/services/errors/group-invalid-coupon.error.mjs → esm2015/services/errors/group-invalid-coupon.error.js} +8 -8
  31. package/{esm2020/services/errors/index.mjs → esm2015/services/errors/index.js} +3 -3
  32. package/{esm2020/services/errors/invalid-coupon.error.mjs → esm2015/services/errors/invalid-coupon.error.js} +8 -7
  33. package/esm2015/services/home-shop.service.js +116 -0
  34. package/esm2015/services/index.js +9 -0
  35. package/esm2015/services/order.service.js +32 -0
  36. package/esm2015/services/shipping.service.js +99 -0
  37. package/{esm2020/services/types/index.mjs → esm2015/services/types/index.js} +3 -3
  38. package/{esm2020/services/types/required-checkout-data.type.mjs → esm2015/services/types/required-checkout-data.type.js} +2 -2
  39. package/{esm2020/services/types/required-checkout-subscription-data.type.mjs → esm2015/services/types/required-checkout-subscription-data.type.js} +2 -2
  40. package/esm2015/services/types/shipping-methods.type.js +2 -0
  41. package/fesm2015/{infrab4a-connect-angular.mjs → infrab4a-connect-angular.js} +1397 -1348
  42. package/fesm2015/infrab4a-connect-angular.js.map +1 -0
  43. package/index.d.ts +5 -5
  44. package/infrab4a-connect-angular.d.ts +5 -0
  45. package/package.json +13 -25
  46. package/services/auth.service.d.ts +19 -18
  47. package/services/cart.service.d.ts +35 -35
  48. package/services/checkout-subscription.service.d.ts +18 -18
  49. package/services/checkout.service.d.ts +23 -23
  50. package/services/coupon.service.d.ts +26 -25
  51. package/services/errors/group-invalid-coupon.error.d.ts +6 -6
  52. package/services/errors/index.d.ts +2 -2
  53. package/services/errors/invalid-coupon.error.d.ts +5 -4
  54. package/services/home-shop.service.d.ts +25 -25
  55. package/services/index.d.ts +8 -7
  56. package/services/order.service.d.ts +13 -13
  57. package/services/shipping.service.d.ts +19 -0
  58. package/services/types/index.d.ts +2 -2
  59. package/services/types/required-checkout-data.type.d.ts +2 -2
  60. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  61. package/services/types/shipping-methods.type.d.ts +12 -0
  62. package/consts/firebase-const.d.ts +0 -3
  63. package/esm2020/angular-connect.module.mjs +0 -49
  64. package/esm2020/angular-firebase-auth.module.mjs +0 -130
  65. package/esm2020/angular-firestore.module.mjs +0 -358
  66. package/esm2020/angular-hasura-graphql.module.mjs +0 -137
  67. package/esm2020/consts/firebase-const.mjs +0 -4
  68. package/esm2020/consts/index.mjs +0 -5
  69. package/esm2020/services/auth.service.mjs +0 -37
  70. package/esm2020/services/cart.service.mjs +0 -143
  71. package/esm2020/services/checkout-subscription.service.mjs +0 -51
  72. package/esm2020/services/checkout.service.mjs +0 -73
  73. package/esm2020/services/coupon.service.mjs +0 -226
  74. package/esm2020/services/home-shop.service.mjs +0 -114
  75. package/esm2020/services/index.mjs +0 -8
  76. package/esm2020/services/order.service.mjs +0 -30
  77. package/esm2020/types/firebase-app-config.type.mjs +0 -2
  78. package/esm2020/types/index.mjs +0 -2
  79. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  80. package/fesm2020/infrab4a-connect-angular.mjs +0 -1338
  81. package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
  82. package/types/firebase-app-config.type.d.ts +0 -1
  83. package/types/index.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infrab4a-connect-angular.js","sources":["../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/backend-url.const.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.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/home-shop.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/shipping.service.ts","../../../projects/connect-angular/src/angular-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'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport { User, UserRepository } from '@infrab4a/connect'\r\nimport { combineLatest, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport firebase from 'firebase/app'\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(\r\n private readonly angularFireAuth: AngularFireAuth,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n ) {}\r\n\r\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\r\n const observables: [Observable<firebase.User>, Observable<User>] = [\r\n this.angularFireAuth.authState.pipe(catchError(() => of(null))),\r\n this.getUser().pipe(catchError(() => of(null))),\r\n ]\r\n\r\n return combineLatest(observables).pipe(\r\n map(([fireUser, user]) => {\r\n return {\r\n user,\r\n isAnonymous: fireUser?.isAnonymous,\r\n } as { user: User; isAnonymous: boolean }\r\n }),\r\n )\r\n }\r\n\r\n getUser(): Observable<User> {\r\n return this.getFireUser().pipe(\r\n map((user) => user?.uid),\r\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\r\n )\r\n }\r\n\r\n getTokenId(): Observable<string> {\r\n return this.angularFireAuth.idToken\r\n }\r\n\r\n getFireUser(): Observable<firebase.User> {\r\n return this.angularFireAuth.user.pipe(catchError(() => of(null)))\r\n }\r\n}\r\n","export const BACKEND_URL = 'BACKEND_URL'","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\r\n","export const ES_CONFIG = 'ES_CONFIG'\r\n","export const HASURA_OPTIONS = 'HASURA_OPTIONS'\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nexport class InvalidCouponError extends CustomError {\r\n constructor(readonly message) {\r\n super(message)\r\n }\r\n}\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nimport { InvalidCouponError } from './invalid-coupon.error'\r\n\r\nexport class GroupInvalidCouponError extends CustomError {\r\n constructor(readonly errors: InvalidCouponError[]) {\r\n super('Many coupon errors throw')\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Category,\r\n CategoryRepository,\r\n Checkout,\r\n CheckoutSubscription,\r\n CheckoutTypes,\r\n Coupon,\r\n CouponRepository,\r\n CouponTypes,\r\n Exclusivities,\r\n LineItem,\r\n OrderRepository,\r\n Shops,\r\n Status,\r\n SubscriptionRepository,\r\n Where\r\n} from '@infrab4a/connect'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { InvalidCouponError } from './errors'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CouponService {\r\n constructor(\r\n @Inject('CouponRepository') private readonly couponRepository: CouponRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n ) {}\r\n\r\n checkCoupon(\r\n nickname: string,\r\n userEmail: string,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ): Observable<Coupon> {\r\n return from(\r\n this.couponRepository.find({\r\n filters: {\r\n nickname: { operator: Where.EQUALS, value: nickname },\r\n active: { operator: Where.EQUALS, value: true },\r\n },\r\n }),\r\n ).pipe(\r\n concatMap((coupons) => this.checkCouponRules(coupons, checkoutType, plan, checkout, isSubscription)),\r\n concatMap((coupon: Coupon) => this.checkCouponUseAndLimit(coupon, userEmail, checkout)),\r\n map((coupon: Coupon) => this.isValidCoupon(coupon, userEmail)),\r\n map((coupon: Coupon) => coupon),\r\n )\r\n }\r\n\r\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\r\n\r\n private checkCouponRules(\r\n coupons,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ) {\r\n // Caso não ache nenhum cupom, retorna erro\r\n if (coupons.count < 1) {\r\n return throwError('Cupom inválido.')\r\n }\r\n\r\n // Get Primeiro Cupom (o find do repository retorna um array)\r\n const coupon: Coupon = coupons.data.shift()\r\n // Verifica se o cupom é aplicavel na loja\r\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\r\n\r\n // Cupon não aplicavel a loja retorna erro\r\n if (!isInShop) return throwError('Cupom inválido para loja.')\r\n\r\n // Verifica se o coupon é aplicado no checkout que está sendo realizado\r\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\r\n\r\n // Cupon não aplicavel ao checkout retorna erro\r\n if (!isCheckoutType) return throwError('Cupom inválido. Erro de checkout.')\r\n\r\n // Verifica se o cupom é ou pode ser aplicado para subscription\r\n if (checkoutType === CheckoutTypes.ALL || checkoutType === CheckoutTypes.SUBSCRIPTION) {\r\n // Se o cupom tiver um plano associado, verifica se é o mesmo plano do checkout da assinatura\r\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase())\r\n return throwError('Cupom inválido para sua assinatura.')\r\n }\r\n\r\n if (isSubscription) return of(coupon)\r\n\r\n // Verifica se possui o valor minimo de compra para utilização do cupom\r\n const hasMinSubTotal = this.hasMinSubTotal(coupon, checkout)\r\n\r\n // Se não tem valor mínimo atingido, retorna erro\r\n if (!hasMinSubTotal) return throwError('Valor mínimo não atingido')\r\n\r\n return of(coupon)\r\n }\r\n\r\n private isValidCoupon(coupon: Coupon, userEmail: string): Coupon {\r\n // Verifica a data de inicio de validade do cupom\r\n if (coupon?.beginAt > new Date()) throw new InvalidCouponError('Cupom ainda não liberado.')\r\n\r\n // Verifica a data de validade do cupom\r\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Cupom expirado.')\r\n\r\n return coupon\r\n }\r\n\r\n private async checkCouponUseAndLimit(coupon: Coupon, userEmail: string, checkout) {\r\n const orders = await this.orderRepository.find({\r\n filters: {\r\n coupon: { id: coupon.id },\r\n payment: { status: 'paid' },\r\n },\r\n })\r\n\r\n // orders que usuario ja fez com o cupom\r\n const ordersUserCoupon = orders.data.filter((o) => o.user.email == userEmail)\r\n\r\n // Verifica o limite de uso de cupom por usuario\r\n if (coupon.useLimitPerUser && ordersUserCoupon.length)\r\n throw new InvalidCouponError('Limite de uso por usuário atingido.')\r\n\r\n // Verifica o limite de uso geral por usuario\r\n if (coupon.useLimit && orders.data.length >= coupon.useLimit)\r\n throw new InvalidCouponError('Limite de uso atingido.')\r\n\r\n const validUser = await this.userValidationAndSubscriptionStatus(coupon, userEmail)\r\n if (!validUser) throw new InvalidCouponError('Usuário não elegível.')\r\n\r\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\r\n\r\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\r\n \r\n return coupon\r\n }\r\n\r\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\r\n //\r\n let discount = 0\r\n\r\n if (coupon.type === CouponTypes.ABSOLUTE) discount = coupon.discount\r\n else if (coupon.type === CouponTypes.PERCENTAGE)\r\n discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount / 100)\r\n\r\n return of(discount)\r\n }\r\n\r\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n\r\n switch (coupon.type) {\r\n case CouponTypes.ABSOLUTE: {\r\n discount = coupon.discount\r\n break\r\n }\r\n case CouponTypes.PERCENTAGE: {\r\n discount = await this.calcShoppingPercentageDiscount(coupon, checkout)\r\n break\r\n }\r\n }\r\n\r\n return discount\r\n }\r\n\r\n private async calcShoppingPercentageDiscount(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n const shop = checkout.shop\r\n let lineItensDiscount = []\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n\r\n if (coupon.productsCategories && coupon.productsCategories.length) {\r\n lineItensDiscount = checkout.lineItems?.filter((i) => {\r\n if (i.categories?.length) {\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n }\r\n return true\r\n })\r\n } else {\r\n lineItensDiscount = checkout.lineItems\r\n }\r\n\r\n const subTotal =\r\n lineItensDiscount.reduce(\r\n (acc, curr: LineItem) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n discount = subTotal * (coupon.discount / 100)\r\n\r\n return discount\r\n }\r\n\r\n private hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): boolean {\r\n if (!coupon.minSubTotalValue) return true\r\n\r\n const shop = checkout.shop\r\n\r\n let subTotal =\r\n checkout.lineItems?.reduce(\r\n (acc, curr) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n if (coupon.minSubTotalValue <= subTotal) return true\r\n return false\r\n }\r\n\r\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\r\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\r\n return true\r\n }\r\n\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n \r\n const hasCategories = checkout.lineItems?.filter(i => {\r\n if (!i.categories || !i.categories?.length) return true\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n })\r\n\r\n return hasCategories.length ? true : false\r\n }\r\n\r\n private async userValidationAndSubscriptionStatus(coupon: Coupon, userEmail: string): Promise<boolean> {\r\n // Verifica se o email do usuário é coorporativo\r\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\r\n throw new InvalidCouponError('Você não é colaborador.')\r\n\r\n // Verifica se o email do usuário é associado ao cupom de uso por usuario\r\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== userEmail)\r\n throw new InvalidCouponError('Cupom não é válido para este usuário.')\r\n\r\n const couponRuleSubscription =\r\n coupon.exclusivityType === Exclusivities.ACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.INACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.NON_SUBSCRIBER\r\n\r\n if (couponRuleSubscription && userEmail) {\r\n const sub = await this.subscriptionRepository\r\n .find({\r\n filters: {\r\n user: {\r\n email: { operator: Where.EQUALS, value: userEmail },\r\n },\r\n },\r\n })\r\n .then((sub) => sub.data)\r\n\r\n const activeSubs = sub?.filter((s) => s.status === Status.ACTIVE)\r\n\r\n switch (coupon.exclusivityType) {\r\n case Exclusivities.ACTIVE_SUBSCRIBER:\r\n return activeSubs.length > 0\r\n case Exclusivities.INACTIVE_SUBSCRIBER:\r\n return activeSubs.length === 0\r\n case Exclusivities.NON_SUBSCRIBER:\r\n return sub.length === 0\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n private async getCouponCategoriesId(coupon: Coupon) {\r\n let couponCategories: { id: string, firestoreId: string }[] = []\r\n\r\n for (let index = 0; index < coupon.productsCategories.length; index++) {\r\n let c: Category & { firestoreId?: string } = await this.categoryRepository.get({ id: coupon.productsCategories[index] }) \r\n couponCategories.push({ id: c.id, firestoreId: c.firestoreId})\r\n }\r\n \r\n return couponCategories\r\n }\r\n\r\n private separateValidCoupons = (\r\n coupons: Coupon[],\r\n userEmail: string,\r\n ): { valids: Coupon[]; invalids: InvalidCouponError[] } =>\r\n coupons\r\n .map((coupon) => {\r\n try {\r\n if (!(coupon instanceof Coupon)) throw new InvalidCouponError('Cupom inválido.')\r\n if (this.isValidCoupon(coupon, userEmail)) return coupon\r\n } catch (error) {\r\n return error as InvalidCouponError\r\n }\r\n })\r\n .reduce(\r\n (current, coupon) => ({\r\n ...current,\r\n ...(coupon instanceof Coupon\r\n ? { valids: [...current.valids, coupon] }\r\n : { invalids: [...current.invalids, coupon] }),\r\n }),\r\n {\r\n valids: [] as Coupon[],\r\n invalids: [] as InvalidCouponError[],\r\n },\r\n )\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Checkout,\r\n CheckoutRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n NotFoundError,\r\n OrderRepository,\r\n pick,\r\n Shops,\r\n User,\r\n UserRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { CouponService } from './coupon.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\n@Injectable()\r\nexport class CheckoutService {\r\n constructor(\r\n private readonly couponService: CouponService,\r\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\r\n const checkoutId = cookie.get('checkoutId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckout(checkoutData))\r\n }\r\n\r\n getUserByCheckout(checkoutId: string): Observable<User> {\r\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\r\n concatMap((checkout) =>\r\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\r\n ),\r\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\r\n )\r\n }\r\n\r\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\r\n }\r\n\r\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\r\n }\r\n\r\n clearCheckoutFromSession(): Observable<void> {\r\n cookie.remove('checkoutId')\r\n\r\n return of()\r\n }\r\n\r\n calcDiscount(coupon: Coupon) {\r\n return this.getCheckout().pipe(\r\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\r\n )\r\n }\r\n\r\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\r\n return this.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.couponService\r\n .checkCoupon(\r\n nickname,\r\n checkout.user?.email,\r\n CheckoutTypes.ECOMMERCE,\r\n checkout.user.subscriptionPlan,\r\n checkout,\r\n false\r\n )\r\n .pipe(),\r\n ),\r\n )\r\n }\r\n\r\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\r\n const checkout = await this.checkoutRepository.create({\r\n createdAt: new Date(),\r\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n shop: checkoutData?.shop || this.defaultShop,\r\n })\r\n\r\n cookie.set('checkoutId', checkout.id)\r\n\r\n return checkout\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Checkout, isNil, LineItem, ProductRepository, Shops, User } from '@infrab4a/connect'\r\nimport { from, iif, Observable, of, Subject } from 'rxjs'\r\nimport { catchError, concatMap, map, mergeMap, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { AuthService } from './auth.service'\r\nimport { CheckoutService } from './checkout.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\nexport type Cart = {\r\n [id: string]: LineItem\r\n}\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private cartSubject: Subject<Cart> = new Subject()\r\n\r\n constructor(\r\n private readonly authService: AuthService,\r\n private readonly checkoutService: CheckoutService,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n ) {}\r\n\r\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\r\n return from(this.checkoutService.getCheckout()).pipe(\r\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\r\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n decreaseItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\r\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\r\n\r\n return this.cartSubject\r\n }\r\n\r\n /**\r\n * @deprecated The method should not be used\r\n */\r\n getVariantPriceDiscount(item: LineItem): Observable<number> {\r\n return this.authService.getUser().pipe(\r\n concatMap((user) =>\r\n iif(\r\n () => user.isSubscriber && !!item.price.subscriberPrice,\r\n of(item.price.subscriberPrice),\r\n of(item.price.price),\r\n ),\r\n ),\r\n catchError(() => of(item.price.price)),\r\n )\r\n }\r\n\r\n removeItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (index >= 0) checkout.lineItems.splice(index, 1)\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n updateUserCart(user: User): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\r\n ),\r\n concatMap(async (checkout) => this.checkoutService.updateCheckoutLineItems(\r\n Checkout.toInstance({\r\n ...checkout.toPlain(),\r\n lineItems: checkout.lineItems?.length ? await Promise.all(\r\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem)\r\n ) : [],\r\n }),\r\n ).toPromise()\r\n ),\r\n map(checkout => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart))\r\n )\r\n }\r\n\r\n clearCart(): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n this.checkoutService.clearCheckoutFromSession()\r\n return checkout\r\n }),\r\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\r\n return this.checkoutService.getCheckout(checkoutData).pipe(\r\n map((checkout) => checkout.lineItems),\r\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\r\n )\r\n }\r\n\r\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\r\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\r\n concatMap((checkoutLoaded) => {\r\n const items: LineItem[] = []\r\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.sku).indexOf(lineItem.sku)\r\n\r\n if (index > -1) {\r\n checkoutLoaded.lineItems[index].quantity += quantity\r\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\r\n } else\r\n checkoutLoaded.lineItems = items.concat(\r\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\r\n )\r\n\r\n return this.checkoutService\r\n .updateCheckoutLineItems(checkoutLoaded)\r\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\r\n }),\r\n )\r\n\r\n private generateCartObject = (items: LineItem[]): Cart => {\r\n const cart: Cart = {}\r\n\r\n items?.forEach(\r\n (item) =>\r\n (cart[item.sku] = LineItem.toInstance({\r\n ...(cart[item.sku] || item),\r\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\r\n })),\r\n )\r\n\r\n return cart\r\n }\r\n\r\n private buildLineItem = async ({\r\n checkout,\r\n item,\r\n quantity,\r\n }: {\r\n checkout: RequiredCheckoutData\r\n item: LineItem\r\n quantity?: number\r\n }): Promise<{checkout: Partial<Checkout>, lineItem: LineItem}> => {\r\n \r\n const product = await this.productRepository.get({ id: item.id })\r\n\r\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.quantity || 0\r\n\r\n if (this.checkMaxStock(item, quantity || 0))\r\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\r\n\r\n const image = item.image || item.images?.shift()\r\n const { id, name, EAN, brand, slug, stock, price, weight, categories, sku, type } = item\r\n const isGift = item.isGift || null\r\n const pricePaid = this.getProductPrice({\r\n product: item,\r\n shop: checkout.shop || this.defaultShop,\r\n isSubscriber: checkout.user?.isSubscriber,\r\n })\r\n\r\n return {\r\n checkout,\r\n lineItem: LineItem.toInstance({\r\n id,\r\n name: name ?? product.name,\r\n EAN: EAN ?? product.EAN,\r\n brand: product.brand,\r\n slug: slug ?? product.slug,\r\n sku: sku ?? product.sku,\r\n stock,\r\n price,\r\n image,\r\n weight: weight ?? product.weight,\r\n quantity: (item.quantity || 0) + (quantity || 0),\r\n pricePaid,\r\n categories: product.categories ?? [],\r\n isGift: isGift ?? null,\r\n costPrice: product.costPrice ?? 0,\r\n type,\r\n }),\r\n }\r\n }\r\n\r\n private getProductPrice = ({\r\n product,\r\n isSubscriber,\r\n }: {\r\n product: LineItem\r\n shop: Shops\r\n isSubscriber: boolean\r\n }): number => {\r\n const info = product.price\r\n\r\n if (product.isGift) return 0\r\n\r\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\r\n }\r\n\r\n private checkMaxStock = (item: LineItem, quantity: number) => {\r\n const maxStock = item.stock?.quantity || 0\r\n const currentItemAmount = item.quantity || 0\r\n\r\n return currentItemAmount + quantity > maxStock\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n CheckoutSubscription,\r\n CheckoutSubscriptionRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n pick,\r\n SubscriptionRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\nimport { RequiredCheckoutSubscriptionData } from './types'\r\n\r\nimport { CouponService } from './coupon.service'\r\n\r\n@Injectable()\r\nexport class CheckoutSubscriptionService {\r\n constructor(\r\n @Inject('CheckoutSubscriptionRepository')\r\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n private readonly couponService: CouponService,\r\n ) { }\r\n\r\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\r\n const checkoutId = cookie.get('checkoutSubscriptionId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckoutSubscription(checkoutData))\r\n }\r\n\r\n private async createCheckoutSubscription(\r\n checkoutData?: RequiredCheckoutSubscriptionData,\r\n ): Promise<CheckoutSubscription> {\r\n const checkout = await this.checkoutSubscriptionRepository.create({\r\n createdAt: new Date(),\r\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n })\r\n\r\n cookie.set('checkoutSubscriptionId', checkout.id)\r\n\r\n return checkout\r\n }\r\n\r\n clearCheckoutSubscriptionFromSession(): Observable<void> {\r\n cookie.remove('checkoutSubscriptionId')\r\n\r\n return of()\r\n }\r\n\r\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION, checkout.subscriptionPlan.name, null, true).pipe()\r\n ),\r\n )\r\n }\r\n\r\n calcDiscountSubscription(coupon: Coupon) {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.calcDiscountSubscription(coupon, checkout).pipe(),\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n add,\r\n Banner,\r\n Category,\r\n CategoryRepository,\r\n Home,\r\n HomeCategoryGroup,\r\n HomeData,\r\n HomeRepository,\r\n pick,\r\n Product,\r\n ProductRepository,\r\n RequiredArgumentError,\r\n Shops,\r\n Where,\r\n} from '@infrab4a/connect'\r\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\r\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\r\n\r\n@Injectable()\r\nexport class HomeShopService {\r\n private homeConfiguration: Home\r\n\r\n private get homeId(): HomeConfigurationId {\r\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\r\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\r\n\r\n return null\r\n }\r\n\r\n constructor(\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getHomeData(): Observable<Home> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\r\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\r\n discoverProducts,\r\n featuredProducts,\r\n verticalProducts,\r\n })),\r\n concatMap((data) => this.saveHomeData(data)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n getBanners(type: BannerType): Observable<Banner[]> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => {\r\n if (type === 'brand') return home.brandsCarousel\r\n if (type === 'buyToWin') return [home.buyToWinBanner]\r\n if (type === 'block') return home.blockBanners\r\n if (type === 'blog') return [home.blogBanner]\r\n }),\r\n )\r\n }\r\n\r\n getMinValueForFreeShipping(): Observable<number> {\r\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\r\n }\r\n\r\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n forkJoin(\r\n home.verticalCarousels.filter(Boolean).map((id) =>\r\n from(this.categoryRepository.get({ id })).pipe(\r\n concatMap((category) =>\r\n from(\r\n this.productRepository.find({\r\n filters: { categories: { operator: Where.IN, value: [category.id] } },\r\n limits: { limit: 12 },\r\n }),\r\n ).pipe(map((products) => ({ category, products }))),\r\n ),\r\n map(({ category, products }) => ({ category, products: products.data })),\r\n map(this.buildCategoryGroupWithRequiredData),\r\n ),\r\n ),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getHomeConfiguration(): Observable<Home> {\r\n return of(this.homeConfiguration).pipe(\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : !this.homeId\r\n ? throwError(new RequiredArgumentError(['homeId']))\r\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\r\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private saveHomeData(homeData: HomeData): Observable<Home> {\r\n const data = {\r\n createdAt: new Date(),\r\n expiresAt: add(new Date(), { hours: 1 }),\r\n data: homeData,\r\n }\r\n\r\n return from(\r\n this.homeRepository.update({\r\n id: this.homeId,\r\n data,\r\n }),\r\n ).pipe(\r\n tap(() => (this.homeConfiguration.data = data)),\r\n map(() => this.homeConfiguration),\r\n )\r\n }\r\n\r\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\r\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\r\n products:\r\n group?.products?.map((product) =>\r\n Product.toInstance(\r\n pick(product?.toPlain() || {}, [\r\n 'id',\r\n 'price',\r\n 'reviews',\r\n 'hasVariants',\r\n 'slug',\r\n 'sku',\r\n 'stock',\r\n 'costPrice',\r\n 'images',\r\n 'miniatures',\r\n 'name',\r\n 'weight',\r\n 'rate',\r\n 'type',\r\n ]),\r\n ),\r\n ) || [],\r\n })\r\n}\r\n","import { Injectable, Inject } from '@angular/core'\r\nimport { AngularFirestore, QueryDocumentSnapshot } from '@angular/fire/firestore'\r\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\r\nimport { from, Observable, Subject } from 'rxjs'\r\nimport { map, mergeMap, tap } from 'rxjs/operators'\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n orderSubject = new Subject<Order>()\r\n\r\n constructor(\r\n private readonly angularFirestore: AngularFirestore,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\r\n ) {}\r\n\r\n getOrder(id: string): Subject<Order> {\r\n this.angularFirestore\r\n .doc<QueryDocumentSnapshot<Order>>(`${this.orderRepository.collectionName}/${id}`)\r\n .valueChanges()\r\n .pipe(map((doc) => Order.toInstance(doc)))\r\n .subscribe((doc) => this.orderSubject.next(doc))\r\n\r\n return this.orderSubject\r\n }\r\n}\r\n","\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Home, Shops } from '@infrab4a/connect';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { BACKEND_URL } from '../consts';\r\nimport { HomeShopService } from './home-shop.service';\r\nimport { ShippingMethodResponse } from './types/shipping-methods.type';\r\n\r\n@Injectable()\r\nexport class ShippingService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(BACKEND_URL) private apiUrl: string,\r\n private homeService: HomeShopService,\r\n ) {}\r\n\r\n public getShippingMethods(\r\n shop: string,\r\n zip: string,\r\n weightGrams: number,\r\n totalPrice: number,\r\n personId: string,\r\n subscriptionPlan?: string\r\n ): Observable<Array<ShippingMethodResponse & { ShippingCompanyName?: string }>> {\r\n\r\n return combineLatest([\r\n this.homeService.getHomeData(),\r\n this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)\r\n ])\r\n .pipe(\r\n map( ([datas, shippingMethodsResponse]: [Home & {sameDayNotAvaliable}, any])=> {\r\n let shippingMethods = shippingMethodsResponse.result as (ShippingMethodResponse & { ShippingCompanyName?: string })[]\r\n\r\n if (!shippingMethods.length) return []\r\n \r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.ShippingCompanyName == 'Same Day EG') s.ShippingCompanyName = 'Same Day'\r\n else return s\r\n })\r\n\r\n const datasSameDayNotAvaliable = datas.sameDayNotAvaliable\r\n\r\n if (this.isHolidays(datasSameDayNotAvaliable)) {\r\n shippingMethods = shippingMethods.filter(\r\n (method) => method.ShippingCompanyName !== 'Same Day'\r\n );\r\n }\r\n\r\n if (totalPrice >= 200) {\r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.serviceName !== 'Same Day') return { ...s, totalPrice: 0 }\r\n else return s\r\n })\r\n }\r\n\r\n if (shop == Shops.GLAMSHOP) return shippingMethods\r\n\r\n if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.serviceName == 'Same Day') return { ...s, totalPrice: s.totalPrice/2 }\r\n else return { ...s, totalPrice: 0 }\r\n })\r\n }\r\n\r\n if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map(s => {\r\n return { ...s, totalPrice: s.totalPrice/2 }\r\n })\r\n }\r\n\r\n return shippingMethods\r\n })\r\n )\r\n \r\n }\r\n\r\n private isFreeShippingBySubscription(shop: string, subscriptionPlan: string): boolean {\r\n if(!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {\r\n return true\r\n }\r\n \r\n return false\r\n }\r\n\r\n private isHalfShippingBySubscription(shop: string, subscriptionPlan: string) {\r\n if(!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {\r\n return true\r\n }\r\n \r\n return false\r\n }\r\n\r\n private isHolidays(datas: any): boolean {\r\n const today = new Date()\r\n\r\n for (const key in datas) {\r\n let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`)\r\n let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`)\r\n\r\n if (start > end)\r\n end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`)\r\n\r\n if (today >= start && today <= end)\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n} from '@angular/fire'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport {\r\n Authentication,\r\n AuthenticationFirebaseAuthService,\r\n AuthenticationService,\r\n Register,\r\n RegisterService,\r\n RegisterFirebaseAuthService,\r\n SignOut,\r\n UserRepository,\r\n RecoveryPassword,\r\n} from '@infrab4a/connect'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule],\r\n providers: [\r\n {\r\n provide: 'Authentication',\r\n useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {\r\n return new Authentication(authenticationService, userRepository)\r\n },\r\n deps: ['AuthenticationService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'AuthenticationService',\r\n useFactory: (angularFireAuth: AngularFireAuth): AuthenticationService => {\r\n return new AuthenticationFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'Register',\r\n useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {\r\n return new Register(registerService, userRepository)\r\n },\r\n deps: ['RegisterService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'RegisterService',\r\n useFactory: (angularFireAuth: AngularFireAuth): RegisterService => {\r\n return new RegisterFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'SignOut',\r\n useFactory: (authenticationService: AuthenticationService): SignOut => {\r\n return new SignOut(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n {\r\n provide: 'RecoveryPassword',\r\n useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {\r\n return new RecoveryPassword(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n ],\r\n})\r\nexport class AngularFirebaseAuthModule {\r\n static initializeApp(\r\n options: FirebaseOptions,\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirebaseAuthModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { AxiosElasticSearchConfig, AxiosAdapter, ProductsIndex } from '@infrab4a/connect'\r\n\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: ProductsIndex,\r\n useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex => {\r\n return new ProductsIndex(new AxiosAdapter(configuration))\r\n },\r\n deps: [ES_CONFIG],\r\n },\r\n ],\r\n})\r\nexport class AngularElasticSeachModule {\r\n static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {\r\n return {\r\n ngModule: AngularElasticSeachModule,\r\n providers: [{ provide: ES_CONFIG, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS,\r\n} from '@angular/fire'\r\nimport { AngularFirestore } from '@angular/fire/firestore'\r\nimport {\r\n AxiosElasticSearchConfig,\r\n BeautyProfileRepository,\r\n Buy2WinFirestoreRepository,\r\n Buy2WinRepository,\r\n CategoryFirestoreRepository,\r\n CategoryRepository,\r\n CheckoutFirestoreRepository,\r\n CheckoutRepository,\r\n CheckoutSubscriptionFirestoreRepository,\r\n CheckoutSubscriptionRepository,\r\n CouponFirestoreRepository,\r\n CouponRepository,\r\n EditionRepository,\r\n HomeFirestoreRepository,\r\n HomeRepository,\r\n LeadFirestoreRepository,\r\n LeadRepository,\r\n LegacyOrderFirestoreRepository,\r\n LegacyOrderRepository,\r\n OrderFirestoreRepository,\r\n OrderRepository,\r\n PaymentFirestoreRepository,\r\n PaymentRepository,\r\n ProductFirestoreRepository,\r\n ProductRepository,\r\n ProductVariantFirestoreRepository,\r\n ShopMenuFirestoreRepository,\r\n ShopMenuRepository,\r\n ShopSettingsFirestoreRepository,\r\n ShopSettingsRepository,\r\n SubscriptionEditionFirestoreRepository,\r\n SubscriptionFirestoreRepository,\r\n SubscriptionPaymentFirestoreRepository,\r\n SubscriptionPaymentRepository,\r\n SubscriptionPlanFirestoreRepository,\r\n SubscriptionPlanRepository,\r\n SubscriptionProductFirestoreRepository,\r\n SubscriptionProductRepository,\r\n SubscriptionRepository,\r\n UserAddressFirestoreRepository,\r\n UserAddressRepository,\r\n UserBeautyProfileFirestoreRepository,\r\n UserFirestoreRepository,\r\n UserPaymentMethodFirestoreRepository,\r\n UserPaymentMethodRepository,\r\n UserRepository,\r\n VariantRepository,\r\n} from '@infrab4a/connect'\r\n\r\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularElasticSeachModule],\r\n providers: [\r\n {\r\n provide: 'BeautyProfileRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\r\n return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'Buy2WinRepository',\r\n useFactory: (firestore: AngularFirestore): Buy2WinRepository => {\r\n return new Buy2WinFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: CategoryFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): CategoryRepository => {\r\n return new CategoryFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutRepository => {\r\n return new CheckoutFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutSubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutSubscriptionRepository => {\r\n return new CheckoutSubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CouponRepository',\r\n useFactory: (firestore: AngularFirestore): CouponRepository => {\r\n return new CouponFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'EditionRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): EditionRepository => {\r\n return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'HomeRepository',\r\n useFactory: (firestore: AngularFirestore): HomeRepository => {\r\n return new HomeFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LeadRepository',\r\n useFactory: (firestore: AngularFirestore): LeadRepository => {\r\n return new LeadFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LegacyOrderRepository',\r\n useFactory: (firestore: AngularFirestore): LegacyOrderRepository => {\r\n return new LegacyOrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'ShopMenuRepository',\r\n useFactory: (firestore: AngularFirestore): ShopMenuRepository => {\r\n return new ShopMenuFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'OrderRepository',\r\n useFactory: (firestore: AngularFirestore): OrderRepository => {\r\n return new OrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'PaymentRepository',\r\n useFactory: (firestore: AngularFirestore): PaymentRepository => {\r\n return new PaymentFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: ProductFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): ProductRepository => {\r\n return new ProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'ShopSettingsRepository',\r\n useFactory: (firestore: AngularFirestore): ShopSettingsRepository => {\r\n return new ShopSettingsFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionPaymentRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): SubscriptionPaymentRepository => {\r\n return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'SubscriptionPlanRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionPlanRepository => {\r\n return new SubscriptionPlanFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionProductRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionProductRepository => {\r\n return new SubscriptionProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionRepository => {\r\n return new SubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserRepository',\r\n useFactory: (firestore: AngularFirestore): UserRepository => {\r\n return new UserFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserAddressRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\r\n return new UserAddressFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'UserPaymentMethodRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n userRepository: UserFirestoreRepository,\r\n ): UserPaymentMethodRepository => {\r\n return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: ProductVariantFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore, productRepository: ProductFirestoreRepository): VariantRepository => {\r\n return new ProductVariantFirestoreRepository(firestore.firestore, productRepository)\r\n },\r\n deps: [AngularFirestore, ProductFirestoreRepository],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (firestore: AngularFirestore) => () =>\r\n firestore.firestore.settings({ ignoreUndefinedProperties: true }),\r\n deps: [AngularFirestore],\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AngularFirestoreModule {\r\n static initializeApp(\r\n options: {\r\n firebase: FirebaseOptions\r\n elasticSearch: AxiosElasticSearchConfig\r\n },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirestoreModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options.firebase },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n { provide: ES_CONFIG, useValue: options.elasticSearch },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n CategoryHasuraGraphQLRepository,\r\n CategoryRepository,\r\n HasuraGraphQLAuthOptions,\r\n ProductHasuraGraphQLRepository,\r\n ProductRepository,\r\n VariantHasuraGraphQLRepository,\r\n VariantRepository,\r\n} from '@infrab4a/connect'\r\n\r\nimport { HASURA_OPTIONS } from './consts'\r\n\r\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: 'CategoryRepository',\r\n useExisting: CategoryHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: CategoryHasuraGraphQLRepository,\r\n useFactory: (\r\n options: HasuraGraphQLOptions,\r\n productRepository: ProductHasuraGraphQLRepository,\r\n ): CategoryRepository => {\r\n return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository)\r\n },\r\n deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],\r\n },\r\n {\r\n provide: 'ProductRepository',\r\n useExisting: ProductHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: ProductHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): ProductRepository => {\r\n return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n {\r\n provide: 'VariantRepository',\r\n useExisting: VariantHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: VariantHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): VariantRepository => {\r\n return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n ],\r\n})\r\nexport class AngularHasuraGraphQLModule {\r\n static initializeApp(options: {\r\n endpoint: string\r\n credentials: HasuraGraphQLAuthOptions\r\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\r\n return {\r\n ngModule: AngularHasuraGraphQLModule,\r\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule, FirebaseAppConfig,\r\n FirebaseOptions, FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS\r\n} from '@angular/fire'\r\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\r\n\r\nimport { AngularFirestoreModule } from './angular-firestore.module'\r\nimport { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\r\nimport { BACKEND_URL, DEFAULT_SHOP, ES_CONFIG, HASURA_OPTIONS } from './consts'\r\nimport {\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService\r\n} from './services'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\r\n providers: [\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService\r\n ],\r\n})\r\nexport class AngularConnectModule {\r\n static initializeApp(\r\n defaultShop: Shops,\r\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig; hasura: HasuraGraphQLOptions, backendUrl: string },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularConnectModule,\r\n providers: [\r\n ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\r\n ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),\r\n ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\r\n ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),\r\n ],\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * from './services';
2
- export * from './angular-firebase-auth.module';
3
- export * from './angular-firestore.module';
4
- export * from './angular-connect.module';
5
- export * from './angular-hasura-graphql.module';
1
+ export * from './services';
2
+ export * from './angular-firebase-auth.module';
3
+ export * from './angular-firestore.module';
4
+ export * from './angular-connect.module';
5
+ export * from './angular-hasura-graphql.module';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@infrab4a/connect-angular" />
5
+ export * from './index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect-angular",
3
- "version": "4.0.0-beta.8",
3
+ "version": "4.0.1-beta.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,10 +9,11 @@
9
9
  "url": "https://github.com/B4AGroup/b4a-firebase-libs"
10
10
  },
11
11
  "peerDependencies": {
12
- "@angular/common": "^15.1.4",
13
- "@angular/core": "^15.1.4",
14
- "@angular/fire": "^7.5.0",
15
- "@infrab4a/connect": "^4.0.0-beta.10",
12
+ "@angular/common": "^12.2.12",
13
+ "@angular/core": "^12.2.12",
14
+ "@angular/fire": "^6.1.5",
15
+ "@infrab4a/connect": "^3.3.0",
16
+ "firebase": "^7.24.0",
16
17
  "js-cookie": "^3.0.1",
17
18
  "rxjs": "^6.6.7"
18
19
  },
@@ -20,24 +21,11 @@
20
21
  "js-cookie": "^3.0.1",
21
22
  "tslib": "^2.4.0"
22
23
  },
23
- "module": "fesm2015/infrab4a-connect-angular.mjs",
24
- "es2020": "fesm2020/infrab4a-connect-angular.mjs",
25
- "esm2020": "esm2020/infrab4a-connect-angular.mjs",
26
- "fesm2020": "fesm2020/infrab4a-connect-angular.mjs",
27
- "fesm2015": "fesm2015/infrab4a-connect-angular.mjs",
28
- "typings": "index.d.ts",
29
- "exports": {
30
- "./package.json": {
31
- "default": "./package.json"
32
- },
33
- ".": {
34
- "types": "./index.d.ts",
35
- "esm2020": "./esm2020/infrab4a-connect-angular.mjs",
36
- "es2020": "./fesm2020/infrab4a-connect-angular.mjs",
37
- "es2015": "./fesm2015/infrab4a-connect-angular.mjs",
38
- "node": "./fesm2015/infrab4a-connect-angular.mjs",
39
- "default": "./fesm2020/infrab4a-connect-angular.mjs"
40
- }
41
- },
24
+ "main": "bundles/infrab4a-connect-angular.umd.js",
25
+ "module": "fesm2015/infrab4a-connect-angular.js",
26
+ "es2015": "fesm2015/infrab4a-connect-angular.js",
27
+ "esm2015": "esm2015/infrab4a-connect-angular.js",
28
+ "fesm2015": "fesm2015/infrab4a-connect-angular.js",
29
+ "typings": "infrab4a-connect-angular.d.ts",
42
30
  "sideEffects": false
43
- }
31
+ }
@@ -1,18 +1,19 @@
1
- import { Auth, User as FirebaseUser } from '@angular/fire/auth';
2
- import { User, UserRepository } from '@infrab4a/connect';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class AuthService {
6
- private readonly angularFireAuth;
7
- private readonly userRepository;
8
- constructor(angularFireAuth: Auth, userRepository: UserRepository);
9
- getAuthstate(): Observable<{
10
- user: User;
11
- isAnonymous: boolean;
12
- }>;
13
- getUser(): Observable<User>;
14
- getTokenId(): Observable<string>;
15
- getFireUser(): Observable<FirebaseUser>;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
18
- }
1
+ import { AngularFireAuth } from '@angular/fire/auth';
2
+ import { User, UserRepository } from '@infrab4a/connect';
3
+ import { Observable } from 'rxjs';
4
+ import firebase from 'firebase/app';
5
+ import * as i0 from "@angular/core";
6
+ export declare class AuthService {
7
+ private readonly angularFireAuth;
8
+ private readonly userRepository;
9
+ constructor(angularFireAuth: AngularFireAuth, userRepository: UserRepository);
10
+ getAuthstate(): Observable<{
11
+ user: User;
12
+ isAnonymous: boolean;
13
+ }>;
14
+ getUser(): Observable<User>;
15
+ getTokenId(): Observable<string>;
16
+ getFireUser(): Observable<firebase.User>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
19
+ }
@@ -1,35 +1,35 @@
1
- import { LineItem, ProductRepository, Shops, User } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import { AuthService } from './auth.service';
4
- import { CheckoutService } from './checkout.service';
5
- import { RequiredCheckoutData } from './types';
6
- import * as i0 from "@angular/core";
7
- export declare type Cart = {
8
- [id: string]: LineItem;
9
- };
10
- export declare class CartService {
11
- private readonly authService;
12
- private readonly checkoutService;
13
- private readonly defaultShop;
14
- private readonly productRepository;
15
- private cartSubject;
16
- constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, productRepository: ProductRepository);
17
- addItem(item: LineItem, quantity?: number): Observable<Cart>;
18
- decreaseItem(item: LineItem): Observable<Cart>;
19
- getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
20
- /**
21
- * @deprecated The method should not be used
22
- */
23
- getVariantPriceDiscount(item: LineItem): Observable<number>;
24
- removeItem(item: LineItem): Observable<Cart>;
25
- updateUserCart(user: User): Observable<Cart>;
26
- clearCart(): Observable<Cart>;
27
- private buildCartFromCheckout;
28
- private updateLineItemInCart;
29
- private generateCartObject;
30
- private buildLineItem;
31
- private getProductPrice;
32
- private checkMaxStock;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
34
- static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
35
- }
1
+ import { LineItem, ProductRepository, Shops, User } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { AuthService } from './auth.service';
4
+ import { CheckoutService } from './checkout.service';
5
+ import { RequiredCheckoutData } from './types';
6
+ import * as i0 from "@angular/core";
7
+ export declare type Cart = {
8
+ [id: string]: LineItem;
9
+ };
10
+ export declare class CartService {
11
+ private readonly authService;
12
+ private readonly checkoutService;
13
+ private readonly defaultShop;
14
+ private readonly productRepository;
15
+ private cartSubject;
16
+ constructor(authService: AuthService, checkoutService: CheckoutService, defaultShop: Shops, productRepository: ProductRepository);
17
+ addItem(item: LineItem, quantity?: number): Observable<Cart>;
18
+ decreaseItem(item: LineItem): Observable<Cart>;
19
+ getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
20
+ /**
21
+ * @deprecated The method should not be used
22
+ */
23
+ getVariantPriceDiscount(item: LineItem): Observable<number>;
24
+ removeItem(item: LineItem): Observable<Cart>;
25
+ updateUserCart(user: User): Observable<Cart>;
26
+ clearCart(): Observable<Cart>;
27
+ private buildCartFromCheckout;
28
+ private updateLineItemInCart;
29
+ private generateCartObject;
30
+ private buildLineItem;
31
+ private getProductPrice;
32
+ private checkMaxStock;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
34
+ static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
35
+ }
@@ -1,18 +1,18 @@
1
- import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon, SubscriptionRepository } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import { RequiredCheckoutSubscriptionData } from './types';
4
- import { CouponService } from './coupon.service';
5
- import * as i0 from "@angular/core";
6
- export declare class CheckoutSubscriptionService {
7
- private readonly checkoutSubscriptionRepository;
8
- private readonly subscriptionRepository;
9
- private readonly couponService;
10
- constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository, subscriptionRepository: SubscriptionRepository, couponService: CouponService);
11
- getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription>;
12
- private createCheckoutSubscription;
13
- clearCheckoutSubscriptionFromSession(): Observable<void>;
14
- checkCoupon(nickname: string, userEmail: string): Observable<Coupon>;
15
- calcDiscountSubscription(coupon: Coupon): Observable<number>;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutSubscriptionService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutSubscriptionService>;
18
- }
1
+ import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon, SubscriptionRepository } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { RequiredCheckoutSubscriptionData } from './types';
4
+ import { CouponService } from './coupon.service';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CheckoutSubscriptionService {
7
+ private readonly checkoutSubscriptionRepository;
8
+ private readonly subscriptionRepository;
9
+ private readonly couponService;
10
+ constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository, subscriptionRepository: SubscriptionRepository, couponService: CouponService);
11
+ getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription>;
12
+ private createCheckoutSubscription;
13
+ clearCheckoutSubscriptionFromSession(): Observable<void>;
14
+ checkCoupon(nickname: string, userEmail: string): Observable<Coupon>;
15
+ calcDiscountSubscription(coupon: Coupon): Observable<number>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutSubscriptionService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutSubscriptionService>;
18
+ }
@@ -1,23 +1,23 @@
1
- import { Checkout, CheckoutRepository, CheckoutTypes, Coupon, OrderRepository, Shops, User, UserRepository } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import { CouponService } from './coupon.service';
4
- import { RequiredCheckoutData } from './types';
5
- import * as i0 from "@angular/core";
6
- export declare class CheckoutService {
7
- private readonly couponService;
8
- private readonly checkoutRepository;
9
- private readonly orderRepository;
10
- private readonly userRepository;
11
- private readonly defaultShop;
12
- constructor(couponService: CouponService, checkoutRepository: CheckoutRepository, orderRepository: OrderRepository, userRepository: UserRepository, defaultShop: Shops);
13
- getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
14
- getUserByCheckout(checkoutId: string): Observable<User>;
15
- updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
16
- updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
17
- clearCheckoutFromSession(): Observable<void>;
18
- calcDiscount(coupon: Coupon): Observable<number>;
19
- checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
20
- private createCheckout;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
22
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
23
- }
1
+ import { Checkout, CheckoutRepository, CheckoutTypes, Coupon, OrderRepository, Shops, User, UserRepository } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { CouponService } from './coupon.service';
4
+ import { RequiredCheckoutData } from './types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CheckoutService {
7
+ private readonly couponService;
8
+ private readonly checkoutRepository;
9
+ private readonly orderRepository;
10
+ private readonly userRepository;
11
+ private readonly defaultShop;
12
+ constructor(couponService: CouponService, checkoutRepository: CheckoutRepository, orderRepository: OrderRepository, userRepository: UserRepository, defaultShop: Shops);
13
+ getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
14
+ getUserByCheckout(checkoutId: string): Observable<User>;
15
+ updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
16
+ updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
17
+ clearCheckoutFromSession(): Observable<void>;
18
+ calcDiscount(coupon: Coupon): Observable<number>;
19
+ checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
20
+ private createCheckout;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
23
+ }
@@ -1,25 +1,26 @@
1
- import { CategoryRepository, Checkout, CheckoutSubscription, CheckoutTypes, Coupon, CouponRepository, OrderRepository, Shops, SubscriptionRepository } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class CouponService {
5
- private readonly couponRepository;
6
- private readonly defaultShop;
7
- private readonly orderRepository;
8
- private readonly subscriptionRepository;
9
- private readonly categoryRepository;
10
- constructor(couponRepository: CouponRepository, defaultShop: Shops, orderRepository: OrderRepository, subscriptionRepository: SubscriptionRepository, categoryRepository: CategoryRepository);
11
- checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes, plan?: string, checkout?: Partial<Checkout>, isSubscription?: boolean): Observable<Coupon>;
12
- private emailIsFromCollaborator;
13
- private checkCouponRules;
14
- private isValidCoupon;
15
- private checkCouponUseAndLimit;
16
- calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
17
- calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number>;
18
- private calcShoppingPercentageDiscount;
19
- private hasMinSubTotal;
20
- private hasProductCategories;
21
- private userValidationAndSubscriptionStatus;
22
- private getCouponCategoriesId;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
24
- static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
25
- }
1
+ import { CategoryRepository, Checkout, CheckoutSubscription, CheckoutTypes, Coupon, CouponRepository, OrderRepository, Shops, SubscriptionRepository } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CouponService {
5
+ private readonly couponRepository;
6
+ private readonly defaultShop;
7
+ private readonly orderRepository;
8
+ private readonly subscriptionRepository;
9
+ private readonly categoryRepository;
10
+ constructor(couponRepository: CouponRepository, defaultShop: Shops, orderRepository: OrderRepository, subscriptionRepository: SubscriptionRepository, categoryRepository: CategoryRepository);
11
+ checkCoupon(nickname: string, userEmail: string, checkoutType: CheckoutTypes, plan?: string, checkout?: Partial<Checkout>, isSubscription?: boolean): Observable<Coupon>;
12
+ private emailIsFromCollaborator;
13
+ private checkCouponRules;
14
+ private isValidCoupon;
15
+ private checkCouponUseAndLimit;
16
+ calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
17
+ calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number>;
18
+ private calcShoppingPercentageDiscount;
19
+ private hasMinSubTotal;
20
+ private hasProductCategories;
21
+ private userValidationAndSubscriptionStatus;
22
+ private getCouponCategoriesId;
23
+ private separateValidCoupons;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
26
+ }
@@ -1,6 +1,6 @@
1
- import { CustomError } from 'ts-custom-error';
2
- import { InvalidCouponError } from './invalid-coupon.error';
3
- export declare class GroupInvalidCouponError extends CustomError {
4
- readonly errors: InvalidCouponError[];
5
- constructor(errors: InvalidCouponError[]);
6
- }
1
+ import { CustomError } from 'ts-custom-error';
2
+ import { InvalidCouponError } from './invalid-coupon.error';
3
+ export declare class GroupInvalidCouponError extends CustomError {
4
+ readonly errors: InvalidCouponError[];
5
+ constructor(errors: InvalidCouponError[]);
6
+ }
@@ -1,2 +1,2 @@
1
- export * from './invalid-coupon.error';
2
- export * from './group-invalid-coupon.error';
1
+ export * from './invalid-coupon.error';
2
+ export * from './group-invalid-coupon.error';
@@ -1,4 +1,5 @@
1
- import { CustomError } from 'ts-custom-error';
2
- export declare class InvalidCouponError extends CustomError {
3
- constructor(message: string);
4
- }
1
+ import { CustomError } from 'ts-custom-error';
2
+ export declare class InvalidCouponError extends CustomError {
3
+ readonly message: any;
4
+ constructor(message: any);
5
+ }