From 7a82467933f6b7b123a3f586ba19c8c0451492db Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 11 Jun 2025 05:49:37 -0300 Subject: [PATCH] feat: refactor --- .../achievements/get-game-achievement-data.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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) => {