@infrab4a/connect-angular 0.13.0-beta.2 → 0.13.0-beta.3
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/bundles/infrab4a-connect-angular.umd.js +42 -25
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
- package/esm2015/lib/angular-firebase-auth.module.js +4 -2
- package/esm2015/lib/angular-firestore.module.js +4 -2
- package/esm2015/lib/factories/firebase-auth.factory.js +3 -0
- package/esm2015/lib/providers/firebase-auth.provider.js +13 -0
- package/esm2015/lib/providers/firebase-firestore.provider.js +5 -1
- package/esm2015/lib/providers/index.js +2 -1
- package/esm2015/lib/services/auth.service.js +5 -5
- package/esm2015/lib/services/order.service.js +5 -5
- package/fesm2015/infrab4a-connect-angular.js +37 -19
- package/fesm2015/infrab4a-connect-angular.js.map +1 -1
- package/lib/factories/firebase-auth.factory.d.ts +2 -0
- package/lib/providers/firebase-auth.provider.d.ts +9 -0
- package/lib/providers/firebase-firestore.provider.d.ts +1 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/services/auth.service.d.ts +2 -2
- package/lib/services/order.service.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrab4a-connect-angular.js","sources":["../../../projects/connect-angular/src/lib/services/auth.service.ts","../../../projects/connect-angular/src/lib/consts/default-shop.const.ts","../../../projects/connect-angular/src/lib/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/lib/services/coupon.service.ts","../../../projects/connect-angular/src/lib/services/checkout.service.ts","../../../projects/connect-angular/src/lib/services/cart.service.ts","../../../projects/connect-angular/src/lib/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/lib/services/order.service.ts","../../../projects/connect-angular/src/lib/factories/firebase-app.factory.ts","../../../projects/connect-angular/src/lib/providers/firebase-app.provider.ts","../../../projects/connect-angular/src/lib/factories/firebase-firestore.factory.ts","../../../projects/connect-angular/src/lib/providers/firebase-firestore.provider.ts","../../../projects/connect-angular/src/lib/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/lib/angular-firestore.module.ts","../../../projects/connect-angular/src/lib/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["import { Injectable, Inject, NgZone } from '@angular/core'\nimport { FirebaseAuth } from '@firebase/auth-types'\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of, Subscriber } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\nimport firebase from 'firebase/app'\n\nconst fromCallback = <T = any>(cb: (sub: Subscriber<T>) => () => void, zone: NgZone) =>\n new Observable<T>((subscriber) => ({ unsubscribe: zone.runOutsideAngular(() => cb(subscriber)) }))\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly firebaseAuth: FirebaseAuth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n private readonly zone: NgZone,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n this.firebaseAuth.onAuthStateChanged((user) => user)\n\n const observables: [Observable<firebase.User>, Observable<User>] = [\n fromCallback(this.firebaseAuth.onAuthStateChanged, this.zone).pipe(catchError(() => of(null))),\n this.getUser().pipe(catchError(() => of(null))),\n ]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => {\n return {\n user,\n isAnonymous: fireUser?.isAnonymous,\n } as { user: User; isAnonymous: boolean }\n }),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(this.firebaseAuth.currentUser.getIdToken())\n }\n\n getFireUser(): Observable<firebase.User> {\n return of(this.firebaseAuth.currentUser).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap } 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 ) {}\n\n checkCoupon(nickname: string, userEmail: string): Observable<FinancialCoupon> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data[0]),\n ),\n concatMap((coupon) =>\n FinancialCoupon.isFinancialCoupon(coupon) && this.isValidCoupon(coupon, userEmail)\n ? of(coupon)\n : throwError(() => new InvalidCouponError('Coupon is not valid')),\n ),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (coupon.checkoutType !== CheckoutTypes.ECOMMERCE) throw new InvalidCouponError('Coupon is not ecommerce valid')\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { CouponService } from './coupon.service'\nimport { RequiredCheckoutData } from './types'\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly couponService: CouponService,\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\n const checkoutId = cookie.get('checkoutId')\n\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\n\n return from(this.createCheckout(checkoutData))\n }\n\n getUserByCheckout(checkoutId: string): Observable<User> {\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\n concatMap((checkout) =>\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\n ),\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\n )\n }\n\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\n }\n\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\n }\n\n clearCheckoutFromSession(): Observable<void> {\n cookie.remove('checkoutId')\n\n return of()\n }\n\n checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email).pipe(\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\n )\n }\n\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\n const checkout = await this.checkoutRepository.create({\n createdAt: new Date(),\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n shop: checkoutData?.shop || this.defaultShop,\n })\n\n cookie.set('checkoutId', checkout.id)\n\n return checkout\n }\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { AuthService } from './auth.service'\nimport { CheckoutService } from './checkout.service'\nimport { RequiredCheckoutData } from './types'\n\nexport type Cart = {\n [id: string]: LineItem\n}\n\n@Injectable()\nexport class CartService {\n private cartSubject: Subject<Cart> = new Subject()\n\n constructor(\n private readonly authService: AuthService,\n private readonly checkoutService: CheckoutService,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({ checkout, lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }) })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n decreaseItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.sku === item.sku)\n\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\n\n return this.cartSubject\n }\n\n /**\n * @deprecated The method should not be used\n */\n getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).price)),\n )\n }\n\n removeItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.sku === item.sku)\n\n if (index >= 0) checkout.lineItems.splice(index, 1)\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n updateUserCart(user: User): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\n ),\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\n ),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n clearCart(): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n this.checkoutService.clearCheckoutFromSession()\n return checkout\n }),\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\n return this.checkoutService.getCheckout(checkoutData).pipe(\n map((checkout) => checkout.lineItems),\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\n )\n }\n\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\n concatMap((checkoutLoaded) => {\n const items: LineItem[] = []\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.sku).indexOf(lineItem.sku)\n\n if (index > -1) {\n checkoutLoaded.lineItems[index].quantity += quantity\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\n } else\n checkoutLoaded.lineItems = items.concat(\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\n )\n\n return this.checkoutService\n .updateCheckoutLineItems(checkoutLoaded)\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\n }),\n )\n\n private generateCartObject = (items: LineItem[]): Cart => {\n const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.quantity || 0\n\n if (this.checkMaxStock(item, quantity || 0))\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\n\n const image = item.image || item.images?.shift()\n const { id, name, brand, slug, stock, price, weight, categories, sku } = item\n const isGift = item.isGift || null\n const pricePaid = this.getProductPrice({\n product: item,\n shop: checkout.shop || this.defaultShop,\n isSubscriber: checkout.user?.isSubscriber,\n })\n\n return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\n }\n\n private checkMaxStock = (item: LineItem, quantity: number) => {\n const maxStock = item.stock?.quantity || 0\n const currentItemAmount = item.quantity || 0\n\n return currentItemAmount + quantity > maxStock\n }\n\n private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { CheckoutSubscription, CheckoutSubscriptionRepository, isNil, pick } from '@infrab4a/connect'\nimport { from, Observable, of } from 'rxjs'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\n@Injectable()\nexport class CheckoutSubscriptionService {\n constructor(\n @Inject('CheckoutSubscriptionRepository')\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\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","import { Injectable, Inject } from '@angular/core'\nimport { FirebaseFirestore } from '@firebase/firestore-types'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly firebaseFirestore: FirebaseFirestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n this.firebaseFirestore.doc(`${this.orderRepository.collectionName}/${id}`).onSnapshot((doc) => {\n const order = Order.toInstance({ ...doc.data(), id: doc.id })\n\n this.orderSubject.next(order)\n })\n\n return this.orderSubject\n }\n}\n","import { NgZone } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport { isObject, isString } from '@infrab4a/connect'\nimport firebase from 'firebase/app'\n\nexport const FirebaseAppFactory = (\n options: FirebaseOptions,\n zone: NgZone,\n nameOrConfig?: string | FirebaseAppConfig | null,\n) => {\n const name = ((isString(nameOrConfig) && nameOrConfig) || '[DEFAULT]').toString()\n const config = ((isObject(nameOrConfig) && nameOrConfig) || {}) as FirebaseAppConfig\n\n config.name = config.name || name\n\n const existingApp = firebase.apps.filter((firebaseApp) => firebaseApp && firebaseApp.name === config.name)[0]\n\n const app = existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any))\n\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n console.error(\n 'error',\n `${app.name} Firebase App already initialized with different options : '.'\n }`,\n )\n }\n } catch (e) {}\n\n return app\n}\n","import { InjectionToken, NgZone, Optional } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\n\nimport { FirebaseAppFactory } from '../factories/firebase-app.factory'\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('connect-angular.app.options')\nexport const FIREBASE_APP_NAME = new InjectionToken<string | FirebaseAppConfig | undefined>(\n 'connect-angular.app.nameOrConfig',\n)\n\nexport class ConnectAngularFirebaseApp implements Partial<firebase.app.App> {\n name: string\n options: {}\n auth: () => firebase.auth.Auth\n storage: (storageBucket?: string) => firebase.storage.Storage\n firestore: () => firebase.firestore.Firestore\n functions: (region?: string) => firebase.functions.Functions\n}\n\nexport const FirebaseAppProvider = {\n provide: ConnectAngularFirebaseApp,\n useFactory: FirebaseAppFactory,\n deps: [FIREBASE_OPTIONS, NgZone, [new Optional(), FIREBASE_APP_NAME]],\n}\n","import { FirebaseFirestore as FirebaseFirestoreTypes } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nexport const FirebaseFirestoreFactory = (): FirebaseFirestoreTypes => firebase.firestore()\n","import firebase from 'firebase'\n\nimport { FirebaseFirestoreFactory } from '../factories/firebase-firestore.factory'\n\nexport class ConnectAngularFirebaseFirestore implements Partial<firebase.firestore.Firestore> {}\n\nexport const FirebaseFirestoreProvider = {\n provide: ConnectAngularFirebaseFirestore,\n useFactory: FirebaseFirestoreFactory,\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport {\n Authentication,\n AuthenticationFirebaseAuthService,\n AuthenticationService,\n Register,\n RegisterService,\n RegisterFirebaseAuthService,\n SignOut,\n UserRepository,\n} from '@infrab4a/connect'\n\nimport { ConnectAngularFirebaseApp, FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseAppProvider } from './providers'\n\n@NgModule({\n providers: [\n FirebaseAppProvider,\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: (app: ConnectAngularFirebaseApp): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(app.auth())\n },\n deps: [FirebaseAppProvider],\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: (app: ConnectAngularFirebaseApp): RegisterService => {\n return new RegisterFirebaseAuthService(app.auth())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SignOut',\n useFactory: (authenticationService: AuthenticationService): SignOut => {\n return new SignOut(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 { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport {\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport { ConnectAngularFirebaseApp, FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseAppProvider } from './providers'\n\n@NgModule({\n providers: [\n FirebaseAppProvider,\n {\n provide: 'BeautyProfileRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n userRepository: UserFirestoreRepository,\n ): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (app: ConnectAngularFirebaseApp): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CategoryRepository => {\n return new CategoryFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CheckoutRepository => {\n return new CheckoutFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CouponRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CouponRepository => {\n return new CouponFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(app.firestore(), subscriptionRepository)\n },\n deps: [FirebaseAppProvider, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (app: ConnectAngularFirebaseApp): HomeRepository => {\n return new HomeFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'LeadRepository',\n useFactory: (app: ConnectAngularFirebaseApp): LeadRepository => {\n return new LeadFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (app: ConnectAngularFirebaseApp): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (app: ConnectAngularFirebaseApp): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'OrderRepository',\n useFactory: (app: ConnectAngularFirebaseApp): OrderRepository => {\n return new OrderFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (app: ConnectAngularFirebaseApp): PaymentRepository => {\n return new PaymentFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'ProductRepository',\n useFactory: (app: ConnectAngularFirebaseApp): ProductRepository => {\n return new ProductFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(app.firestore(), subscriptionRepository)\n },\n deps: [FirebaseAppProvider, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'UserRepository',\n useFactory: (app: ConnectAngularFirebaseApp): UserRepository => {\n return new UserFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (app: ConnectAngularFirebaseApp, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n userRepository: UserFirestoreRepository,\n ): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n productRepository: ProductFirestoreRepository,\n ): VariantRepository => {\n return new ProductVariantFirestoreRepository(app.firestore(), productRepository)\n },\n deps: [FirebaseAppProvider, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: FirebaseOptions,\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\n return {\n ngModule: AngularFirestoreModule,\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 { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport { isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n OrderService,\n} from './services'\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseAppProvider } from './providers'\nimport { DEFAULT_SHOP } from './consts'\n\n@NgModule({\n imports: [AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n OrderService,\n FirebaseAppProvider,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: FirebaseOptions,\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) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options }]),\n ...(isNil(options) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["firebase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infrab4a-connect-angular.js","sources":["../../../projects/connect-angular/src/lib/factories/firebase-auth.factory.ts","../../../projects/connect-angular/src/lib/providers/firebase-auth.provider.ts","../../../projects/connect-angular/src/lib/services/auth.service.ts","../../../projects/connect-angular/src/lib/consts/default-shop.const.ts","../../../projects/connect-angular/src/lib/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/lib/services/coupon.service.ts","../../../projects/connect-angular/src/lib/services/checkout.service.ts","../../../projects/connect-angular/src/lib/services/cart.service.ts","../../../projects/connect-angular/src/lib/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/lib/factories/firebase-firestore.factory.ts","../../../projects/connect-angular/src/lib/providers/firebase-firestore.provider.ts","../../../projects/connect-angular/src/lib/services/order.service.ts","../../../projects/connect-angular/src/lib/factories/firebase-app.factory.ts","../../../projects/connect-angular/src/lib/providers/firebase-app.provider.ts","../../../projects/connect-angular/src/lib/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/lib/angular-firestore.module.ts","../../../projects/connect-angular/src/lib/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["import firebase from 'firebase'\n\nexport const FirebaseAuthFactory = (): firebase.auth.Auth => firebase.auth()\n","import firebase from 'firebase'\n\nimport { FirebaseAuthFactory } from '../factories/firebase-auth.factory'\n\nexport class ConnectAngularFirebaseAuth implements Partial<firebase.auth.Auth> {\n onAuthStateChanged = firebase.auth().onAuthStateChanged\n currentUser = firebase.auth().currentUser\n}\n\nexport const FirebaseAuthProvider = {\n provide: ConnectAngularFirebaseAuth,\n useFactory: FirebaseAuthFactory,\n}\n","import { Injectable, Inject, NgZone } from '@angular/core'\n\nimport { User, UserRepository } from '@infrab4a/connect'\nimport { combineLatest, from, Observable, of, Subscriber } from 'rxjs'\nimport { catchError, map, mergeMap } from 'rxjs/operators'\nimport firebase from 'firebase/app'\n\nimport { ConnectAngularFirebaseAuth } from '../providers/firebase-auth.provider'\n\nconst fromCallback = <T = any>(cb: (sub: Subscriber<T>) => () => void, zone: NgZone) =>\n new Observable<T>((subscriber) => ({ unsubscribe: zone.runOutsideAngular(() => cb(subscriber)) }))\n@Injectable()\nexport class AuthService {\n constructor(\n private readonly firebaseAuth: ConnectAngularFirebaseAuth,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n private readonly zone: NgZone,\n ) {}\n\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\n this.firebaseAuth.onAuthStateChanged((user) => user)\n\n const observables: [Observable<firebase.User>, Observable<User>] = [\n fromCallback(this.firebaseAuth.onAuthStateChanged, this.zone).pipe(catchError(() => of(null))),\n this.getUser().pipe(catchError(() => of(null))),\n ]\n\n return combineLatest(observables).pipe(\n map(([fireUser, user]) => {\n return {\n user,\n isAnonymous: fireUser?.isAnonymous,\n } as { user: User; isAnonymous: boolean }\n }),\n )\n }\n\n getUser(): Observable<User> {\n return this.getFireUser().pipe(\n map((user) => user?.uid),\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\n )\n }\n\n getTokenId(): Observable<string> {\n return from(this.firebaseAuth.currentUser.getIdToken())\n }\n\n getFireUser(): Observable<firebase.User> {\n return of(this.firebaseAuth.currentUser).pipe(catchError(() => of(null)))\n }\n}\n","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\n","export class InvalidCouponError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport {\n CheckoutTypes,\n CouponRepository,\n Exclusivities,\n FinancialCoupon,\n NotFoundError,\n Shops,\n Where,\n} from '@infrab4a/connect'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap } 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 ) {}\n\n checkCoupon(nickname: string, userEmail: string): Observable<FinancialCoupon> {\n return from(\n this.couponRepository.find([\n {\n nickname: { operator: Where.EQUALS, value: nickname },\n shopAvailability: { operator: Where.EQUALS, value: this.defaultShop },\n },\n ]),\n ).pipe(\n concatMap((coupons) =>\n coupons.count < 1 ? throwError(() => new NotFoundError('Coupon not found')) : of(coupons.data[0]),\n ),\n concatMap((coupon) =>\n FinancialCoupon.isFinancialCoupon(coupon) && this.isValidCoupon(coupon, userEmail)\n ? of(coupon)\n : throwError(() => new InvalidCouponError('Coupon is not valid')),\n ),\n )\n }\n\n private isValidCoupon(coupon: FinancialCoupon, userEmail: string): boolean {\n if (coupon.checkoutType !== CheckoutTypes.ECOMMERCE) throw new InvalidCouponError('Coupon is not ecommerce valid')\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\n throw new InvalidCouponError('User is not a collaborator')\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.recipient !== userEmail)\n throw new InvalidCouponError('Coupon is not valid for user')\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Coupon is expired')\n\n return true\n }\n\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n CheckoutRepository,\n FinancialCoupon,\n isNil,\n NotFoundError,\n OrderRepository,\n pick,\n Shops,\n User,\n UserRepository,\n} from '@infrab4a/connect'\nimport cookie from 'js-cookie'\nimport { from, Observable, throwError, of } from 'rxjs'\nimport { concatMap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { CouponService } from './coupon.service'\nimport { RequiredCheckoutData } from './types'\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly couponService: CouponService,\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\n @Inject('UserRepository') private readonly userRepository: UserRepository,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\n const checkoutId = cookie.get('checkoutId')\n\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\n\n return from(this.createCheckout(checkoutData))\n }\n\n getUserByCheckout(checkoutId: string): Observable<User> {\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\n concatMap((checkout) =>\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\n ),\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\n )\n }\n\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\n }\n\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\n }\n\n clearCheckoutFromSession(): Observable<void> {\n cookie.remove('checkoutId')\n\n return of()\n }\n\n checkCoupon(nickname: string): Observable<FinancialCoupon> {\n return this.getCheckout().pipe(\n concatMap((checkout) =>\n this.couponService.checkCoupon(nickname, checkout.user?.email).pipe(\n concatMap((coupon) =>\n !!checkout.user?.email\n ? from(\n this.orderRepository.find([{ user: { email: checkout.user?.email }, coupon: { id: coupon.id } }]),\n ).pipe(\n concatMap((orders) => {\n if (orders.data.length >= (coupon.useLimit || Infinity))\n return throwError(() => new Error('Coupon is already applied'))\n\n return of(coupon)\n }),\n )\n : of(coupon),\n ),\n ),\n ),\n )\n }\n\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\n const checkout = await this.checkoutRepository.create({\n createdAt: new Date(),\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\n shop: checkoutData?.shop || this.defaultShop,\n })\n\n cookie.set('checkoutId', checkout.id)\n\n return checkout\n }\n}\n","import { Injectable, Inject } from '@angular/core'\nimport {\n Checkout,\n Coupon,\n CouponSubtypes,\n CouponTypes,\n FinancialCoupon,\n isNil,\n LineItem,\n Shops,\n User,\n} from '@infrab4a/connect'\nimport { iif, Observable, of, Subject } from 'rxjs'\nimport { catchError, concatMap, map, tap } from 'rxjs/operators'\n\nimport { DEFAULT_SHOP } from '../consts'\n\nimport { AuthService } from './auth.service'\nimport { CheckoutService } from './checkout.service'\nimport { RequiredCheckoutData } from './types'\n\nexport type Cart = {\n [id: string]: LineItem\n}\n\n@Injectable()\nexport class CartService {\n private cartSubject: Subject<Cart> = new Subject()\n\n constructor(\n private readonly authService: AuthService,\n private readonly checkoutService: CheckoutService,\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\n ) {}\n\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => ({ checkout, lineItem: this.buildLineItem({ checkout, item, quantity: quantity || 1 }) })),\n concatMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n decreaseItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.sku === item.sku)\n\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\n\n return this.cartSubject\n }\n\n /**\n * @deprecated The method should not be used\n */\n getDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n switch (coupon.type) {\n case CouponTypes.FINANCIAL:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.PRODUCT:\n return (subTotalPrice: number) => subTotalPrice\n case CouponTypes.GIFTCARD:\n return this.getFinancialDiscount(coupon)\n case CouponTypes.VOUCHER:\n return (subTotalPrice: number) => subTotalPrice\n }\n }\n\n /**\n * @deprecated The method should not be used\n */\n getVariantPriceDiscount(item: LineItem, shop: Shops): Observable<number> {\n return this.authService.getUser().pipe(\n concatMap((user) =>\n iif(\n () => user.isSubscriber && !!item.getInfoByShop(shop).subscriberPrice,\n of(item.getInfoByShop(shop).subscriberPrice),\n of(item.getInfoByShop(shop).price),\n ),\n ),\n catchError(() => of(item.getInfoByShop(shop).price)),\n )\n }\n\n removeItem(item: LineItem): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.sku === item.sku)\n\n if (index >= 0) checkout.lineItems.splice(index, 1)\n\n return checkout\n }),\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n updateUserCart(user: User): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\n ),\n concatMap((checkout) =>\n this.checkoutService.updateCheckoutLineItems(\n Checkout.toInstance({\n ...checkout.toPlain(),\n lineItems: checkout.lineItems?.map((item) => this.buildLineItem({ checkout, item })) || [],\n }),\n ),\n ),\n map((checkout) => this.generateCartObject(checkout.lineItems)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n clearCart(): Observable<Cart> {\n return this.checkoutService.getCheckout().pipe(\n map((checkout) => {\n this.checkoutService.clearCheckoutFromSession()\n return checkout\n }),\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\n tap((cart) => this.cartSubject.next(cart)),\n )\n }\n\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\n return this.checkoutService.getCheckout(checkoutData).pipe(\n map((checkout) => checkout.lineItems),\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\n )\n }\n\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\n concatMap((checkoutLoaded) => {\n const items: LineItem[] = []\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.sku).indexOf(lineItem.sku)\n\n if (index > -1) {\n checkoutLoaded.lineItems[index].quantity += quantity\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\n } else\n checkoutLoaded.lineItems = items.concat(\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\n )\n\n return this.checkoutService\n .updateCheckoutLineItems(checkoutLoaded)\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\n }),\n )\n\n private generateCartObject = (items: LineItem[]): Cart => {\n const cart: Cart = {}\n\n items?.forEach(\n (item) =>\n (cart[item.sku] = LineItem.toInstance({\n ...(cart[item.sku] || item),\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\n })),\n )\n\n return cart\n }\n\n private buildLineItem = ({\n checkout,\n item,\n quantity,\n }: {\n checkout: RequiredCheckoutData\n item: LineItem\n quantity?: number\n }): LineItem => {\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.quantity || 0\n\n if (this.checkMaxStock(item, quantity || 0))\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\n\n const image = item.image || item.images?.shift()\n const { id, name, brand, slug, stock, price, weight, categories, sku } = item\n const isGift = item.isGift || null\n const pricePaid = this.getProductPrice({\n product: item,\n shop: checkout.shop || this.defaultShop,\n isSubscriber: checkout.user?.isSubscriber,\n })\n\n return LineItem.toInstance({\n id,\n name,\n brand,\n slug,\n sku,\n stock,\n price,\n image,\n weight,\n quantity: (item.quantity || 0) + (quantity || 0),\n pricePaid,\n categories,\n isGift,\n })\n }\n\n private getProductPrice = ({\n product,\n shop,\n isSubscriber,\n }: {\n product: LineItem\n shop: Shops\n isSubscriber: boolean\n }): number => {\n const info = product.getInfoByShop(shop)\n\n if (product.isGift) return 0\n\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\n }\n\n private checkMaxStock = (item: LineItem, quantity: number) => {\n const maxStock = item.stock?.quantity || 0\n const currentItemAmount = item.quantity || 0\n\n return currentItemAmount + quantity > maxStock\n }\n\n private getFinancialDiscount(coupon: Coupon & { id: string }): (subTotalPrice: number) => number {\n return (subTotalPrice) => {\n if (FinancialCoupon.isFinancialCoupon(coupon))\n switch (coupon.subtype) {\n case CouponSubtypes.ABSOLUTE:\n return subTotalPrice - coupon.discount * 100\n case CouponSubtypes.PERCENTAGE:\n return subTotalPrice * (1 - coupon.discount / 100)\n }\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core'\nimport { CheckoutSubscription, CheckoutSubscriptionRepository, isNil, pick } from '@infrab4a/connect'\nimport { from, Observable, of } from 'rxjs'\nimport { RequiredCheckoutSubscriptionData } from './types'\nimport cookie from 'js-cookie'\n\n@Injectable()\nexport class CheckoutSubscriptionService {\n constructor(\n @Inject('CheckoutSubscriptionRepository')\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\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","import { FirebaseFirestore as FirebaseFirestoreTypes } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nexport const FirebaseFirestoreFactory = (): FirebaseFirestoreTypes => firebase.firestore()\n","import firebase from 'firebase'\n\nimport { FirebaseFirestoreFactory } from '../factories/firebase-firestore.factory'\n\nexport class ConnectAngularFirebaseFirestore implements Partial<firebase.firestore.Firestore> {\n doc = firebase.firestore().doc\n}\n\nexport const FirebaseFirestoreProvider = {\n provide: ConnectAngularFirebaseFirestore,\n useFactory: FirebaseFirestoreFactory,\n}\n","import { Injectable, Inject } from '@angular/core'\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\nimport { Subject } from 'rxjs'\n\nimport { ConnectAngularFirebaseFirestore } from '../providers/firebase-firestore.provider'\n\n@Injectable()\nexport class OrderService {\n orderSubject = new Subject<Order>()\n\n constructor(\n private readonly firebaseFirestore: ConnectAngularFirebaseFirestore,\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\n ) {}\n\n getOrder(id: string): Subject<Order> {\n this.firebaseFirestore.doc(`${this.orderRepository.collectionName}/${id}`).onSnapshot((doc) => {\n const order = Order.toInstance({ ...doc.data(), id: doc.id })\n\n this.orderSubject.next(order)\n })\n\n return this.orderSubject\n }\n}\n","import { NgZone } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport { isObject, isString } from '@infrab4a/connect'\nimport firebase from 'firebase/app'\n\nexport const FirebaseAppFactory = (\n options: FirebaseOptions,\n zone: NgZone,\n nameOrConfig?: string | FirebaseAppConfig | null,\n) => {\n const name = ((isString(nameOrConfig) && nameOrConfig) || '[DEFAULT]').toString()\n const config = ((isObject(nameOrConfig) && nameOrConfig) || {}) as FirebaseAppConfig\n\n config.name = config.name || name\n\n const existingApp = firebase.apps.filter((firebaseApp) => firebaseApp && firebaseApp.name === config.name)[0]\n\n const app = existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any))\n\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n console.error(\n 'error',\n `${app.name} Firebase App already initialized with different options : '.'\n }`,\n )\n }\n } catch (e) {}\n\n return app\n}\n","import { InjectionToken, NgZone, Optional } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\n\nimport { FirebaseAppFactory } from '../factories/firebase-app.factory'\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('connect-angular.app.options')\nexport const FIREBASE_APP_NAME = new InjectionToken<string | FirebaseAppConfig | undefined>(\n 'connect-angular.app.nameOrConfig',\n)\n\nexport class ConnectAngularFirebaseApp implements Partial<firebase.app.App> {\n name: string\n options: {}\n auth: () => firebase.auth.Auth\n storage: (storageBucket?: string) => firebase.storage.Storage\n firestore: () => firebase.firestore.Firestore\n functions: (region?: string) => firebase.functions.Functions\n}\n\nexport const FirebaseAppProvider = {\n provide: ConnectAngularFirebaseApp,\n useFactory: FirebaseAppFactory,\n deps: [FIREBASE_OPTIONS, NgZone, [new Optional(), FIREBASE_APP_NAME]],\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport {\n Authentication,\n AuthenticationFirebaseAuthService,\n AuthenticationService,\n Register,\n RegisterService,\n RegisterFirebaseAuthService,\n SignOut,\n UserRepository,\n} from '@infrab4a/connect'\n\nimport {\n ConnectAngularFirebaseApp,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n FirebaseAppProvider,\n FirebaseAuthProvider,\n} from './providers'\n\n@NgModule({\n providers: [\n FirebaseAppProvider,\n FirebaseAuthProvider,\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: (app: ConnectAngularFirebaseApp): AuthenticationService => {\n return new AuthenticationFirebaseAuthService(app.auth())\n },\n deps: [FirebaseAppProvider],\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: (app: ConnectAngularFirebaseApp): RegisterService => {\n return new RegisterFirebaseAuthService(app.auth())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SignOut',\n useFactory: (authenticationService: AuthenticationService): SignOut => {\n return new SignOut(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 { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport {\n BeautyProfileRepository,\n Buy2WinFirestoreRepository,\n Buy2WinRepository,\n CategoryRepository,\n CategoryFirestoreRepository,\n CheckoutRepository,\n CheckoutFirestoreRepository,\n CheckoutSubscriptionFirestoreRepository,\n CheckoutSubscriptionRepository,\n CouponRepository,\n CouponFirestoreRepository,\n EditionRepository,\n HomeFirestoreRepository,\n HomeRepository,\n LeadRepository,\n LeadFirestoreRepository,\n LegacyOrderRepository,\n LegacyOrderFirestoreRepository,\n ShopMenuFirestoreRepository,\n ShopMenuRepository,\n OrderRepository,\n OrderFirestoreRepository,\n PaymentRepository,\n PaymentFirestoreRepository,\n ProductRepository,\n ProductFirestoreRepository,\n SubscriptionEditionFirestoreRepository,\n SubscriptionFirestoreRepository,\n SubscriptionPaymentFirestoreRepository,\n SubscriptionPaymentRepository,\n SubscriptionPlanFirestoreRepository,\n SubscriptionPlanRepository,\n SubscriptionProductFirestoreRepository,\n SubscriptionProductRepository,\n SubscriptionRepository,\n UserAddressRepository,\n UserAddressFirestoreRepository,\n UserBeautyProfileFirestoreRepository,\n UserFirestoreRepository,\n UserRepository,\n VariantRepository,\n ProductVariantFirestoreRepository,\n UserPaymentMethodRepository,\n UserPaymentMethodFirestoreRepository,\n} from '@infrab4a/connect'\n\nimport {\n ConnectAngularFirebaseApp,\n FIREBASE_APP_NAME,\n FIREBASE_OPTIONS,\n FirebaseAppProvider,\n FirebaseFirestoreProvider,\n} from './providers'\n\n@NgModule({\n providers: [\n FirebaseAppProvider,\n FirebaseFirestoreProvider,\n {\n provide: 'BeautyProfileRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n userRepository: UserFirestoreRepository,\n ): BeautyProfileRepository => {\n return new UserBeautyProfileFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'Buy2WinRepository',\n useFactory: (app: ConnectAngularFirebaseApp): Buy2WinRepository => {\n return new Buy2WinFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CategoryRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CategoryRepository => {\n return new CategoryFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CheckoutRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CheckoutRepository => {\n return new CheckoutFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CheckoutSubscriptionRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CheckoutSubscriptionRepository => {\n return new CheckoutSubscriptionFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'CouponRepository',\n useFactory: (app: ConnectAngularFirebaseApp): CouponRepository => {\n return new CouponFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'EditionRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): EditionRepository => {\n return new SubscriptionEditionFirestoreRepository(app.firestore(), subscriptionRepository)\n },\n deps: [FirebaseAppProvider, 'SubscriptionRepository'],\n },\n {\n provide: 'HomeRepository',\n useFactory: (app: ConnectAngularFirebaseApp): HomeRepository => {\n return new HomeFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'LeadRepository',\n useFactory: (app: ConnectAngularFirebaseApp): LeadRepository => {\n return new LeadFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'LegacyOrderRepository',\n useFactory: (app: ConnectAngularFirebaseApp): LegacyOrderRepository => {\n return new LegacyOrderFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'ShopMenuRepository',\n useFactory: (app: ConnectAngularFirebaseApp): ShopMenuRepository => {\n return new ShopMenuFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'OrderRepository',\n useFactory: (app: ConnectAngularFirebaseApp): OrderRepository => {\n return new OrderFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'PaymentRepository',\n useFactory: (app: ConnectAngularFirebaseApp): PaymentRepository => {\n return new PaymentFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'ProductRepository',\n useFactory: (app: ConnectAngularFirebaseApp): ProductRepository => {\n return new ProductFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionPaymentRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n subscriptionRepository: SubscriptionFirestoreRepository,\n ): SubscriptionPaymentRepository => {\n return new SubscriptionPaymentFirestoreRepository(app.firestore(), subscriptionRepository)\n },\n deps: [FirebaseAppProvider, 'SubscriptionRepository'],\n },\n {\n provide: 'SubscriptionPlanRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionPlanRepository => {\n return new SubscriptionPlanFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionProductRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionProductRepository => {\n return new SubscriptionProductFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'SubscriptionRepository',\n useFactory: (app: ConnectAngularFirebaseApp): SubscriptionRepository => {\n return new SubscriptionFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'UserRepository',\n useFactory: (app: ConnectAngularFirebaseApp): UserRepository => {\n return new UserFirestoreRepository(app.firestore())\n },\n deps: [FirebaseAppProvider],\n },\n {\n provide: 'UserAddressRepository',\n useFactory: (app: ConnectAngularFirebaseApp, userRepository: UserFirestoreRepository): UserAddressRepository => {\n return new UserAddressFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'UserPaymentMethodRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n userRepository: UserFirestoreRepository,\n ): UserPaymentMethodRepository => {\n return new UserPaymentMethodFirestoreRepository(app.firestore(), userRepository)\n },\n deps: [FirebaseAppProvider, 'UserRepository'],\n },\n {\n provide: 'VariantRepository',\n useFactory: (\n app: ConnectAngularFirebaseApp,\n productRepository: ProductFirestoreRepository,\n ): VariantRepository => {\n return new ProductVariantFirestoreRepository(app.firestore(), productRepository)\n },\n deps: [FirebaseAppProvider, 'ProductRepository'],\n },\n ],\n})\nexport class AngularFirestoreModule {\n static initializeApp(\n options: FirebaseOptions,\n nameOrConfig?: string | FirebaseAppConfig,\n ): ModuleWithProviders<AngularFirestoreModule> {\n return {\n ngModule: AngularFirestoreModule,\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 { FirebaseAppConfig, FirebaseOptions } from '@firebase/app-types'\nimport { isNil, Shops } from '@infrab4a/connect'\n\nimport { AngularFirestoreModule } from './angular-firestore.module'\nimport {\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n OrderService,\n} from './services'\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseAppProvider } from './providers'\nimport { DEFAULT_SHOP } from './consts'\n\n@NgModule({\n imports: [AngularFirestoreModule],\n providers: [\n AuthService,\n CartService,\n CheckoutService,\n CheckoutSubscriptionService,\n CouponService,\n OrderService,\n FirebaseAppProvider,\n ],\n})\nexport class AngularConnectModule {\n static initializeApp(\n defaultShop: Shops,\n options: FirebaseOptions,\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) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options }]),\n ...(isNil(options) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["firebase"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import firebase from 'firebase';
|
|
2
|
+
export declare class ConnectAngularFirebaseAuth implements Partial<firebase.auth.Auth> {
|
|
3
|
+
onAuthStateChanged: (nextOrObserver: firebase.Observer<any, Error> | ((a: firebase.User) => any), error?: (a: firebase.auth.Error) => any, completed?: firebase.Unsubscribe) => firebase.Unsubscribe;
|
|
4
|
+
currentUser: firebase.User;
|
|
5
|
+
}
|
|
6
|
+
export declare const FirebaseAuthProvider: {
|
|
7
|
+
provide: typeof ConnectAngularFirebaseAuth;
|
|
8
|
+
useFactory: () => firebase.auth.Auth;
|
|
9
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import firebase from 'firebase';
|
|
2
2
|
export declare class ConnectAngularFirebaseFirestore implements Partial<firebase.firestore.Firestore> {
|
|
3
|
+
doc: (documentPath: string) => firebase.firestore.DocumentReference<firebase.firestore.DocumentData>;
|
|
3
4
|
}
|
|
4
5
|
export declare const FirebaseFirestoreProvider: {
|
|
5
6
|
provide: typeof ConnectAngularFirebaseFirestore;
|
package/lib/providers/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { NgZone } from '@angular/core';
|
|
2
|
-
import { FirebaseAuth } from '@firebase/auth-types';
|
|
3
2
|
import { User, UserRepository } from '@infrab4a/connect';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
5
4
|
import firebase from 'firebase/app';
|
|
5
|
+
import { ConnectAngularFirebaseAuth } from '../providers/firebase-auth.provider';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class AuthService {
|
|
8
8
|
private readonly firebaseAuth;
|
|
9
9
|
private readonly userRepository;
|
|
10
10
|
private readonly zone;
|
|
11
|
-
constructor(firebaseAuth:
|
|
11
|
+
constructor(firebaseAuth: ConnectAngularFirebaseAuth, userRepository: UserRepository, zone: NgZone);
|
|
12
12
|
getAuthstate(): Observable<{
|
|
13
13
|
user: User;
|
|
14
14
|
isAnonymous: boolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { FirebaseFirestore } from '@firebase/firestore-types';
|
|
2
1
|
import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
|
|
3
2
|
import { Subject } from 'rxjs';
|
|
3
|
+
import { ConnectAngularFirebaseFirestore } from '../providers/firebase-firestore.provider';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class OrderService {
|
|
6
6
|
private readonly firebaseFirestore;
|
|
7
7
|
private readonly orderRepository;
|
|
8
8
|
orderSubject: Subject<Order>;
|
|
9
|
-
constructor(firebaseFirestore:
|
|
9
|
+
constructor(firebaseFirestore: ConnectAngularFirebaseFirestore, orderRepository: OrderFirestoreRepository);
|
|
10
10
|
getOrder(id: string): Subject<Order>;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<OrderService, never>;
|
|
12
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<OrderService>;
|