refactor: moved the game status to a global file (accessible to the render part) and used it in game entity

This commit is contained in:
lilezek 2024-04-29 20:50:10 +02:00
parent c6e4ba4789
commit 6fa4c178a7
13 changed files with 26 additions and 20 deletions

10
src/globals.ts Normal file
View File

@ -0,0 +1,10 @@
export enum GameStatus {
Seeding = "seeding",
Downloading = "downloading",
Paused = "paused",
CheckingFiles = "checking_files",
DownloadingMetadata = "downloading_metadata",
Cancelled = "cancelled",
Finished = "finished",
Decompressing = "decompressing",
}

View File

@ -34,15 +34,6 @@ export const months = [
"Dec",
];
export enum GameStatus {
Seeding = "seeding",
Downloading = "downloading",
Paused = "paused",
CheckingFiles = "checking_files",
DownloadingMetadata = "downloading_metadata",
Cancelled = "cancelled",
}
export const defaultDownloadsPath = path.join(os.homedir(), "downloads");
export const databasePath = path.join(

View File

@ -9,6 +9,7 @@ import {
} from "typeorm";
import type { GameShop } from "@types";
import { Repack } from "./repack.entity";
import { GameStatus } from "@globals";
@Entity("game")
export class Game {
@ -40,7 +41,7 @@ export class Game {
shop: GameShop;
@Column("text", { nullable: true })
status: string;
status: GameStatus | "";
@Column("float", { default: 0 })
progress: number;

View File

@ -1,9 +1,9 @@
import { gameRepository } from "@main/repository";
import { GameStatus } from "@main/constants";
import { searchRepacks } from "../helpers/search-games";
import { registerEvent } from "../register-event";
import sortBy from "lodash/sortBy";
import { GameStatus } from "@globals";
const getLibrary = async (_event: Electron.IpcMainInvokeEvent) =>
gameRepository

View File

@ -1,10 +1,10 @@
import { GameStatus } from "@main/constants";
import { gameRepository } from "@main/repository";
import { registerEvent } from "../register-event";
import { WindowManager, writePipe } from "@main/services";
import { In } from "typeorm";
import { GameStatus } from "@globals";
const cancelGameDownload = async (
_event: Electron.IpcMainInvokeEvent,

View File

@ -1,7 +1,7 @@
import path from "node:path";
import fs from "node:fs";
import { GameStatus } from "@main/constants";
import { GameStatus } from "@globals";
import { gameRepository } from "@main/repository";
import { getDownloadsPath } from "../helpers/get-downloads-path";

View File

@ -1,9 +1,9 @@
import { WindowManager, writePipe } from "@main/services";
import { registerEvent } from "../register-event";
import { GameStatus } from "../../constants";
import { gameRepository } from "../../repository";
import { In } from "typeorm";
import { GameStatus } from "@globals";
const pauseGameDownload = async (
_event: Electron.IpcMainInvokeEvent,

View File

@ -1,4 +1,4 @@
import { GameStatus } from "@main/constants";
import { GameStatus } from "@globals";
import { gameRepository } from "@main/repository";
import { registerEvent } from "../register-event";

View File

@ -1,9 +1,9 @@
import { registerEvent } from "../register-event";
import { GameStatus } from "../../constants";
import { gameRepository } from "../../repository";
import { getDownloadsPath } from "../helpers/get-downloads-path";
import { In } from "typeorm";
import { writePipe } from "@main/services";
import { GameStatus } from "@globals";
const resumeGameDownload = async (
_event: Electron.IpcMainInvokeEvent,

View File

@ -1,12 +1,12 @@
import { getSteamGameIconUrl, writePipe } from "@main/services";
import { gameRepository, repackRepository } from "@main/repository";
import { GameStatus } from "@main/constants";
import { registerEvent } from "../register-event";
import type { GameShop } from "@types";
import { getImageBase64 } from "@main/helpers";
import { In } from "typeorm";
import { GameStatus } from "@globals";
const startGameDownload = async (
_event: Electron.IpcMainInvokeEvent,

View File

@ -1,5 +1,5 @@
import { stateManager } from "./state-manager";
import { GameStatus, repackers } from "./constants";
import { repackers } from "./constants";
import {
getNewGOGGames,
getNewRepacksFromCPG,
@ -22,6 +22,7 @@ import { Repack } from "./entity";
import { Notification } from "electron";
import { t } from "i18next";
import { In } from "typeorm";
import { GameStatus } from "@globals";
startProcessWatcher();

View File

@ -1,3 +1,5 @@
import { GameStatus } from "@globals";
export type GameShop = "steam" | "epic";
export type CatalogueCategory = "recently_added" | "trending";
@ -75,7 +77,7 @@ export interface Game extends Omit<CatalogueEntry, "cover"> {
id: number;
title: string;
iconUrl: string;
status: string;
status: GameStatus | "";
folderName: string;
downloadPath: string | null;
repacks: GameRepack[];

View File

@ -19,7 +19,8 @@
"@main/*": ["src/main/*"],
"@renderer/*": ["src/renderer/*"],
"@types": ["src/types/index.ts"],
"@locales": ["src/locales/index.ts"]
"@locales": ["src/locales/index.ts"],
"@globals": ["src/globals.ts"]
}
},
"include": ["src/**/*"]