feat: improve sign out

This commit is contained in:
Chubby Granny Chaser
2024-06-21 01:34:59 +01:00
parent 0ac17e95ff
commit 8afb3c27dc
12 changed files with 35 additions and 15 deletions

View File

@@ -1,11 +1,29 @@
import { gameRepository, userAuthRepository } from "@main/repository";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { DownloadManager, HydraApi, gamesPlaytime } from "@main/services";
import { dataSource } from "@main/data-source";
import { DownloadQueue, Game, UserAuth } from "@main/entity";
const signOut = async (_event: Electron.IpcMainInvokeEvent) => {
const databaseOperations = dataSource.transaction(
async (transactionalEntityManager) => {
await transactionalEntityManager.getRepository(DownloadQueue).delete({});
await transactionalEntityManager.getRepository(Game).delete({});
await transactionalEntityManager
.getRepository(UserAuth)
.delete({ id: 1 });
}
);
/* Removes all games being played */
gamesPlaytime.clear();
/* Disconnects aria2 */
DownloadManager.disconnect();
const signOut = async (_event: Electron.IpcMainInvokeEvent): Promise<void> => {
await Promise.all([
userAuthRepository.delete({ id: 1 }),
gameRepository.delete({}),
databaseOperations,
HydraApi.post("/auth/logout").catch(),
]);
};

View File

@@ -1,7 +1,6 @@
import { registerEvent } from "../register-event";
import { gameRepository } from "../../repository";
import { HydraApi } from "@main/services/hydra-api";
import { logger } from "@main/services";
import { HydraApi, logger } from "@main/services";
const removeGameFromLibrary = async (
_event: Electron.IpcMainInvokeEvent,

View File

@@ -1,5 +1,5 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { HydraApi } from "@main/services";
const isUserLoggedIn = async (_event: Electron.IpcMainInvokeEvent) => {
return HydraApi.isLoggedIn();

View File

@@ -1,5 +1,5 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { HydraApi } from "@main/services";
import { UserProfile } from "@types";
import { userAuthRepository } from "@main/repository";
import { logger } from "@main/services";

View File

@@ -1,5 +1,5 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { HydraApi } from "@main/services";
import axios from "axios";
import fs from "node:fs";
import path from "node:path";

View File

@@ -1,5 +1,5 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { HydraApi } from "@main/services";
import { steamGamesWorker } from "@main/workers";
import { UserProfile } from "@types";
import { convertSteamGameToCatalogueEntry } from "../helpers/search-games";