feat: get achievement data on demand

This commit is contained in:
Zamitto
2024-10-21 05:07:49 -03:00
parent 0bcf005365
commit d0f42e73ff
4 changed files with 24 additions and 29 deletions

View File

@@ -5,13 +5,18 @@ import { getGameAchievementData } from "@main/services/achievements/get-game-ach
export const getUnlockedAchievements = async (
objectId: string,
shop: GameShop
shop: GameShop,
useCachedData: boolean
): Promise<UserAchievement[]> => {
const cachedAchievements = await gameAchievementRepository.findOne({
where: { objectId, shop },
});
const achievementsData = await getGameAchievementData(objectId, shop);
const achievementsData = await getGameAchievementData(
objectId,
shop,
useCachedData
);
const unlockedAchievements = JSON.parse(
cachedAchievements?.unlockedAchievements || "[]"
@@ -57,12 +62,12 @@ export const getUnlockedAchievements = async (
});
};
const getGameAchievementsEvent = async (
const getUnlockedAchievementsEvent = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
): Promise<UserAchievement[]> => {
return getUnlockedAchievements(objectId, shop);
return getUnlockedAchievements(objectId, shop, false);
};
registerEvent("getUnlockedAchievements", getGameAchievementsEvent);
registerEvent("getUnlockedAchievements", getUnlockedAchievementsEvent);