Add player action logging for admin operations
Introduces a new addPlayerAction method in adminRepository and logPlayerAction in adminService to record admin actions on player accounts. Updates relevant admin routes to log actions such as bans, unbans, forced name changes, and skin resets. Also improves error messages in adminService for consistency and clarity.
This commit is contained in:
@@ -4,28 +4,34 @@ const userService = require("../../../services/userService")
|
||||
const adminService = require("../../../services/adminService")
|
||||
|
||||
router.get("/:uuid", adminService.hasPermission("PLAYER_BAN_STATUS"), async (req, res) => {
|
||||
const banStatus = await userService.getPlayerBanStatus(req.params.uuid)
|
||||
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 playerActions = await userService.getPlayerActions(req.params.uuid)
|
||||
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 banHistory = await userService.getPlayerBans(req.params.uuid)
|
||||
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(req.params.uuid, { reasonKey, reasonMessage, expires })
|
||||
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 ban = await userService.unbanUser(req.params.uuid)
|
||||
const { uuid } = req.params
|
||||
const ban = await userService.unbanUser(uuid)
|
||||
await adminService.logPlayerAction("UNBAN")
|
||||
return res.status(200).json(ban)
|
||||
})
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ const adminService = require("../../../services/adminService")
|
||||
|
||||
router.delete("/skin/:uuid", adminService.hasPermission("RESET_PLAYER_SKIN"), async (req, res) => {
|
||||
const result = await userService.resetSkin(req.params.uuid)
|
||||
await adminService.logPlayerAction("USING_BANNED_SKIN")
|
||||
return res.status(200).json(result)
|
||||
})
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ const adminService = require("../../../services/adminService")
|
||||
router.patch("/:uuid", adminService.hasPermission("CHANGE_PLAYER_USERNAME"), async (req, res) => {
|
||||
const { newUsername } = req.body
|
||||
const result = await userService.changeUsername(req.params.uuid, newUsername)
|
||||
await adminService.logPlayerAction("FORCED_NAME_CHANGE")
|
||||
return res.status(200).json(result)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user