azures04 80bca31d9a 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.
2025-12-24 02:35:04 +01:00

29 lines
1.0 KiB
JavaScript

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