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.
28 lines
1.2 KiB
JavaScript
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 |