1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-02-16 01:21:48 +01:00

PM-8113 - TwoFactorService Abstraction - refactor to use proper functions + mark methods as abstract properly + add null return to getProviders

This commit is contained in:
Jared Snider 2024-12-12 16:29:09 -05:00
parent 0fa92b7b85
commit f28242afc1
No known key found for this signature in database
GPG Key ID: A149DDD612516286
2 changed files with 15 additions and 10 deletions

View File

@ -11,15 +11,20 @@ export interface TwoFactorProviderDetails {
sort: number;
premium: boolean;
}
export abstract class TwoFactorService {
init: () => void;
getSupportedProviders: (win: Window) => Promise<TwoFactorProviderDetails[]>;
getDefaultProvider: (webAuthnSupported: boolean) => Promise<TwoFactorProviderType>;
setSelectedProvider: (type: TwoFactorProviderType) => Promise<void>;
clearSelectedProvider: () => Promise<void>;
abstract init(): void;
setProviders: (response: IdentityTwoFactorResponse) => Promise<void>;
clearProviders: () => Promise<void>;
getProviders: () => Promise<Map<TwoFactorProviderType, { [key: string]: string }>>;
abstract getSupportedProviders(win: Window): Promise<TwoFactorProviderDetails[]>;
abstract getDefaultProvider(webAuthnSupported: boolean): Promise<TwoFactorProviderType>;
abstract setSelectedProvider(type: TwoFactorProviderType): Promise<void>;
abstract clearSelectedProvider(): Promise<void>;
abstract setProviders(response: IdentityTwoFactorResponse): Promise<void>;
abstract clearProviders(): Promise<void>;
abstract getProviders(): Promise<Map<TwoFactorProviderType, { [key: string]: string }> | null>;
}

View File

@ -206,7 +206,7 @@ export class TwoFactorService implements TwoFactorServiceAbstraction {
await this.providersState.update(() => null);
}
getProviders(): Promise<Map<TwoFactorProviderType, { [key: string]: string }>> {
getProviders(): Promise<Map<TwoFactorProviderType, { [key: string]: string }> | null> {
return firstValueFrom(this.providers$);
}
}