mirror of
https://github.com/vkaelin/LeagueStats.git
synced 2026-03-25 21:07:27 +00:00
28 lines
834 B
TypeScript
28 lines
834 B
TypeScript
|
|
import Redis from '@ioc:Adonis/Addons/Redis'
|
||
|
|
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||
|
|
import RuneSerializer from 'App/Serializers/RuneSerializer'
|
||
|
|
import Jax from 'App/Services/Jax'
|
||
|
|
|
||
|
|
export default class CDragonController {
|
||
|
|
public async runes({ response }: HttpContextContract) {
|
||
|
|
const cacheUrl = 'cdragon-runes'
|
||
|
|
|
||
|
|
const requestCached = await Redis.get(cacheUrl)
|
||
|
|
if (requestCached) {
|
||
|
|
return response.json(requestCached)
|
||
|
|
}
|
||
|
|
|
||
|
|
const perks = await Jax.CDragon.perks()
|
||
|
|
const perkstyles = await Jax.CDragon.perkstyles()
|
||
|
|
|
||
|
|
const runesData = {
|
||
|
|
perks: RuneSerializer.serializePerks(perks),
|
||
|
|
perkstyles: RuneSerializer.serializeStyles(perkstyles.styles),
|
||
|
|
}
|
||
|
|
|
||
|
|
await Redis.set(cacheUrl, JSON.stringify(runesData), 'EX', 36000)
|
||
|
|
|
||
|
|
return response.json(runesData)
|
||
|
|
}
|
||
|
|
}
|