2020-12-17 21:46:53 +00:00
|
|
|
import Redis from '@ioc:Adonis/Addons/Redis'
|
|
|
|
|
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
2021-09-20 17:20:51 +00:00
|
|
|
import RuneSerializer from 'App/Serializers/RuneSerializer'
|
2020-12-17 21:46:53 +00:00
|
|
|
import Jax from 'App/Services/Jax'
|
|
|
|
|
|
|
|
|
|
export default class CDragonController {
|
2021-09-20 17:20:51 +00:00
|
|
|
public async runes({ response }: HttpContextContract) {
|
2020-12-17 21:46:53 +00:00
|
|
|
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 = {
|
2021-09-20 17:20:51 +00:00
|
|
|
perks: RuneSerializer.serializePerks(perks),
|
|
|
|
|
perkstyles: RuneSerializer.serializeStyles(perkstyles.styles),
|
2020-12-17 21:46:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await Redis.set(cacheUrl, JSON.stringify(runesData), 'EX', 36000)
|
|
|
|
|
|
|
|
|
|
return response.json(runesData)
|
|
|
|
|
}
|
|
|
|
|
}
|