UBS/analytics.js

71 lines
1.9 KiB
JavaScript

const pool = global.db_pool
module.exports = (req, res, next) => {
next();
const { path, method } = req;
pool.query(
'INSERT INTO analytics (method, endpoint, count) VALUES (?, ?, 1) ON DUPLICATE KEY UPDATE count = count + 1',
[method, path],
(error, results) => {
if (error) {
console.error('Error logging analytics:', error);
}
}
);
if (path.includes('/v1/ban/roblox/')) {
pool.query(
'INSERT INTO globalAnalytics (tag, value) VALUES ("ROBLOX_CHECKS", 1) ON DUPLICATE KEY UPDATE value = value + 1;',
(error) => {
if (error) {
console.error('Error logging global analytics:', error);
}
}
);
}
if (path.includes('/v1/ban/discord/')) {
pool.query(
'INSERT INTO globalAnalytics (tag, value) VALUES ("DISCORD_CHECKS", 1) ON DUPLICATE KEY UPDATE value = value + 1;',
(error) => {
if (error) {
console.error('Error logging global analytics:', error);
}
}
);
}
if (path.includes('/v1/ban/')) {
pool.query(
'INSERT INTO globalAnalytics (tag, value) VALUES ("TOTAL_CHECKS", 1) ON DUPLICATE KEY UPDATE value = value + 1;',
(error) => {
if (error) {
console.error('Error logging global analytics:', error);
}
}
);
}
if (req.headers['roblox-id']) { // Roblox game ID. Insert if not exists into gameAnalytics table, if /v1/ban/roblox/:id is called incirment globalAnalytics key=TOTAL_CHECKS
pool.query(
'INSERT INTO gameAnalytics (gameID) VALUES (?) ON DUPLICATE KEY UPDATE gameID = gameID;',
[req.headers['roblox-id']],
(error) => {
if (error) {
console.error('Error logging game analytics:', error);
}
}
);
if (path.includes('/v1/ban/roblox/')) {
pool.query(
'INSERT INTO globalAnalytics (tag, value) VALUES ("ROBLOX_CHECKS_FROM_SERVERS", 1) ON DUPLICATE KEY UPDATE value = value + 1;',
(error) => {
if (error) {
console.error('Error logging global analytics:', error);
}
}
);
}
}
}