feat: temp remove fetch from local cache

This commit is contained in:
Zamitto 2024-10-11 13:09:26 -03:00
parent c8022896a6
commit be08fb6d14
4 changed files with 45 additions and 17 deletions

View File

@ -14,6 +14,19 @@ jobs:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 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 - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:

View File

@ -10,6 +10,19 @@ jobs:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 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 - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:

View File

@ -11,16 +11,14 @@ import {
userPreferencesRepository, userPreferencesRepository,
} from "@main/repository"; } from "@main/repository";
import { getGameAchievementData } from "@main/services/achievements/get-game-achievement-data"; 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 getAchievementLocalUser = async (shop: string, objectId: string) => {
const cachedAchievements = await gameAchievementRepository.findOne({ const cachedAchievements = await gameAchievementRepository.findOne({
where: { objectId, shop }, where: { objectId, shop },
}); });
const achievementsData: AchievementData[] = cachedAchievements?.achievements const achievementsData = await getGameAchievementData(objectId, shop);
? JSON.parse(cachedAchievements.achievements)
: await getGameAchievementData(objectId, shop);
const unlockedAchievements = JSON.parse( const unlockedAchievements = JSON.parse(
cachedAchievements?.unlockedAchievements || "[]" cachedAchievements?.unlockedAchievements || "[]"
@ -28,8 +26,6 @@ const getAchievementLocalUser = async (shop: string, objectId: string) => {
return achievementsData return achievementsData
.map((achievementData) => { .map((achievementData) => {
logger.info("unclockedAchievements", unlockedAchievements);
const unlockedAchiementData = unlockedAchievements.find( const unlockedAchiementData = unlockedAchievements.find(
(localAchievement) => { (localAchievement) => {
return ( return (
@ -77,13 +73,10 @@ const getAchievementsRemoteUser = async (
where: { id: 1 }, where: { id: 1 },
}); });
const cachedAchievements = await gameAchievementRepository.findOne({ const achievementsData: AchievementData[] = await getGameAchievementData(
where: { objectId, shop }, objectId,
}); shop
);
const achievementsData: AchievementData[] = cachedAchievements?.achievements
? JSON.parse(cachedAchievements.achievements)
: await getGameAchievementData(objectId, shop);
const unlockedAchievements = await HydraApi.get<RemoteUnlockedAchievement[]>( const unlockedAchievements = await HydraApi.get<RemoteUnlockedAchievement[]>(
`/users/${userId}/games/achievements`, `/users/${userId}/games/achievements`,

View File

@ -3,6 +3,7 @@ import {
userPreferencesRepository, userPreferencesRepository,
} from "@main/repository"; } from "@main/repository";
import { HydraApi } from "../hydra-api"; import { HydraApi } from "../hydra-api";
import { AchievementData } from "@types";
export const getGameAchievementData = async ( export const getGameAchievementData = async (
objectId: string, objectId: string,
@ -12,13 +13,13 @@ export const getGameAchievementData = async (
where: { id: 1 }, where: { id: 1 },
}); });
return HydraApi.get("/games/achievements", { return HydraApi.get<AchievementData[]>("/games/achievements", {
shop, shop,
objectId, objectId,
language: userPreferences?.language || "en", language: userPreferences?.language || "en",
}) })
.then(async (achievements) => { .then((achievements) => {
await gameAchievementRepository.upsert( gameAchievementRepository.upsert(
{ {
objectId, objectId,
shop, shop,
@ -29,5 +30,13 @@ export const getGameAchievementData = async (
return achievements; return achievements;
}) })
.catch(() => []); .catch(() => {
return gameAchievementRepository
.findOne({
where: { objectId, shop },
})
.then((gameAchievements) => {
return JSON.parse(gameAchievements?.achievements || "[]");
});
});
}; };