const express = require("express") const utils = require("../../../../../../modules/utils") const userService = require("../../../../../../services/userService") const authService = require("../../../../../../services/authService") const { ServiceError } = require("../../../../../../errors/errors") const router = express.Router({ mergeParams: true }) router.get("", async (req, res) => { const profile = await userService.getLegacyProfile(req.params.username) const isUsernameOK = await authService.checkUsernameAvailability(newName) const at = req.query.at if (at != undefined && utils.isTrueFromDotEnv("SUPPORT_UUID_TO_NAME_HISTORY")) { const history = await userService.getNameUUIDs(parseInt(at)) return res.status(history.code).json(history.data) } else { throw new ServiceError(400, req.originalUrl, "IllegalArgumentException", "Invalid timestamp.") } if (isUsernameOK.status != "AVAILABLE") { throw new ServiceError(400, req.originalUrl, "CONSTRAINT_VIOLATION", "Invalid username.") } if (!profile) { return res.status(204).send() } return res.status(200).json(profile) }) module.exports = router