2024-06-11 22:06:37 +02:00
|
|
|
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
|
|
|
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
|
|
|
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
|
|
|
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
|
|
|
import { StateProvider } from "@bitwarden/common/platform/state";
|
|
|
|
import { engine, services, strategies } from "@bitwarden/generator-core";
|
2024-06-20 16:49:23 +02:00
|
|
|
import { LocalGeneratorHistoryService } from "@bitwarden/generator-history";
|
|
|
|
import { DefaultGeneratorNavigationService } from "@bitwarden/generator-navigation";
|
2024-06-11 22:06:37 +02:00
|
|
|
|
|
|
|
import { LegacyPasswordGenerationService } from "./legacy-password-generation.service";
|
|
|
|
import { PasswordGenerationServiceAbstraction } from "./password-generation.service.abstraction";
|
|
|
|
|
|
|
|
const PassphraseGeneratorStrategy = strategies.PassphraseGeneratorStrategy;
|
|
|
|
const PasswordGeneratorStrategy = strategies.PasswordGeneratorStrategy;
|
|
|
|
const CryptoServiceRandomizer = engine.CryptoServiceRandomizer;
|
|
|
|
const DefaultGeneratorService = services.DefaultGeneratorService;
|
|
|
|
|
|
|
|
export function legacyPasswordGenerationServiceFactory(
|
|
|
|
encryptService: EncryptService,
|
|
|
|
cryptoService: CryptoService,
|
|
|
|
policyService: PolicyService,
|
|
|
|
accountService: AccountService,
|
|
|
|
stateProvider: StateProvider,
|
|
|
|
): PasswordGenerationServiceAbstraction {
|
|
|
|
const randomizer = new CryptoServiceRandomizer(cryptoService);
|
|
|
|
|
|
|
|
const passwords = new DefaultGeneratorService(
|
|
|
|
new PasswordGeneratorStrategy(randomizer, stateProvider),
|
|
|
|
policyService,
|
|
|
|
);
|
|
|
|
|
|
|
|
const passphrases = new DefaultGeneratorService(
|
|
|
|
new PassphraseGeneratorStrategy(randomizer, stateProvider),
|
|
|
|
policyService,
|
|
|
|
);
|
|
|
|
|
|
|
|
const navigation = new DefaultGeneratorNavigationService(stateProvider, policyService);
|
|
|
|
|
|
|
|
const history = new LocalGeneratorHistoryService(encryptService, cryptoService, stateProvider);
|
|
|
|
|
|
|
|
return new LegacyPasswordGenerationService(
|
|
|
|
accountService,
|
|
|
|
navigation,
|
|
|
|
passwords,
|
|
|
|
passphrases,
|
|
|
|
history,
|
|
|
|
);
|
|
|
|
}
|