mirror of
https://github.com/bitwarden/browser
synced 2025-12-14 07:13:32 +00:00
[PM-328] Move generator to tools (#4980)
* Move generator to tools libs/angular: - Move generator.component to tools libs/common: - Move password generation to tools - Move username generation including email-forwarders to tools apps/* - create tools-subfolder and move files regarding generator functionality - Update all the imports .github/: - Cleaned up whitelist-capital-letters.txt - Added team-tools-dev folders to CODEOWNERS * Remove unused barrel file
This commit is contained in:
committed by
GitHub
parent
e9d0f75b8a
commit
d4c812160f
@@ -15,13 +15,13 @@ import { SendData } from "../models/data/send.data";
|
||||
import { ServerConfigData } from "../models/data/server-config.data";
|
||||
import { Account, AccountSettingsSettings } from "../models/domain/account";
|
||||
import { EncString } from "../models/domain/enc-string";
|
||||
import { GeneratedPasswordHistory } from "../models/domain/generated-password-history";
|
||||
import { Policy } from "../models/domain/policy";
|
||||
import { StorageOptions } from "../models/domain/storage-options";
|
||||
import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key";
|
||||
import { WindowState } from "../models/domain/window-state";
|
||||
import { CollectionView } from "../models/view/collection.view";
|
||||
import { SendView } from "../models/view/send.view";
|
||||
import { GeneratedPasswordHistory } from "../tools/generator/password";
|
||||
import { CipherData } from "../vault/models/data/cipher.data";
|
||||
import { FolderData } from "../vault/models/data/folder.data";
|
||||
import { LocalData } from "../vault/models/data/local.data";
|
||||
|
||||
@@ -5,6 +5,7 @@ import { EnvironmentUrls } from "../../auth/models/domain/environment-urls";
|
||||
import { KdfType } from "../../enums/kdfType";
|
||||
import { UriMatchType } from "../../enums/uriMatchType";
|
||||
import { Utils } from "../../misc/utils";
|
||||
import { GeneratedPasswordHistory } from "../../tools/generator/password";
|
||||
import { DeepJsonify } from "../../types/deep-jsonify";
|
||||
import { CipherData } from "../../vault/models/data/cipher.data";
|
||||
import { FolderData } from "../../vault/models/data/folder.data";
|
||||
@@ -21,7 +22,6 @@ import { CollectionView } from "../view/collection.view";
|
||||
import { SendView } from "../view/send.view";
|
||||
|
||||
import { EncString } from "./enc-string";
|
||||
import { GeneratedPasswordHistory } from "./generated-password-history";
|
||||
import { Policy } from "./policy";
|
||||
import { SymmetricCryptoKey } from "./symmetric-crypto-key";
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ import {
|
||||
AccountSettingsSettings,
|
||||
} from "../models/domain/account";
|
||||
import { EncString } from "../models/domain/enc-string";
|
||||
import { GeneratedPasswordHistory } from "../models/domain/generated-password-history";
|
||||
import { GlobalState } from "../models/domain/global-state";
|
||||
import { Policy } from "../models/domain/policy";
|
||||
import { State } from "../models/domain/state";
|
||||
@@ -41,6 +40,7 @@ import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key";
|
||||
import { WindowState } from "../models/domain/window-state";
|
||||
import { CollectionView } from "../models/view/collection.view";
|
||||
import { SendView } from "../models/view/send.view";
|
||||
import { GeneratedPasswordHistory } from "../tools/generator/password";
|
||||
import { CipherData } from "../vault/models/data/cipher.data";
|
||||
import { FolderData } from "../vault/models/data/folder.data";
|
||||
import { LocalData } from "../vault/models/data/local.data";
|
||||
|
||||
@@ -19,9 +19,9 @@ import {
|
||||
EncryptionPair,
|
||||
} from "../models/domain/account";
|
||||
import { EncString } from "../models/domain/enc-string";
|
||||
import { GeneratedPasswordHistory } from "../models/domain/generated-password-history";
|
||||
import { GlobalState } from "../models/domain/global-state";
|
||||
import { StorageOptions } from "../models/domain/storage-options";
|
||||
import { GeneratedPasswordHistory } from "../tools/generator/password";
|
||||
import { CipherData } from "../vault/models/data/cipher.data";
|
||||
import { FolderData } from "../vault/models/data/folder.data";
|
||||
|
||||
|
||||
3
libs/common/src/tools/generator/password/index.ts
Normal file
3
libs/common/src/tools/generator/password/index.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export { PasswordGenerationServiceAbstraction } from "./password-generation.service.abstraction";
|
||||
export { PasswordGenerationService } from "./password-generation.service";
|
||||
export { GeneratedPasswordHistory } from "./generated-password-history";
|
||||
@@ -1,10 +1,11 @@
|
||||
import * as zxcvbn from "zxcvbn";
|
||||
|
||||
import { GeneratedPasswordHistory } from "../models/domain/generated-password-history";
|
||||
import { PasswordGeneratorOptions } from "../models/domain/password-generator-options";
|
||||
import { PasswordGeneratorPolicyOptions } from "../models/domain/password-generator-policy-options";
|
||||
import { PasswordGeneratorPolicyOptions } from "../../../models/domain/password-generator-policy-options";
|
||||
|
||||
export abstract class PasswordGenerationService {
|
||||
import { GeneratedPasswordHistory } from "./generated-password-history";
|
||||
import { PasswordGeneratorOptions } from "./password-generator-options";
|
||||
|
||||
export abstract class PasswordGenerationServiceAbstraction {
|
||||
generatePassword: (options: PasswordGeneratorOptions) => Promise<string>;
|
||||
generatePassphrase: (options: PasswordGeneratorOptions) => Promise<string>;
|
||||
getOptions: () => Promise<[PasswordGeneratorOptions, PasswordGeneratorPolicyOptions]>;
|
||||
@@ -1,15 +1,16 @@
|
||||
import * as zxcvbn from "zxcvbn";
|
||||
|
||||
import { CryptoService } from "../abstractions/crypto.service";
|
||||
import { PasswordGenerationService as PasswordGenerationServiceAbstraction } from "../abstractions/passwordGeneration.service";
|
||||
import { PolicyService } from "../abstractions/policy/policy.service.abstraction";
|
||||
import { StateService } from "../abstractions/state.service";
|
||||
import { PolicyType } from "../enums/policyType";
|
||||
import { EFFLongWordList } from "../misc/wordlist";
|
||||
import { EncString } from "../models/domain/enc-string";
|
||||
import { GeneratedPasswordHistory } from "../models/domain/generated-password-history";
|
||||
import { PasswordGeneratorOptions } from "../models/domain/password-generator-options";
|
||||
import { PasswordGeneratorPolicyOptions } from "../models/domain/password-generator-policy-options";
|
||||
import { CryptoService } from "../../../abstractions/crypto.service";
|
||||
import { PolicyService } from "../../../abstractions/policy/policy.service.abstraction";
|
||||
import { StateService } from "../../../abstractions/state.service";
|
||||
import { PolicyType } from "../../../enums/policyType";
|
||||
import { EFFLongWordList } from "../../../misc/wordlist";
|
||||
import { EncString } from "../../../models/domain/enc-string";
|
||||
import { PasswordGeneratorPolicyOptions } from "../../../models/domain/password-generator-policy-options";
|
||||
|
||||
import { GeneratedPasswordHistory } from "./generated-password-history";
|
||||
import { PasswordGenerationServiceAbstraction } from "./password-generation.service.abstraction";
|
||||
import { PasswordGeneratorOptions } from "./password-generator-options";
|
||||
|
||||
const DefaultOptions: PasswordGeneratorOptions = {
|
||||
length: 14,
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { Forwarder } from "./forwarder";
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { Forwarder } from "./forwarder";
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { Forwarder } from "./forwarder";
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { Forwarder } from "./forwarder";
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
export { AnonAddyForwarder } from "./anon-addy-forwarder";
|
||||
export { DuckDuckGoForwarder } from "./duck-duck-go-forwarder";
|
||||
export { FastmailForwarder } from "./fastmail-forwarder";
|
||||
export { FirefoxRelayForwarder } from "./firefox-relay-forwarder";
|
||||
export { Forwarder } from "./forwarder";
|
||||
export { ForwarderOptions } from "./forwarder-options";
|
||||
export { SimpleLoginForwarder } from "./simple-login-forwarder";
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { ApiService } from "../../../../abstractions/api.service";
|
||||
|
||||
import { Forwarder } from "./forwarder";
|
||||
import { ForwarderOptions } from "./forwarder-options";
|
||||
2
libs/common/src/tools/generator/username/index.ts
Normal file
2
libs/common/src/tools/generator/username/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export { UsernameGenerationServiceAbstraction } from "./username-generation.service.abstraction";
|
||||
export { UsernameGenerationService } from "./username-generation.service";
|
||||
@@ -1,4 +1,4 @@
|
||||
export abstract class UsernameGenerationService {
|
||||
export abstract class UsernameGenerationServiceAbstraction {
|
||||
generateUsername: (options: any) => Promise<string>;
|
||||
generateWord: (options: any) => Promise<string>;
|
||||
generateSubaddress: (options: any) => Promise<string>;
|
||||
@@ -1,15 +1,18 @@
|
||||
import { ApiService } from "../abstractions/api.service";
|
||||
import { CryptoService } from "../abstractions/crypto.service";
|
||||
import { StateService } from "../abstractions/state.service";
|
||||
import { UsernameGenerationService as BaseUsernameGenerationService } from "../abstractions/usernameGeneration.service";
|
||||
import { AnonAddyForwarder } from "../email-forwarders/anon-addy-forwarder";
|
||||
import { DuckDuckGoForwarder } from "../email-forwarders/duck-duck-go-forwarder";
|
||||
import { FastmailForwarder } from "../email-forwarders/fastmail-forwarder";
|
||||
import { FirefoxRelayForwarder } from "../email-forwarders/firefox-relay-forwarder";
|
||||
import { Forwarder } from "../email-forwarders/forwarder";
|
||||
import { ForwarderOptions } from "../email-forwarders/forwarder-options";
|
||||
import { SimpleLoginForwarder } from "../email-forwarders/simple-login-forwarder";
|
||||
import { EFFLongWordList } from "../misc/wordlist";
|
||||
import { ApiService } from "../../../abstractions/api.service";
|
||||
import { CryptoService } from "../../../abstractions/crypto.service";
|
||||
import { StateService } from "../../../abstractions/state.service";
|
||||
import { EFFLongWordList } from "../../../misc/wordlist";
|
||||
|
||||
import {
|
||||
AnonAddyForwarder,
|
||||
DuckDuckGoForwarder,
|
||||
FastmailForwarder,
|
||||
FirefoxRelayForwarder,
|
||||
Forwarder,
|
||||
ForwarderOptions,
|
||||
SimpleLoginForwarder,
|
||||
} from "./email-forwarders";
|
||||
import { UsernameGenerationServiceAbstraction } from "./username-generation.service.abstraction";
|
||||
|
||||
const DefaultOptions = {
|
||||
type: "word",
|
||||
@@ -21,7 +24,7 @@ const DefaultOptions = {
|
||||
forwardedAnonAddyDomain: "anonaddy.me",
|
||||
};
|
||||
|
||||
export class UsernameGenerationService implements BaseUsernameGenerationService {
|
||||
export class UsernameGenerationService implements UsernameGenerationServiceAbstraction {
|
||||
constructor(
|
||||
private cryptoService: CryptoService,
|
||||
private stateService: StateService,
|
||||
Reference in New Issue
Block a user