From be08fb6d14b33a600cf6df2acd08e0e7afdd9f2e Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:09:26 -0300 Subject: [PATCH] feat: temp remove fetch from local cache --- .github/workflows/build.yml | 13 +++++++++++++ .github/workflows/lint.yml | 13 +++++++++++++ .../events/catalogue/get-game-achievements.ts | 19 ++++++------------- .../achievements/get-game-achievement-data.ts | 17 +++++++++++++---- 4 files changed, 45 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a01d5503..fa8027d88 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,19 @@ jobs: - name: Check out Git repository uses: actions/checkout@v4 + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: Install Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index cf74c4e84..8574b6680 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -10,6 +10,19 @@ jobs: - name: Check out Git repository uses: actions/checkout@v4 + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: Install Node.js uses: actions/setup-node@v4 with: diff --git a/src/main/events/catalogue/get-game-achievements.ts b/src/main/events/catalogue/get-game-achievements.ts index 511e255f7..93e894411 100644 --- a/src/main/events/catalogue/get-game-achievements.ts +++ b/src/main/events/catalogue/get-game-achievements.ts @@ -11,16 +11,14 @@ import { userPreferencesRepository, } from "@main/repository"; import { getGameAchievementData } from "@main/services/achievements/get-game-achievement-data"; -import { HydraApi, logger } from "@main/services"; +import { HydraApi } from "@main/services"; const getAchievementLocalUser = async (shop: string, objectId: string) => { const cachedAchievements = await gameAchievementRepository.findOne({ where: { objectId, shop }, }); - const achievementsData: AchievementData[] = cachedAchievements?.achievements - ? JSON.parse(cachedAchievements.achievements) - : await getGameAchievementData(objectId, shop); + const achievementsData = await getGameAchievementData(objectId, shop); const unlockedAchievements = JSON.parse( cachedAchievements?.unlockedAchievements || "[]" @@ -28,8 +26,6 @@ const getAchievementLocalUser = async (shop: string, objectId: string) => { return achievementsData .map((achievementData) => { - logger.info("unclockedAchievements", unlockedAchievements); - const unlockedAchiementData = unlockedAchievements.find( (localAchievement) => { return ( @@ -77,13 +73,10 @@ const getAchievementsRemoteUser = async ( where: { id: 1 }, }); - const cachedAchievements = await gameAchievementRepository.findOne({ - where: { objectId, shop }, - }); - - const achievementsData: AchievementData[] = cachedAchievements?.achievements - ? JSON.parse(cachedAchievements.achievements) - : await getGameAchievementData(objectId, shop); + const achievementsData: AchievementData[] = await getGameAchievementData( + objectId, + shop + ); const unlockedAchievements = await HydraApi.get( `/users/${userId}/games/achievements`, diff --git a/src/main/services/achievements/get-game-achievement-data.ts b/src/main/services/achievements/get-game-achievement-data.ts index 7f1e6b5a0..0cbadb54b 100644 --- a/src/main/services/achievements/get-game-achievement-data.ts +++ b/src/main/services/achievements/get-game-achievement-data.ts @@ -3,6 +3,7 @@ import { userPreferencesRepository, } from "@main/repository"; import { HydraApi } from "../hydra-api"; +import { AchievementData } from "@types"; export const getGameAchievementData = async ( objectId: string, @@ -12,13 +13,13 @@ export const getGameAchievementData = async ( where: { id: 1 }, }); - return HydraApi.get("/games/achievements", { + return HydraApi.get("/games/achievements", { shop, objectId, language: userPreferences?.language || "en", }) - .then(async (achievements) => { - await gameAchievementRepository.upsert( + .then((achievements) => { + gameAchievementRepository.upsert( { objectId, shop, @@ -29,5 +30,13 @@ export const getGameAchievementData = async ( return achievements; }) - .catch(() => []); + .catch(() => { + return gameAchievementRepository + .findOne({ + where: { objectId, shop }, + }) + .then((gameAchievements) => { + return JSON.parse(gameAchievements?.achievements || "[]"); + }); + }); };