{ "version": 3, "sources": ["apps/partner-center-client/src/app/core/guards/facebook-ad-leads-guard.ts"], "sourcesContent": ["import { Inject, Injectable } from '@angular/core';\nimport { Router, UrlTree } from '@angular/router';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\nimport { FeatureFlagService } from '@galaxy/partner';\n\nimport { AppConfigService } from '../../app-config.service';\nimport { FeatureFlags } from '../features';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FacebookAdLeadsGuard {\n constructor(\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n @Inject('MARKET_ID') private readonly marketId$: Observable,\n private readonly featureFlagService: FeatureFlagService,\n private readonly configService: AppConfigService,\n private readonly router: Router,\n ) {}\n\n canActivate(): Observable {\n return this.userHasAccess$().pipe(map((hasAccess) => hasAccess || this.router.createUrlTree(['/access-denied'])));\n }\n\n userHasAccess$(): Observable {\n const flagId = FeatureFlags.FACEBOOK_AD_LEADS_FOR_CLOUD_BROKERS;\n\n return combineLatest([this.partnerId$, this.marketId$]).pipe(\n switchMap(([partnerId, marketId]) => this.featureFlagService.batchGetStatus(partnerId, marketId, [flagId])),\n map((flagResponse) => this.configService.config.userIsAdmin && flagResponse && flagResponse[flagId]),\n shareReplay(1),\n );\n }\n}\n"], "mappings": "gPAaA,IAAaA,GAAoB,IAAA,CAA3B,IAAOA,EAAP,MAAOA,CAAoB,CAC/BC,YACyCC,EACDC,EACrBC,EACAC,EACAC,EAAc,CAJQ,KAAAJ,WAAAA,EACD,KAAAC,UAAAA,EACrB,KAAAC,mBAAAA,EACA,KAAAC,cAAAA,EACA,KAAAC,OAAAA,CAChB,CAEHC,aAAW,CACT,OAAO,KAAKC,eAAc,EAAGC,KAAKC,EAAKC,GAAcA,GAAa,KAAKL,OAAOM,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAClH,CAEAJ,gBAAc,CACZ,IAAMK,EAASC,EAAaC,oCAE5B,OAAOC,EAAc,CAAC,KAAKd,WAAY,KAAKC,SAAS,CAAC,EAAEM,KACtDQ,EAAU,CAAC,CAACC,EAAWC,CAAQ,IAAM,KAAKf,mBAAmBgB,eAAeF,EAAWC,EAAU,CAACN,CAAM,CAAC,CAAC,EAC1GH,EAAKW,GAAiB,KAAKhB,cAAciB,OAAOC,aAAeF,GAAgBA,EAAaR,CAAM,CAAC,EACnGW,EAAY,CAAC,CAAC,CAElB,yCArBWxB,GAAoByB,EAErB,YAAY,EAAAA,EACZ,WAAW,EAAAA,EAAAC,CAAA,EAAAD,EAAAE,CAAA,EAAAF,EAAAG,CAAA,CAAA,CAAA,wBAHV5B,EAAoB6B,QAApB7B,EAAoB8B,UAAAC,WAFnB,MAAM,CAAA,EAEd,IAAO/B,EAAPgC,SAAOhC,CAAoB,GAAA", "names": ["FacebookAdLeadsGuard", "constructor", "partnerId$", "marketId$", "featureFlagService", "configService", "router", "canActivate", "userHasAccess$", "pipe", "map", "hasAccess", "createUrlTree", "flagId", "FeatureFlags", "FACEBOOK_AD_LEADS_FOR_CLOUD_BROKERS", "combineLatest", "switchMap", "partnerId", "marketId", "batchGetStatus", "flagResponse", "config", "userIsAdmin", "shareReplay", "\u0275\u0275inject", "FeatureFlagService", "AppConfigService", "Router", "factory", "\u0275fac", "providedIn", "_FacebookAdLeadsGuard"] }