{ "version": 3, "sources": ["apps/partner-center-client/src/app/core/partner.service.ts"], "sourcesContent": ["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PartnerServiceInterface, SubscriptionTierInterface, SubscriptionTiersService } from '@galaxy/partner';\nimport { BusinessCenterApiService } from '@vendasta/partner';\nimport { Observable } from 'rxjs';\nimport { map, publishReplay, refCount, switchMap } from 'rxjs/operators';\nimport { ApiService } from '../api-service/api.service';\nimport { AppConfigService } from '../app-config.service';\nimport { PartnerAjaxResponse } from './partner/partner-ajax.response';\nimport { PartnerInfo } from './partner/partner-info';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerService implements PartnerServiceInterface {\n private canCustomizeWhitelabel: boolean;\n private marketAccess: string[];\n\n readonly subscriptionTier$: Observable;\n readonly partnerConfig$: Observable;\n readonly partnerNotificationEnabled$ = this.configService.config$.pipe(\n map((config) => config.partnerId),\n switchMap((partnerId) => this.businessCenterApiService.getMarketConfiguration({ partnerId })),\n map((response) => response.marketConfiguration.notificationsEnabled),\n );\n\n readonly businessCenterHostname$: Observable;\n\n constructor(\n private apiService: ApiService,\n private configService: AppConfigService,\n private http: HttpClient,\n private router: Router,\n private readonly subscriptionService: SubscriptionTiersService,\n private readonly businessCenterApiService: BusinessCenterApiService,\n ) {\n this.configService.config$.subscribe((config) => {\n this.canCustomizeWhitelabel = config.userCanCustomizeWhitelabel;\n this.marketAccess = config.accessibleMarketIds;\n });\n\n this.subscriptionTier$ = this.configService.config$.pipe(\n switchMap((config) => this.getPartnerByPartnerId(config.partnerId)),\n switchMap((partner) => this.subscriptionService.getSubscriptionTier(partner.subscription_tier, partner.pid)),\n publishReplay(1),\n refCount(),\n );\n this.partnerConfig$ = this.configService.config$.pipe(\n switchMap((config) => this.getPartnerByPartnerId(config.partnerId)),\n publishReplay(1),\n refCount(),\n );\n this.businessCenterHostname$ = this.configService.config$.pipe(\n switchMap(() => {\n return this.apiService.get('/_ajax/v1/marketplace/partner/get-business-center-hostname');\n }),\n publishReplay(1),\n refCount(),\n );\n }\n\n get CanCustomizeWhitelabel(): boolean {\n return this.canCustomizeWhitelabel;\n }\n\n get MarketAccess(): string[] {\n return this.marketAccess;\n }\n\n public getBusinessCenterHostname(): Observable {\n return this.businessCenterHostname$;\n }\n\n public get partnerId(): string {\n return this.configService.config?.partnerId;\n }\n\n public getPartnerId(): Observable {\n return this.configService.config$.pipe(map((config) => config.partnerId));\n }\n\n public search(term: string): Observable {\n const url = `/api/v3/partner/search/?searchTerm=${term}`;\n return this.apiService.get(url).pipe(map((data) => data.partners));\n }\n\n getPartnersByPartnerId(partnerIds: string[]): Observable {\n const url = '/_ajax/v1/partners/';\n return this.apiService.post(url, { partnerId: partnerIds });\n }\n\n getPartnerByPartnerId(partnerId: string): Observable {\n const url = '/_ajax/v1/partner/?partnerId=' + partnerId;\n return this.apiService.get(url);\n }\n\n getPartnerIds(partnerIds: string[], limit: number, offset: number): Observable {\n const params = { partnerIds: partnerIds, limit: limit, offset: offset };\n return this.apiService.get('/_ajax/v1/partner/ids', { params: params });\n }\n\n updateSubscription(level: string): Observable {\n const url = '/ajax/v1/superadmin/partner/subscription/update';\n const data = { partnerId: this.partnerId, subscriptionLevel: level };\n return this.apiService.post(url, data);\n }\n\n upgradeSubscription(level: string): Observable {\n const url = '/api/v3/partner/subscription/upgrade/';\n const data = { partnerId: this.partnerId, subscriptionLevel: level };\n return this.http.post(url, data, { withCredentials: true });\n }\n\n switchPartner(partnerId: string, route?: string): void {\n this.configService.load(partnerId);\n if (route) {\n this.router.navigateByUrl(route);\n }\n }\n}\n"], "mappings": "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", "names": ["PartnerService", "constructor", "apiService", "configService", "http", "router", "subscriptionService", "businessCenterApiService", "partnerNotificationEnabled$", "config$", "pipe", "map", "config", "partnerId", "switchMap", "getMarketConfiguration", "response", "marketConfiguration", "notificationsEnabled", "subscribe", "canCustomizeWhitelabel", "userCanCustomizeWhitelabel", "marketAccess", "accessibleMarketIds", "subscriptionTier$", "getPartnerByPartnerId", "partner", "getSubscriptionTier", "subscription_tier", "pid", "publishReplay", "refCount", "partnerConfig$", "businessCenterHostname$", "get", "CanCustomizeWhitelabel", "MarketAccess", "getBusinessCenterHostname", "getPartnerId", "search", "term", "url", "data", "partners", "getPartnersByPartnerId", "partnerIds", "post", "getPartnerIds", "limit", "offset", "params", "updateSubscription", "level", "subscriptionLevel", "upgradeSubscription", "withCredentials", "switchPartner", "route", "load", "navigateByUrl", "\u0275\u0275inject", "ApiService", "AppConfigService", "HttpClient", "Router", "SubscriptionTiersService", "BusinessCenterApiService", "factory", "\u0275fac", "providedIn", "_PartnerService"] }