const express = require("express") const router = express.Router() const authService = require("../../services/authService") const logger = require("../../modules/logger") const { DefaultError, YggdrasilError } = require("../../errors/errors") router.post("/", async (req, res) => { const { accessToken, clientToken, requestUser } = req.body try { const result = await authService.refreshToken({ clientToken, previousAccessToken: accessToken, requireUser: requestUser || false }) const profileName = result.response.selectedProfile ? result.response.selectedProfile.name : "Unknown" logger.log(`Session refreshed for: ${profileName}`, ["AUTH", "green"]) res.status(200).json(result.response) } catch (err) { if (err instanceof DefaultError) { throw new YggdrasilError(err.code, err.error || "ForbiddenOperationException", err.message, "Invalid token.") } throw err } }) module.exports = router