Add session server routes and SessionError class
Introduces new session server endpoints for hasJoined and profile lookup, adds a SessionError class for improved error handling, and updates error exports. Also renames sessionRepository and sessionService files to sessionsRepository and sessionsService for consistency, and sets max listeners in logger.
This commit is contained in:
29
routes/sessionsserver/session/minecraft/profile/[uuid].js
Normal file
29
routes/sessionsserver/session/minecraft/profile/[uuid].js
Normal file
@@ -0,0 +1,29 @@
|
||||
const express = require("express")
|
||||
const router = express.Router({ mergeParams: true })
|
||||
const sessionsService = require("../../../../../services/sessionsService")
|
||||
const { SessionError, DefaultError } = require("../../../../../errors/errors")
|
||||
|
||||
router.get("", async (req, res) => {
|
||||
const { uuid } = req.params
|
||||
const { unsigned } = req.query
|
||||
const isUnsigned = (unsigned == undefined || unsigned == "true") ? true : false
|
||||
|
||||
try {
|
||||
const result = await sessionsService.getProfile({
|
||||
uuid: uuid,
|
||||
unsigned: isUnsigned
|
||||
})
|
||||
if (result.code === 200) {
|
||||
return res.status(200).json(result.data)
|
||||
}
|
||||
if (result.code === 204) {
|
||||
throw new SessionError(404, "Not a valid UUID", req.originalUrl)
|
||||
}
|
||||
throw new DefaultError(500, "Unknown error")
|
||||
} catch (err) {
|
||||
const errorMessage = err.message || "Not a valid UUID"
|
||||
throw new SessionError(400, errorMessage, req.originalUrl)
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user