feat: added v1 bot vote check

This commit is contained in:
wonderlandpark 2021-05-05 19:50:02 +09:00
parent 62ce9c155b
commit a5e577b3e6
No known key found for this signature in database
GPG Key ID: E3E650B146478C64

View File

@ -0,0 +1,29 @@
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 })
if(req.query.botID !== bot) return ResponseWrapper(res, { code: 403, 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: {
botID: string
id: string
}
}
export default BotVoted