azures04 da8ab9d488 Refactor API and schema paths, fix key usage and profile data
Renamed 'mojangapi' directories to 'api' for both routes and schemas to standardize API structure. Updated serverService to use the correct public key (profilePropertyKeys) for server metadata. Fixed sessionsService to return full skin and cape data arrays instead of just the first element.
2025-12-30 13:41:19 +01:00

28 lines
1.2 KiB
JavaScript

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