123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import ElectronAPIs from "@ente/shared/electron";
- import { Events, eventBus } from "@ente/shared/events";
- import { logError } from "@ente/shared/sentry";
- import InMemoryStore from "@ente/shared/storage/InMemoryStore";
- import { deleteAllCache } from "@ente/shared/storage/cacheStorage/helpers";
- import { clearFiles } from "@ente/shared/storage/localForage/helpers";
- import { clearData } from "@ente/shared/storage/localStorage";
- import { clearKeys } from "@ente/shared/storage/sessionStorage";
- import isElectron from "is-electron";
- import router from "next/router";
- import { _logout } from "../api/user";
- import { PAGES } from "../constants/pages";
- export const logoutUser = async () => {
- try {
- try {
- await _logout();
- } catch (e) {
- // ignore
- }
- try {
- InMemoryStore.clear();
- } catch (e) {
- // ignore
- logError(e, "clear InMemoryStore failed");
- }
- try {
- clearKeys();
- } catch (e) {
- logError(e, "clearKeys failed");
- }
- try {
- clearData();
- } catch (e) {
- logError(e, "clearData failed");
- }
- try {
- await deleteAllCache();
- } catch (e) {
- logError(e, "deleteAllCache failed");
- }
- try {
- await clearFiles();
- } catch (e) {
- logError(e, "clearFiles failed");
- }
- if (isElectron()) {
- try {
- ElectronAPIs.clearElectronStore();
- } catch (e) {
- logError(e, "clearElectronStore failed");
- }
- }
- try {
- eventBus.emit(Events.LOGOUT);
- } catch (e) {
- logError(e, "Error in logout handlers");
- }
- router.push(PAGES.ROOT);
- } catch (e) {
- logError(e, "logoutUser failed");
- }
- };
|