diff --git a/src/main/services/achievements/get-game-achievement-data.ts b/src/main/services/achievements/get-game-achievement-data.ts index f5b7f6cb..3e3a4bac 100644 --- a/src/main/services/achievements/get-game-achievement-data.ts +++ b/src/main/services/achievements/get-game-achievement-data.ts @@ -1,5 +1,5 @@ import { HydraApi } from "../hydra-api"; -import type { GameShop, SteamAchievement } from "@types"; +import type { GameAchievement, GameShop, SteamAchievement } from "@types"; import { UserNotLoggedInError } from "@shared"; import { logger } from "../logger"; import { db, gameAchievementsSublevel, levelKeys } from "@main/level"; @@ -7,6 +7,18 @@ import { AxiosError } from "axios"; const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 30; // 30 minutes +const getModifiedSinceHeader = ( + cachedAchievements: GameAchievement | undefined +): Date | undefined => { + if (!cachedAchievements) { + return undefined; + } + + return cachedAchievements.updatedAt + ? new Date(cachedAchievements.updatedAt) + : undefined; +}; + export const getGameAchievementData = async ( objectId: string, shop: GameShop, @@ -40,9 +52,7 @@ export const getGameAchievementData = async ( language, }, { - ifModifiedSince: cachedAchievements?.updatedAt - ? new Date(cachedAchievements?.updatedAt) - : undefined, + ifModifiedSince: getModifiedSinceHeader(cachedAchievements), } ) .then(async (achievements) => {