Drunk-Venti-Api/pages/api/weapons/search/[id].js

23 lines
747 B
JavaScript
Raw Normal View History

2022-01-15 18:07:08 +01:00
import {getWeapons} from "../utils";
import {getClosest} from "../../../../utils/levenshtein";
import {addResultToRedis, getResultFromRedis} from "../../../../utils/redis";
export default async function weaponsHandler({query: {id}}, res) {
let weapons = JSON.parse(await getResultFromRedis('weapon-all'));
if (!weapons) {
weapons = await getWeapons();
addResultToRedis('weapon-all', JSON.stringify(weapons)).catch(console.error)
}
const closestWeapons = []
getClosest(id, weapons).forEach(w => {
closestWeapons.push(weapons[w.name])
})
if (closestWeapons) {
res.status(200).json(closestWeapons);
} else {
res.status(404).json({message: `Weapon ${id} not found`});
}
}