Frontend updates: caching basic data (json) from CDragon
Implement caching in the patch_detector, consume the cache from API routes in frontend
This commit is contained in:
14
frontend/server/api/cdragon/champion-summary.ts
Normal file
14
frontend/server/api/cdragon/champion-summary.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { getChampionSummary } from '~/server/utils/cdragon-cache'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const championSummary = await getChampionSummary()
|
||||
return championSummary
|
||||
} catch (error) {
|
||||
console.error('Error fetching champion summary:', error)
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: 'Failed to fetch champion summary'
|
||||
})
|
||||
}
|
||||
})
|
||||
14
frontend/server/api/cdragon/items.ts
Normal file
14
frontend/server/api/cdragon/items.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { getItems } from '~/server/utils/cdragon-cache'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const items = await getItems()
|
||||
return items
|
||||
} catch (error) {
|
||||
console.error('Error fetching items:', error)
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: 'Failed to fetch items'
|
||||
})
|
||||
}
|
||||
})
|
||||
14
frontend/server/api/cdragon/perks.ts
Normal file
14
frontend/server/api/cdragon/perks.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { getPerks } from '~/server/utils/cdragon-cache'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const perks = await getPerks()
|
||||
return perks
|
||||
} catch (error) {
|
||||
console.error('Error fetching perks:', error)
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: 'Failed to fetch perks'
|
||||
})
|
||||
}
|
||||
})
|
||||
14
frontend/server/api/cdragon/perkstyles.ts
Normal file
14
frontend/server/api/cdragon/perkstyles.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { getPerkStyles } from '~/server/utils/cdragon-cache'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const perkStyles = await getPerkStyles()
|
||||
return perkStyles
|
||||
} catch (error) {
|
||||
console.error('Error fetching perk styles:', error)
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: 'Failed to fetch perk styles'
|
||||
})
|
||||
}
|
||||
})
|
||||
14
frontend/server/api/cdragon/summoner-spells.ts
Normal file
14
frontend/server/api/cdragon/summoner-spells.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { getSummonerSpells } from '~/server/utils/cdragon-cache'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const summonerSpells = await getSummonerSpells()
|
||||
return summonerSpells
|
||||
} catch (error) {
|
||||
console.error('Error fetching summoner spells:', error)
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: 'Failed to fetch summoner spells'
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -1,11 +1,7 @@
|
||||
import { CDRAGON_BASE } from '~/utils/cdragon'
|
||||
import { getChampionSummary } from '~/server/utils/cdragon-cache'
|
||||
|
||||
async function championRoutes() {
|
||||
const championsData: Array<Champion> = await (
|
||||
await fetch(
|
||||
CDRAGON_BASE + 'plugins/rcp-be-lol-game-data/global/default/v1/champion-summary.json'
|
||||
)
|
||||
).json()
|
||||
const championsData = await getChampionSummary()
|
||||
|
||||
const routes: Array<string> = []
|
||||
for (const champion of championsData) {
|
||||
|
||||
Reference in New Issue
Block a user