mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-22 02:13:59 +00:00
34 lines
919 B
TypeScript
34 lines
919 B
TypeScript
import { HydraApi } from "@main/services";
|
|
import { registerEvent } from "../register-event";
|
|
import { GameShop } from "@types";
|
|
import { gamesSublevel, levelKeys } from "@main/level";
|
|
|
|
const changeGamePlaytime = async (
|
|
_event: Electron.IpcMainInvokeEvent,
|
|
shop: GameShop,
|
|
objectId: string,
|
|
playTimeInSeconds: number
|
|
) => {
|
|
try {
|
|
const gameKey = levelKeys.game(shop, objectId);
|
|
const game = await gamesSublevel.get(gameKey);
|
|
if (!game) return;
|
|
|
|
if (game.remoteId) {
|
|
await HydraApi.put(`/profile/games/${shop}/${objectId}/playtime`, {
|
|
playTimeInSeconds,
|
|
});
|
|
}
|
|
|
|
await gamesSublevel.put(gameKey, {
|
|
...game,
|
|
playTimeInMilliseconds: playTimeInSeconds * 1000,
|
|
hasManuallyUpdatedPlaytime: true,
|
|
});
|
|
} catch (error) {
|
|
throw new Error(`Failed to update game playtime: ${error}`);
|
|
}
|
|
};
|
|
|
|
registerEvent("changeGamePlayTime", changeGamePlaytime);
|