feat: sync library

This commit is contained in:
Zamitto
2024-06-15 02:15:58 -03:00
parent 79ca354da1
commit da5cc11bff
6 changed files with 167 additions and 7 deletions

View File

@@ -6,6 +6,7 @@ import type { GameShop } from "@types";
import { getFileBase64, getSteamAppAsset } from "@main/helpers";
import { steamGamesWorker } from "@main/workers";
import { HydraApi } from "@main/services/hydra-api";
const addGameToLibrary = async (
_event: Electron.IpcMainInvokeEvent,
@@ -49,6 +50,26 @@ const addGameToLibrary = async (
}
});
}
const game = await gameRepository.findOne({ where: { objectID } });
HydraApi.post("/games", {
objectId: objectID,
playTimeInMilliseconds: game?.playTimeInMilliseconds,
shop,
lastTimePlayed: game?.lastTimePlayed,
}).then((response) => {
const {
id: remoteId,
playTimeInMilliseconds,
lastTimePlayed,
} = response.data;
gameRepository.update(
{ objectID },
{ remoteId, playTimeInMilliseconds, lastTimePlayed }
);
});
});
};

View File

@@ -1,5 +1,6 @@
import { registerEvent } from "../register-event";
import { gameRepository } from "../../repository";
import { HydraApi } from "@main/services/hydra-api";
const removeGameFromLibrary = async (
_event: Electron.IpcMainInvokeEvent,
@@ -9,6 +10,12 @@ const removeGameFromLibrary = async (
{ id: gameId },
{ isDeleted: true, executablePath: null }
);
const game = await gameRepository.findOne({ where: { id: gameId } });
if (game?.remoteId) {
HydraApi.delete(`/games/${game.remoteId}`);
}
};
registerEvent("removeGameFromLibrary", removeGameFromLibrary);