LeagueStats/server/app/Controllers/Http/CDragonController.ts

28 lines
840 B
TypeScript
Raw Normal View History

2020-12-17 21:46:53 +00:00
import Redis from '@ioc:Adonis/Addons/Redis'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Jax from 'App/Services/Jax'
import RuneTransformer from 'App/Transformers/RuneTransformer'
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: RuneTransformer.transformPerks(perks),
perkstyles: RuneTransformer.transformStyles(perkstyles.styles),
}
await Redis.set(cacheUrl, JSON.stringify(runesData), 'EX', 36000)
return response.json(runesData)
}
}