import { NextApiRequest } from 'next' import RequestHandler from '@utils/RequestHandler' import { get } from '@utils/Query' import ResponseWrapper from '@utils/ResponseWrapper' import Yup from '@utils/Yup' import { VOTE_COOLDOWN } from '@utils/Constants' const BotVoted = RequestHandler().get(async (req: ApiRequest, res) => { const bot = await get.BotAuthorization(req.headers.token) if (!bot) return ResponseWrapper(res, { code: 401, version: 1 }) const userID = await Yup.string() .required() .validate(req.query.id) .then((el) => el) .catch(() => null) if (!userID) return ResponseWrapper(res, { code: 400, version: 1 }) const result = await get.botVote(userID, bot) return res.json({ code: 200, voted: +new Date() < result + VOTE_COOLDOWN }) }) interface ApiRequest extends NextApiRequest { headers: { token: string } query: { id: string } } export default BotVoted