Lots of improvements and changes
This commit is contained in:
25
web/server/api/auth/user/[id]/ban.js
Normal file
25
web/server/api/auth/user/[id]/ban.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { reason } = await readBody(event)
|
||||
|
||||
const currentUser = await getAuth(event)
|
||||
const userId = event.context.params.id;
|
||||
|
||||
if (!reason) return createError({ statusCode: 400, statusMessage: 'Reason is vereist' })
|
||||
if (!currentUser.role.admin) return createError({ statusCode: 403, statusMessage: 'Geen toegang om gebruiker te bannen' })
|
||||
|
||||
const usersColl = db.collection('users')
|
||||
const user = usersColl.findOneAndUpdate({ _id: new ObjectId(userId)}, { $set: { banned: { reason: reason, date: new Date() } } })
|
||||
|
||||
if (!user.value) return createError({ statusCode: 500, statusMessage: 'Error tijdens het updaten van de gebruiker' })
|
||||
|
||||
await $fetch(config.discordHost + '/user/ban', {
|
||||
method: 'POST',
|
||||
body: { reason: reason, discordId: user.discord.id }
|
||||
})
|
||||
|
||||
await sendRconCommand(`ban ${user.value.minecraft.uuid} ${reason}`)
|
||||
|
||||
return user
|
||||
});
|
Reference in New Issue
Block a user