{ "version": 3, "sources": ["libs/crm/dynamic/src/lib/feature-flag-guard.service.ts"], "sourcesContent": ["import { inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, UrlTree } from '@angular/router';\nimport { Observable, combineLatest, map, switchMap } from 'rxjs';\nimport { CrmInjectionToken } from '@galaxy/crm/static';\nimport { FeatureFlagsApiService } from '@vendasta/partner';\n\n@Injectable()\nexport class FeatureFlagGuard {\n private readonly config = inject(CrmInjectionToken);\n private readonly featureFlagService = inject(FeatureFlagsApiService);\n\n canActivate(route: ActivatedRouteSnapshot): Observable {\n let featureFlag = route.data['featureFlag'];\n //TODO remove this once custom objects ff is expired\n if (featureFlag === 'crm_custom_objects') {\n featureFlag = this.config.customObjectFeatureFlag;\n }\n return combineLatest([this.config.namespace$, this.config.parentNamespace$]).pipe(\n switchMap(([namespace, parentNamespace]) => {\n return this.featureFlagService.batchGetStatus({\n featureIds: [featureFlag],\n partnerId: (parentNamespace as string) || (namespace as string),\n });\n }),\n map((response) => response?.hasAccess?.[0] || false),\n );\n }\n}\n"], "mappings": "+NAAA,IAOaA,EAPbC,EAAAC,EAAA,KAAAC,IAEAC,IACAC,IACAC,QAGaN,GAAgB,IAAA,CAAvB,MAAOA,CAAgB,CAD7BO,aAAA,CAEmB,KAAAC,OAASC,EAAOC,CAAiB,EACjC,KAAAC,mBAAqBF,EAAOG,CAAsB,EAEnEC,YAAYC,EAA6B,CACvC,IAAIC,EAAcD,EAAME,KAAK,YAE7B,OAAID,IAAgB,uBAClBA,EAAc,KAAKP,OAAOS,yBAErBC,EAAc,CAAC,KAAKV,OAAOW,WAAY,KAAKX,OAAOY,gBAAgB,CAAC,EAAEC,KAC3EC,EAAU,CAAC,CAACC,EAAWC,CAAe,IAC7B,KAAKb,mBAAmBc,eAAe,CAC5CC,WAAY,CAACX,CAAW,EACxBY,UAAYH,GAA+BD,EAC5C,CACF,EACDK,EAAKC,GAAaA,GAAUC,YAAY,CAAC,GAAK,EAAK,CAAC,CAExD,iDAnBW9B,EAAgB,CAAA,iCAAhBA,EAAgB+B,QAAhB/B,EAAgBgC,SAAA,CAAA,CAAA,SAAhBhC,CAAgB,GAAA", "names": ["FeatureFlagGuard", "init_feature_flag_guard_service", "__esmMin", "init_core", "init_esm", "init_src", "init_vendasta_partner", "constructor", "config", "inject", "CrmInjectionToken", "featureFlagService", "FeatureFlagsApiService", "canActivate", "route", "featureFlag", "data", "customObjectFeatureFlag", "combineLatest", "namespace$", "parentNamespace$", "pipe", "switchMap", "namespace", "parentNamespace", "batchGetStatus", "featureIds", "partnerId", "map", "response", "hasAccess", "factory", "\u0275fac"] }