Roblox-Analytics/routes/api/getAll.js
2026-01-25 15:23:44 -07:00

50 lines
1.6 KiB
JavaScript

const express = require('express');
const router = express.Router();
const db = global.db;
router.get("/", global.auth, async (req, res) => {
db.all("SELECT * FROM analytics", [], (err, rows) => {
if (err) {
console.error('Failed to retrieve analytics data', err);
return res.status(500).json({ error: 'Database error' });
}
return res.status(200).json({ data: rows });
});
});
router.get("/server/:serverId", global.auth, async (req, res) => {
const serverId = req.params.serverId;
db.get("SELECT * FROM analytics WHERE id = ?", [serverId], (err, row) => {
if (err) {
console.error('Failed to retrieve analytics data for server', serverId, err);
return res.status(500).json({ error: 'Database error' });
}
if (!row) {
return res.status(404).json({ error: 'Server not found' });
}
return res.status(200).json({ data: row });
});
});
router.get("/place/:placeId", global.auth, async (req, res) => {
const placeId = req.params.placeId;
db.all("SELECT * FROM analytics WHERE placeId = ?", [placeId], (err, rows) => {
if (err) {
console.error('Failed to retrieve analytics data for place', placeId, err);
return res.status(500).json({ error: 'Database error' });
}
return res.status(200).json({ data: rows });
});
});
router.get("/active", global.auth, async (req, res) => {
db.all("SELECT * FROM analytics WHERE endTime IS NULL", [], (err, rows) => {
if (err) {
console.error('Failed to retrieve active analytics data', err);
return res.status(500).json({ error: 'Database error' });
}
return res.status(200).json({ data: rows });;
});
});
module.exports = router;