{ "version": 3, "sources": ["apps/partner-center-client/src/app/core/addons.service.ts", "apps/partner-center-client/src/app/core/marketplace.api.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { Addon } from '@galaxy/marketplace-apps/v1';\nimport {\n AddonKey,\n GetMultiAddonsRequest,\n GetMultiAddonsResponse,\n MarketplacePackagesApiService,\n} from '@vendasta/marketplace-packages';\nimport { BehaviorSubject, combineLatest, forkJoin, Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES } from '../constants';\nimport { MarketplaceAppService } from './marketplace-app.service';\n\nconst ADDON_PREFIX = 'A-';\n\nexport interface AddonsMap {\n [productId: string]: Addon[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AddonsService {\n private addonsMapSubject: BehaviorSubject = new BehaviorSubject({});\n\n constructor(\n private marketplacePackagesApiService: MarketplacePackagesApiService,\n private marketplaceAppService: MarketplaceAppService,\n ) {}\n\n /* tslint:disable:no-string-literal */\n getAddons(appId: string, partnerId: string): Observable {\n if (!Object.prototype.hasOwnProperty.call(this.addonsMapSubject.getValue(), appId)) {\n this.loadAddonsForProduct(appId, partnerId).subscribe((addons) => {\n this.setAddOnsForProduct(appId, addons);\n });\n }\n return this.addonsMapSubject.pipe(map((addonsMap) => addonsMap[appId]));\n }\n\n getAddon(appId: string, addonId: string): Observable {\n const request = new GetMultiAddonsRequest();\n const addonKey = new AddonKey();\n addonKey.addonId = addonId;\n addonKey.appId = appId;\n request.addonKeys = [addonKey];\n request.whitelabelOverrideKey = GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES;\n return this.marketplacePackagesApiService\n .getMultiAddons(request)\n .pipe(\n map((resp: GetMultiAddonsResponse) => (resp.addons && resp.addons.length ? new Addon(resp.addons[0]) : null)),\n );\n }\n\n private setAddOnsForProduct(appId: string, addons: Addon[]): void {\n const addonsMap = this.addonsMapSubject.getValue();\n addonsMap[appId] = addons;\n this.addonsMapSubject.next(addonsMap);\n }\n\n private loadAddonsForProduct(appId: string, partnerId: string): Observable {\n return this.listAddonsMulti([appId], partnerId);\n }\n\n public listAddonsMulti(appIds: string[], partnerId: string): Observable {\n const pageSize = 200;\n\n const apps$ = this.marketplaceAppService.apps$;\n\n const appLookup = new Set(appIds);\n\n const filteredApps$ = apps$.pipe(\n map((apps) => {\n return apps.filter((app) => appLookup.has(app.appId));\n }),\n );\n\n const childKeys$: Observable = filteredApps$.pipe(\n map((apps) => {\n const addons = apps.map((app) => {\n const children = app?.restrictions?.appRequirement?.childrenAppIds || [];\n return children\n .filter((id) => id.startsWith(ADDON_PREFIX))\n .map((id) => new AddonKey({ addonId: id, appId: app.appId }));\n });\n return addons.flat();\n }),\n );\n\n // filter out children that partner doesn't have access to\n const accessibleChildren$ = childKeys$.pipe(\n switchMap((childKeys) => {\n const appIds = childKeys.map((key) => key.addonId);\n return this.marketplacePackagesApiService.areAppsDistributedToPartner({ partnerId, appIds });\n }),\n map((response) => response.areAppsDistributed),\n );\n\n return combineLatest([childKeys$, accessibleChildren$]).pipe(\n map(([keys, distributed]) => {\n return keys.filter((key) => {\n const dist = distributed.find((dist) => dist.appId === key.addonId);\n return dist.isDistributed;\n });\n }),\n switchMap((childKeys) => {\n const pages = childKeys.reduce(chunk(pageSize), []);\n return forkJoin(\n pages.map((page) => {\n const addonsRequest = new GetMultiAddonsRequest();\n addonsRequest.addonKeys = page;\n addonsRequest.whitelabelOverrideKey = GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES;\n return this.marketplacePackagesApiService.getMultiAddons(addonsRequest).pipe(\n catchError(() => observableThrowError('Something went wrong getting addons')),\n map((response) => response.addons),\n );\n }),\n ).pipe(map((pagedAddons) => pagedAddons.flat() as Addon[]));\n }),\n );\n }\n\n getMultiAddons(ak: AddonKey[]): Observable {\n const request = new GetMultiAddonsRequest();\n const addonKeys = new Array();\n ak.map((key: any) => {\n addonKeys.push(\n new AddonKey({\n appId: key.app_id || key.appId,\n addonId: key.addon_id || key.addonId,\n quantity: key.quantity,\n }),\n );\n });\n request.addonKeys = addonKeys;\n request.whitelabelOverrideKey = GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES;\n const addonResponse$: Observable = this.marketplacePackagesApiService\n .getMultiAddons(request)\n .pipe(catchError(() => observableThrowError('Something went wrong getting addons')));\n return addonResponse$.pipe(\n map((response) => (response.addons ? response.addons.map((addon) => new Addon(addon)) : [])),\n );\n }\n}\n\nfunction chunk>(\n pageSize: number,\n): (previousValue: T[], currentValue: U, currentIndex: number) => T[] {\n return (resultArray: T[], item: U, index: number) => {\n const chunkIndex = Math.floor(index / pageSize);\n\n if (!resultArray[chunkIndex]) {\n resultArray[chunkIndex] = [];\n }\n\n resultArray[chunkIndex].push(item);\n\n return resultArray;\n };\n}\n", "// this is the amalgamation of all of the things needed for marketplace\nimport { Inject, Injectable } from '@angular/core';\nimport { Addon } from '@galaxy/marketplace-apps/v1';\nimport {\n ActivatableApp,\n AppEnablementStatus,\n MarketplaceAppService as VendastaCoreAppService,\n PartnerAppEnablementStatus,\n PartnerAppEnablementStatusService,\n} from '@vendasta/marketplace-packages';\nimport { combineLatest, Observable, of as observableOf, ReplaySubject } from 'rxjs';\nimport { catchError, map, shareReplay, switchMap, take } from 'rxjs/operators';\nimport { AppIDs, GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES } from '../constants';\nimport { AddonsService } from './addons.service';\nimport { MarketplaceAppService } from './marketplace-app.service';\nimport { MarketplaceApp } from './marketplace-app/marketplace-app';\nimport { MarketsService } from './markets/markets.service';\nimport { ProductService } from './product.service';\nimport { Product } from './product/product';\n\nexport enum AppEnablementStatusesAppEnablementStatus {\n NOT_SPECIFIED = 0,\n ENABLED = 1,\n DISABLED = 2,\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MarketplaceApiService {\n private partnerAppEnablementStatus$$: ReplaySubject = new ReplaySubject<\n PartnerAppEnablementStatus[]\n >();\n private activatableApps$$: ReplaySubject = new ReplaySubject();\n private partnerAppEnablementStatus$: Observable =\n this.partnerAppEnablementStatus$$.asObservable();\n private activatableApps$: Observable = this.activatableApps$$.asObservable();\n private readonly customProducts$: Observable;\n\n appsForSelectedMarket$: Observable;\n paesMap$: Observable<{ [key: string]: AppEnablementStatus }>;\n addons$: Observable;\n\n ALWAYS_ON_PRODUCTS: string[] = [AppIDs.AdvertisingIntelligence, AppIDs.ListingBuilder];\n\n constructor(\n private productService?: ProductService,\n private appService?: VendastaCoreAppService,\n private marketplaceAppService?: MarketplaceAppService,\n private addonService?: AddonsService,\n @Inject('PARTNER_ID') private partnerId$?: Observable,\n private marketsService?: MarketsService,\n private paesService?: PartnerAppEnablementStatusService,\n ) {\n this.paesMap$ = this.partnerAppEnablementStatus$.pipe(\n map((paes) => {\n const paesMap: { [key: string]: AppEnablementStatus } = {};\n if (paes) {\n paes.forEach((status) => {\n paesMap[status.appId] = status.status;\n });\n }\n return paesMap;\n }),\n shareReplay(1),\n );\n\n this.appsForSelectedMarket$ = this.marketplaceAppService.appsForSelectedMarket;\n\n this.addons$ = this.partnerId$.pipe(\n switchMap((partnerId) => {\n return this.marketplaceAppService.apps$.pipe(\n switchMap((apps) => {\n if (apps?.length > 0) {\n const appIds = apps.map((app) => app.appId);\n return this.getAddonsForAppIds(appIds, partnerId);\n }\n return observableOf([]);\n }),\n catchError(() => {\n return observableOf([]);\n }),\n shareReplay(1),\n );\n }),\n );\n\n this.customProducts$ = this.productService.products.pipe(\n map((products) => {\n return products ? products.filter((product) => product.product_id.startsWith('CP')) : [];\n }),\n );\n\n this.loadPartnerAppEnablementStatus();\n this.loadActivatableApps();\n }\n\n private loadActivatableApps(): void {\n combineLatest([this.partnerId$, this.marketsService.currentMarket$])\n .pipe(\n switchMap(([partnerId, market]) => {\n return this.appService.getAllActivatableApps(\n partnerId,\n market.market_id,\n GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES,\n );\n }),\n take(1),\n )\n .subscribe((activateAbleApps) => this.activatableApps$$.next(activateAbleApps));\n }\n\n private loadPartnerAppEnablementStatus(): void {\n this.partnerId$\n .pipe(\n switchMap((partnerId) => {\n return this.paesService.listPartnerAppEnablementStatus(partnerId);\n }),\n take(1),\n )\n .subscribe((paes) => this.partnerAppEnablementStatus$$.next(paes));\n }\n\n public refreshMarketplaceData(): void {\n this.marketplaceAppService.loadAllMarketplaceApps();\n this.loadPartnerAppEnablementStatus();\n this.loadActivatableApps();\n this.productService.loadAllProducts();\n this.productService.loadApprovedProducts();\n }\n\n /* Switchmap/ CombineLatest / subscribe/ forkJoin to these to get changes. You can also use these directly in templates */\n apps(): Observable {\n return this.marketplaceAppService.apps$;\n }\n\n activatableApps(): Observable {\n return this.activatableApps$;\n }\n\n // ALL PRODUCTS (including custom products)\n products(): Observable {\n return this.productService.products;\n }\n\n // ALL PRODUCTS (including custom products) whitelabeled for current market\n productsForMarket(): Observable {\n return this.productService.productsForMarket;\n }\n\n // A subset of products containing only custom products\n customProducts(): Observable {\n return this.customProducts$;\n }\n\n // takes a list of all marketplace apps and a list of visibleIds that should be visible for a partner\n // filters out the marketplace apps that should not be visible to the partner\n filterAllowedApps(visibleIds: string[], apps: MarketplaceApp[]): MarketplaceApp[] {\n const allowedApps: MarketplaceApp[] = [];\n for (const app of apps) {\n if (visibleIds.indexOf(app.appId) !== -1) {\n allowedApps.push(app);\n }\n }\n return allowedApps;\n }\n\n // gets all of the addons associated with the products a partner has\n // this should wrap the addons/addons.service.ts\n getAddonsForAppIds(appIds: string[], partnerId: string): Observable {\n return this.addonService.listAddonsMulti(appIds, partnerId);\n }\n\n get paes$(): Observable {\n return this.partnerAppEnablementStatus$;\n }\n}\n"], "mappings": "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", "names": ["ADDON_PREFIX", "AddonsService", "constructor", "marketplacePackagesApiService", "marketplaceAppService", "addonsMapSubject", "BehaviorSubject", "getAddons", "appId", "partnerId", "Object", "prototype", "hasOwnProperty", "call", "getValue", "loadAddonsForProduct", "subscribe", "addons", "setAddOnsForProduct", "pipe", "map", "addonsMap", "getAddon", "addonId", "request", "GetMultiAddonsRequest", "addonKey", "AddonKey", "addonKeys", "whitelabelOverrideKey", "GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES", "getMultiAddons", "resp", "length", "Addon", "next", "listAddonsMulti", "appIds", "apps$", "appLookup", "Set", "childKeys$", "apps", "filter", "app", "has", "restrictions", "appRequirement", "childrenAppIds", "id", "startsWith", "flat", "accessibleChildren$", "switchMap", "childKeys", "key", "areAppsDistributedToPartner", "response", "areAppsDistributed", "combineLatest", "keys", "distributed", "find", "dist", "isDistributed", "pages", "reduce", "chunk", "pageSize", "forkJoin", "page", "addonsRequest", "catchError", "observableThrowError", "pagedAddons", "ak", "Array", "push", "app_id", "addon_id", "quantity", "addon", "\u0275\u0275inject", "MarketplacePackagesApiService", "MarketplaceAppService", "factory", "\u0275fac", "providedIn", "_AddonsService", "resultArray", "item", "index", "chunkIndex", "Math", "floor", "MarketplaceApiService", "constructor", "productService", "appService", "marketplaceAppService", "addonService", "partnerId$", "marketsService", "paesService", "partnerAppEnablementStatus$$", "ReplaySubject", "activatableApps$$", "partnerAppEnablementStatus$", "asObservable", "activatableApps$", "ALWAYS_ON_PRODUCTS", "AppIDs", "AdvertisingIntelligence", "ListingBuilder", "paesMap$", "pipe", "map", "paes", "paesMap", "forEach", "status", "appId", "shareReplay", "appsForSelectedMarket$", "appsForSelectedMarket", "addons$", "switchMap", "partnerId", "apps$", "apps", "length", "appIds", "app", "getAddonsForAppIds", "observableOf", "catchError", "customProducts$", "products", "filter", "product", "product_id", "startsWith", "loadPartnerAppEnablementStatus", "loadActivatableApps", "combineLatest", "currentMarket$", "market", "getAllActivatableApps", "market_id", "GET_VENDOR_APP_NAMES_INSTEAD_OF_WHITELABELED_NAMES", "take", "subscribe", "activateAbleApps", "next", "listPartnerAppEnablementStatus", "refreshMarketplaceData", "loadAllMarketplaceApps", "loadAllProducts", "loadApprovedProducts", "activatableApps", "productsForMarket", "customProducts", "filterAllowedApps", "visibleIds", "allowedApps", "indexOf", "push", "listAddonsMulti", "paes$", "\u0275\u0275inject", "ProductService", "MarketplaceAppService", "AddonsService", "MarketsService", "PartnerAppEnablementStatusService", "factory", "\u0275fac", "providedIn", "_MarketplaceApiService"] }