mirror of
https://github.com/bitwarden/browser
synced 2025-12-14 23:33:31 +00:00
[PM-19976] Implement SDK generator engines (#15063)
* Hook up sdk engines to feature flag --------- Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
import { NgModule } from "@angular/core";
|
||||
import { from, take } from "rxjs";
|
||||
|
||||
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { safeProvider } from "@bitwarden/angular/platform/utils/safe-provider";
|
||||
import { SafeInjectionToken } from "@bitwarden/angular/services/injection-tokens";
|
||||
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
||||
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
||||
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
|
||||
import { EncryptService } from "@bitwarden/common/key-management/crypto/abstractions/encrypt.service";
|
||||
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
||||
@@ -83,6 +86,7 @@ const SYSTEM_SERVICE_PROVIDER = new SafeInjectionToken<SystemServiceProvider>("S
|
||||
registry: ExtensionRegistry,
|
||||
logger: LogService,
|
||||
environment: PlatformUtilsService,
|
||||
configService: ConfigService,
|
||||
) => {
|
||||
let log: LogProvider;
|
||||
if (environment.isDev()) {
|
||||
@@ -102,6 +106,7 @@ const SYSTEM_SERVICE_PROVIDER = new SafeInjectionToken<SystemServiceProvider>("S
|
||||
policy,
|
||||
extension,
|
||||
log,
|
||||
configService,
|
||||
};
|
||||
},
|
||||
deps: [
|
||||
@@ -111,6 +116,7 @@ const SYSTEM_SERVICE_PROVIDER = new SafeInjectionToken<SystemServiceProvider>("S
|
||||
ExtensionRegistry,
|
||||
LogService,
|
||||
PlatformUtilsService,
|
||||
ConfigService,
|
||||
],
|
||||
}),
|
||||
safeProvider({
|
||||
@@ -130,17 +136,26 @@ const SYSTEM_SERVICE_PROVIDER = new SafeInjectionToken<SystemServiceProvider>("S
|
||||
now: Date.now,
|
||||
} satisfies UserStateSubjectDependencyProvider;
|
||||
|
||||
const featureFlagObs$ = from(
|
||||
system.configService.getFeatureFlag(FeatureFlag.UseSdkPasswordGenerators),
|
||||
);
|
||||
let featureFlag: boolean = false;
|
||||
featureFlagObs$.pipe(take(1)).subscribe((ff) => (featureFlag = ff));
|
||||
const metadata = new providers.GeneratorMetadataProvider(
|
||||
userStateDeps,
|
||||
system,
|
||||
Object.values(BuiltIn),
|
||||
);
|
||||
|
||||
const sdkService = featureFlag ? system.sdk : undefined;
|
||||
const profile = new providers.GeneratorProfileProvider(userStateDeps, system.policy);
|
||||
|
||||
const generator: providers.GeneratorDependencyProvider = {
|
||||
randomizer: random,
|
||||
client: new RestClient(api, i18n),
|
||||
i18nService: i18n,
|
||||
sdk: sdkService,
|
||||
now: Date.now,
|
||||
};
|
||||
|
||||
const userState: UserStateSubjectDependencyProvider = {
|
||||
|
||||
Reference in New Issue
Block a user