mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
* Rename provider client components for brevity * Make purchased seats dynamic on create client component * Fix access and empty state for service users * Refactor manage client subscription dialog * Fixed manage subscription dialog errors * Make unassigned seats dynamic for create client dialog * Expanded invoice statuses * Update invoice header on invoices component
24 lines
925 B
TypeScript
24 lines
925 B
TypeScript
import { map, Observable, OperatorFunction, switchMap } from "rxjs";
|
|
|
|
import { ProviderStatusType } from "@bitwarden/common/admin-console/enums";
|
|
import { Provider } from "@bitwarden/common/admin-console/models/domain/provider";
|
|
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
|
|
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
|
|
|
|
type MaybeProvider = Provider | undefined;
|
|
|
|
export const hasConsolidatedBilling = (
|
|
configService: ConfigService,
|
|
): OperatorFunction<MaybeProvider, boolean> =>
|
|
switchMap<MaybeProvider, Observable<boolean>>((provider) =>
|
|
configService
|
|
.getFeatureFlag$(FeatureFlag.EnableConsolidatedBilling)
|
|
.pipe(
|
|
map((consolidatedBillingEnabled) =>
|
|
provider
|
|
? provider.providerStatus === ProviderStatusType.Billable && consolidatedBillingEnabled
|
|
: false,
|
|
),
|
|
),
|
|
);
|