const express = require("express") const router = express.Router() const userService = require("../../../services/userService") const adminService = require("../../../services/adminService") router.get("/:uuid", adminService.hasPermission("PLAYER_BAN_STATUS"), async (req, res) => { const { uuid } = req.params const banStatus = await userService.getPlayerBanStatus(uuid) return res.status(200).json(banStatus) }) router.get("/:uuid/actions", adminService.hasPermission("PLAYER_ACTIONS_LIST"), async (req, res) => { const { uuid } = req.params const playerActions = await userService.getPlayerActions(uuid) return res.status(200).json(playerActions) }) router.get("/:uuid/history", adminService.hasPermission("PLAYER_BAN_HISTORY"), async (req, res) => { const { uuid } = req.params const banHistory = await userService.getPlayerBans(uuid) return res.status(200).json(banHistory) }) router.put("/:uuid", adminService.hasPermission("PLAYER_BAN"), async (req, res) => { const { reasonKey, reasonMessage, expires } = req.body const ban = await userService.banUser(uuid, { reasonKey, reasonMessage, expires }) await adminService.logPlayerAction("BAN") return res.status(200).json(ban) }) router.delete("/:uuid", adminService.hasPermission("PLAYER_UNBAN"), async (req, res) => { const { uuid } = req.params const ban = await userService.unbanUser(uuid) await adminService.logPlayerAction("UNBAN") return res.status(200).json(ban) }) module.exports = router