Move stats endpoints into separate file
This commit is contained in:
parent
26ebb417f4
commit
afe0dfe913
52
server.js
52
server.js
|
@ -778,55 +778,6 @@ app.post('/getstatus', jsonParser, async function (request, response) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle a POST request to get the stats object
|
|
||||||
*
|
|
||||||
* This function returns the stats object that was calculated by the `calculateStats` function.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param {Object} request - The HTTP request object.
|
|
||||||
* @param {Object} response - The HTTP response object.
|
|
||||||
* @returns {void}
|
|
||||||
*/
|
|
||||||
app.post('/api/stats/get', jsonParser, function (request, response) {
|
|
||||||
response.send(JSON.stringify(statsHelpers.getCharStats()));
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Triggers the recreation of statistics from chat files.
|
|
||||||
* - If successful: returns a 200 OK status.
|
|
||||||
* - On failure: returns a 500 Internal Server Error status.
|
|
||||||
*
|
|
||||||
* @param {Object} request - Express request object.
|
|
||||||
* @param {Object} response - Express response object.
|
|
||||||
*/
|
|
||||||
app.post('/api/stats/recreate', jsonParser, async function (request, response) {
|
|
||||||
try {
|
|
||||||
await statsHelpers.recreateStats(DIRECTORIES.chats, DIRECTORIES.characters);
|
|
||||||
return response.sendStatus(200);
|
|
||||||
} catch (error) {
|
|
||||||
console.error(error);
|
|
||||||
return response.sendStatus(500);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle a POST request to update the stats object
|
|
||||||
*
|
|
||||||
* This function updates the stats object with the data from the request body.
|
|
||||||
*
|
|
||||||
* @param {Object} request - The HTTP request object.
|
|
||||||
* @param {Object} response - The HTTP response object.
|
|
||||||
* @returns {void}
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
app.post('/api/stats/update', jsonParser, function (request, response) {
|
|
||||||
if (!request.body) return response.sendStatus(400);
|
|
||||||
statsHelpers.setCharStats(request.body);
|
|
||||||
return response.sendStatus(200);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.post('/getbackgrounds', jsonParser, function (request, response) {
|
app.post('/getbackgrounds', jsonParser, function (request, response) {
|
||||||
|
@ -2114,6 +2065,9 @@ app.use('/api/groups', require('./src/endpoints/groups').router);
|
||||||
// World info management
|
// World info management
|
||||||
app.use('/api/worldinfo', require('./src/endpoints/worldinfo').router);
|
app.use('/api/worldinfo', require('./src/endpoints/worldinfo').router);
|
||||||
|
|
||||||
|
// Stats calculation
|
||||||
|
app.use('/api/stats', require('./src/endpoints/stats').router);
|
||||||
|
|
||||||
// Character sprite management
|
// Character sprite management
|
||||||
app.use('/api/sprites', require('./src/endpoints/sprites').router);
|
app.use('/api/sprites', require('./src/endpoints/sprites').router);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
const express = require('express');
|
||||||
|
|
||||||
|
const { jsonParser } = require('../express-common');
|
||||||
|
const { DIRECTORIES } = require('../constants');
|
||||||
|
const statsHelpers = require('../../statsHelpers');
|
||||||
|
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle a POST request to get the stats object
|
||||||
|
*
|
||||||
|
* This function returns the stats object that was calculated by the `calculateStats` function.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param {Object} request - The HTTP request object.
|
||||||
|
* @param {Object} response - The HTTP response object.
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
router.post('/get', jsonParser, function (request, response) {
|
||||||
|
response.send(JSON.stringify(statsHelpers.getCharStats()));
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Triggers the recreation of statistics from chat files.
|
||||||
|
* - If successful: returns a 200 OK status.
|
||||||
|
* - On failure: returns a 500 Internal Server Error status.
|
||||||
|
*
|
||||||
|
* @param {Object} request - Express request object.
|
||||||
|
* @param {Object} response - Express response object.
|
||||||
|
*/
|
||||||
|
router.post('/recreate', jsonParser, async function (request, response) {
|
||||||
|
try {
|
||||||
|
await statsHelpers.recreateStats(DIRECTORIES.chats, DIRECTORIES.characters);
|
||||||
|
return response.sendStatus(200);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
return response.sendStatus(500);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle a POST request to update the stats object
|
||||||
|
*
|
||||||
|
* This function updates the stats object with the data from the request body.
|
||||||
|
*
|
||||||
|
* @param {Object} request - The HTTP request object.
|
||||||
|
* @param {Object} response - The HTTP response object.
|
||||||
|
* @returns {void}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
router.post('/update', jsonParser, function (request, response) {
|
||||||
|
if (!request.body) return response.sendStatus(400);
|
||||||
|
statsHelpers.setCharStats(request.body);
|
||||||
|
return response.sendStatus(200);
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = { router };
|
Loading…
Reference in New Issue