ci: merging main to branch

This commit is contained in:
Moyasee
2025-10-20 15:51:15 +03:00
parent 03d9128768
commit e3685ba233

View File

@@ -5,18 +5,15 @@ import { logger } from "../logger";
import { db, gameAchievementsSublevel, levelKeys } from "@main/level"; import { db, gameAchievementsSublevel, levelKeys } from "@main/level";
import { AxiosError } from "axios"; import { AxiosError } from "axios";
const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 60; // 1 hour
const getModifiedSinceHeader = ( const getModifiedSinceHeader = (
cachedAchievements: GameAchievement | undefined, cachedAchievements: GameAchievement | undefined
userLanguage: string
): Date | undefined => { ): Date | undefined => {
if (!cachedAchievements) { if (!cachedAchievements) {
return undefined; return undefined;
} }
if (userLanguage != cachedAchievements.language) {
return undefined;
}
return cachedAchievements.updatedAt return cachedAchievements.updatedAt
? new Date(cachedAchievements.updatedAt) ? new Date(cachedAchievements.updatedAt)
: undefined; : undefined;
@@ -31,7 +28,13 @@ export const getGameAchievementData = async (
const cachedAchievements = await gameAchievementsSublevel.get(gameKey); const cachedAchievements = await gameAchievementsSublevel.get(gameKey);
if (cachedAchievements?.achievements && useCachedData) { if (cachedAchievements?.achievements && useCachedData)
return cachedAchievements.achievements;
if (
cachedAchievements?.achievements &&
Date.now() < (cachedAchievements.updatedAt ?? 0) + LOCAL_CACHE_EXPIRATION
) {
return cachedAchievements.achievements; return cachedAchievements.achievements;
} }
@@ -47,15 +50,14 @@ export const getGameAchievementData = async (
language, language,
}, },
{ {
ifModifiedSince: getModifiedSinceHeader(cachedAchievements, language), ifModifiedSince: getModifiedSinceHeader(cachedAchievements),
} }
) )
.then(async (achievements) => { .then(async (achievements) => {
await gameAchievementsSublevel.put(gameKey, { await gameAchievementsSublevel.put(gameKey, {
unlockedAchievements: cachedAchievements?.unlockedAchievements ?? [], unlockedAchievements: cachedAchievements?.unlockedAchievements ?? [],
achievements, achievements,
updatedAt: Date.now(), updatedAt: Date.now() + LOCAL_CACHE_EXPIRATION,
language,
}); });
return achievements; return achievements;