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

28 lines
834 B
TypeScript
Raw Normal View History

2021-09-13 22:55:19 +00:00
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)
}
}