26 lines
902 B
TypeScript

import { NextApiRequest } from 'next'
import { get, management } from '@utils/Query'
import RequestHandler from '@utils/RequestHandler'
import { checkUserFlag } from '@utils/Tools'
import ResponseWrapper from '@utils/ResponseWrapper'
const UserManagement = RequestHandler()
.patch(async (req: ApiRequest, res) => {
const memberID = await get.Authorization(req.cookies.token)
const member = memberID && await get.user.load(memberID)
if(!member || !checkUserFlag(member.flags, 'staff')) return ResponseWrapper(res, { code: 403 })
const user = await management.user.get(req.query.id ?? '')
if(!user) return ResponseWrapper(res, { code: 404 })
await management.user.update(req.query.id, { flags: req.body.flags })
return ResponseWrapper(res, { code: 200 })
})
interface ApiRequest extends NextApiRequest {
query: {
id: string
date: string
}
}
export default UserManagement