mirror of
https://github.com/bitwarden/browser
synced 2025-12-14 23:33:31 +00:00
* setup StateProvider in LoginService * replace implementations * replace implementation * remove stateService * change storage location for web to 'disk-local' * implement migrate() method of Migrator * add RememberedEmailMigrator to migrate.ts * add rollback * add tests * replace implementation * replace implementation * add StateProvider to Desktop services * rename LoginService to RememberEmailService * update state definition * rename file * rename to storedEmail * rename service to EmailService to avoid confusion * add jsdocs * refactor login.component.ts * fix typos * fix test * rename to LoginEmailService * update factory * more renaming * remove duplicate logic and rename method * convert storedEmail to observable * refactor to remove setStoredEmail() method * move service to libs/auth/common * address floating promises * remove comment * remove unnecessary deps in service registration
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { Observable } from "rxjs";
|
|
|
|
export abstract class LoginEmailServiceAbstraction {
|
|
/**
|
|
* An observable that monitors the storedEmail
|
|
*/
|
|
storedEmail$: Observable<string>;
|
|
/**
|
|
* Gets the current email being used in the login process.
|
|
* @returns A string of the email.
|
|
*/
|
|
getEmail: () => string;
|
|
/**
|
|
* Sets the current email being used in the login process.
|
|
* @param email The email to be set.
|
|
*/
|
|
setEmail: (email: string) => void;
|
|
/**
|
|
* Gets whether or not the email should be stored on disk.
|
|
* @returns A boolean stating whether or not the email should be stored on disk.
|
|
*/
|
|
getRememberEmail: () => boolean;
|
|
/**
|
|
* Sets whether or not the email should be stored on disk.
|
|
*/
|
|
setRememberEmail: (value: boolean) => void;
|
|
/**
|
|
* Sets the email and rememberEmail properties to null.
|
|
*/
|
|
clearValues: () => void;
|
|
/**
|
|
* - If rememberEmail is true, sets the storedEmail on disk to the current email.
|
|
* - If rememberEmail is false, sets the storedEmail on disk to null.
|
|
* - Then sets the email and rememberEmail properties to null.
|
|
* @returns A promise that resolves once the email settings are saved.
|
|
*/
|
|
saveEmailSettings: () => Promise<void>;
|
|
}
|