Roblox-Analytics/routes/api/heartbeat.js
2026-01-25 15:27:30 -07:00

24 lines
887 B
JavaScript

const express = require('express');
const router = express.Router();
const db = global.db;
router.post('/', global.auth, async (req, res) => {
const { serverId, totalPlayers, duration } = req.body;
if (!serverId || totalPlayers === undefined || duration === undefined) {
return res.status(400).json({ error: 'Missing required fields' });
}
const nextHeartbeat = Date.now() + ((parseInt(process.env.MAX_HEARTBEAT, 10) || 60) * 1000);
db.run(
'UPDATE analytics SET serverDuration = ?, allPlayers = ?, heartbeatCheck = ? WHERE id = ?',
[duration, JSON.stringify(totalPlayers), serverId, nextHeartbeat / 1000],
function(err) {
if (err) {
console.error('Failed to record heartbeat data', err);
return res.status(500).json({ error: 'Database error' });
}
return res.status(200).json({ message: 'Heartbeat data recorded' });
}
);
});
module.exports = router;