const express = require("express") const userService = require("../../services/userService") const authService = require("../../services/authService") const router = express.Router() router.get("", async (req, res) => { const player = await authService.verifyAccessToken({ accessToken: req.headers.authorization.replace("Bearer", "").trim() }) const [preferencesResult, privilegesResult, banStatus] = await Promise.all([userService.getPreferences(player.user.uuid), userService.getPrivileges(player.user.uuid), userService.getPlayerBanStatus(player.user.uuid)]) return res.status(200).json({ privileges: privilegesResult.data, ...preferencesResult.data, banStatus: { bannedScopes: banStatus.isBanned ? { MULTIPLAYER: banStatus.activeBan } : {} } }) }) router.post("", async (req, res) => { const player = await authService.verifyAccessToken({ accessToken: req.headers.authorization.replace("Bearer", "").trim() }) await userService.updatePreferences(player.user.uuid, req.body) const [preferencesResult, privilegesResult, banStatus] = await Promise.all([userService.getPreferences(player.user.uuid), userService.getPrivileges(player.user.uuid), userService.getPlayerBanStatus(player.user.uuid)]) return res.status(200).json({ privileges: privilegesResult.data, ...preferencesResult.data, banStatus: { bannedScopes: banStatus.isBanned ? { MULTIPLAYER: banStatus.activeBan } : {} } }) }) module.exports = router