1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-28 04:08:47 +02:00
bitwarden-browser/apps/browser/src/background/service_factories/policy-service.factory.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
1.1 KiB
TypeScript
Raw Normal View History

import { PolicyService as AbstractPolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction";
import { PolicyService } from "@bitwarden/common/services/policy/policy.service";
import { CachedServices, factory, FactoryOptions } from "./factory-options";
import {
organizationServiceFactory,
OrganizationServiceInitOptions,
} from "./organization-service.factory";
import {
stateServiceFactory as stateServiceFactory,
StateServiceInitOptions,
} from "./state-service.factory";
type PolicyServiceFactoryOptions = FactoryOptions;
export type PolicyServiceInitOptions = PolicyServiceFactoryOptions &
StateServiceInitOptions &
OrganizationServiceInitOptions;
export function policyServiceFactory(
cache: { policyService?: AbstractPolicyService } & CachedServices,
opts: PolicyServiceInitOptions
): Promise<AbstractPolicyService> {
return factory(
cache,
"policyService",
opts,
async () =>
new PolicyService(
await stateServiceFactory(cache, opts),
await organizationServiceFactory(cache, opts)
)
);
}