mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
[PM-5500] Implement StateProvider in RouterService (#8119)
* implement StateProvider in RouterService * Remove 'export' Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> * Skip parameter Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> --------- Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
This commit is contained in:
@@ -243,18 +243,5 @@ export abstract class StateService<T extends Account = Account> {
|
||||
setVaultTimeoutAction: (value: string, options?: StorageOptions) => Promise<void>;
|
||||
getApproveLoginRequests: (options?: StorageOptions) => Promise<boolean>;
|
||||
setApproveLoginRequests: (value: boolean, options?: StorageOptions) => Promise<void>;
|
||||
/**
|
||||
* fetches string value of URL user tried to navigate to while unauthenticated.
|
||||
* @param options Defines the storage options for the URL; Defaults to session Storage.
|
||||
* @returns route called prior to successful login.
|
||||
*/
|
||||
getDeepLinkRedirectUrl: (options?: StorageOptions) => Promise<string>;
|
||||
/**
|
||||
* Store URL in session storage by default, but can be configured. Developed to handle
|
||||
* unauthN interrupted navigation.
|
||||
* @param url URL of route
|
||||
* @param options Defines the storage options for the URL; Defaults to session Storage.
|
||||
*/
|
||||
setDeepLinkRedirectUrl: (url: string, options?: StorageOptions) => Promise<void>;
|
||||
nextUpActiveUser: () => Promise<UserId>;
|
||||
}
|
||||
|
||||
@@ -4,5 +4,4 @@ export class GlobalState {
|
||||
vaultTimeoutAction?: string;
|
||||
enableBrowserIntegration?: boolean;
|
||||
enableBrowserIntegrationFingerprint?: boolean;
|
||||
deepLinkRedirectUrl?: string;
|
||||
}
|
||||
|
||||
@@ -1173,23 +1173,6 @@ export class StateService<
|
||||
);
|
||||
}
|
||||
|
||||
async getDeepLinkRedirectUrl(options?: StorageOptions): Promise<string> {
|
||||
return (
|
||||
await this.getGlobals(this.reconcileOptions(options, await this.defaultOnDiskOptions()))
|
||||
)?.deepLinkRedirectUrl;
|
||||
}
|
||||
|
||||
async setDeepLinkRedirectUrl(url: string, options?: StorageOptions): Promise<void> {
|
||||
const globals = await this.getGlobals(
|
||||
this.reconcileOptions(options, await this.defaultOnDiskOptions()),
|
||||
);
|
||||
globals.deepLinkRedirectUrl = url;
|
||||
await this.saveGlobals(
|
||||
globals,
|
||||
this.reconcileOptions(options, await this.defaultOnDiskOptions()),
|
||||
);
|
||||
}
|
||||
|
||||
protected async getGlobals(options: StorageOptions): Promise<TGlobalState> {
|
||||
let globals: TGlobalState;
|
||||
if (this.useMemory(options.storageLocation)) {
|
||||
|
||||
@@ -38,6 +38,7 @@ export const BILLING_DISK = new StateDefinition("billing", "disk");
|
||||
export const KEY_CONNECTOR_DISK = new StateDefinition("keyConnector", "disk");
|
||||
export const ACCOUNT_MEMORY = new StateDefinition("account", "memory");
|
||||
export const AVATAR_DISK = new StateDefinition("avatar", "disk", { web: "disk-local" });
|
||||
export const ROUTER_DISK = new StateDefinition("router", "disk");
|
||||
export const LOGIN_EMAIL_DISK = new StateDefinition("loginEmail", "disk", {
|
||||
web: "disk-local",
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user