Added lastActivityTime to accounts;

This commit is contained in:
2019-06-07 02:27:04 +10:00
parent e949b8f21f
commit 7c7aa26a1c
8 changed files with 37 additions and 7 deletions
+8 -1
View File
@@ -9,6 +9,7 @@ let sendmail = require('sendmail')({silent: true});
//utilities
let { log, validateEmail } = require('../common/utilities.js');
let { throttle, isThrottled } = require('../common/throttle.js');
let { logActivity } = require('./utilities.js');
const signupRequest = (connection) => (req, res) => {
//formidable handles forms
@@ -205,6 +206,8 @@ const loginRequest = (connection) => (req, res) => {
msg: log('Logged in', fields.email, rand)
});
res.end();
logActivity(connection, results[0].id);
});
});
});
@@ -216,6 +219,7 @@ const logoutRequest = (connection) => (req, res) => {
connection.query(query, [req.body.id, req.body.token], (err) => {
if (err) throw err;
log('Logged out', req.body.id, req.body.token);
logActivity(connection, req.body.id);
});
res.end(); //NOTE: don't send a response
@@ -275,6 +279,8 @@ const passwordChangeRequest = (connection) => (req, res) => {
msg: log('Password changed!', fields.id)
});
res.end();
logActivity(connection, fields.id);
});
});
});
@@ -410,7 +416,8 @@ const passwordResetRequest = (connection) => (req, res) => {
res.status(200).json({ msg: log('Password updated!', fields.email) });
res.end();
return;
logActivity(connection, results[0].id);
});
});
});
+3 -1
View File
@@ -8,7 +8,7 @@ let CronJob = require('cron').CronJob;
let { logDiagnostics } = require('./diagnostics.js');
let { log } = require('../common/utilities.js');
let { getStatistics, isAttacking } = require('./utilities.js');
let { getStatistics, isAttacking, logActivity } = require('./utilities.js');
const attackRequest = (connection) => (req, res) => {
//verify the attacker's credentials (only the attacker can launch an attack)
@@ -70,6 +70,8 @@ const attackRequest = (connection) => (req, res) => {
msg: log('Attacking', req.body.attacker, req.body.defender)
});
res.end();
logActivity(connection, req.body.id);
});
});
});
+5 -1
View File
@@ -4,7 +4,7 @@ require('dotenv').config();
//utilities
let { log } = require('../common/utilities.js');
let { getStatistics, getOwned, isAttacking, isSpying } = require('./utilities.js');
let { getStatistics, getOwned, isAttacking, isSpying, logActivity } = require('./utilities.js');
const equipmentRequest = (connection) => (req, res) => {
//validate the credentials
@@ -179,6 +179,8 @@ const purchaseRequest = (connection) => (req, res) => {
res.end();
log('Purchase made', req.body.id, req.body.token, req.body.type, req.body.name);
logActivity(connection, req.body.id);
});
});
});
@@ -277,6 +279,8 @@ const sellRequest = (connection) => (req, res) => {
if (err) throw err;
log('Cleaned database', 'equipment sale');
logActivity(connection, req.body.id);
});
});
});
+5 -1
View File
@@ -4,7 +4,7 @@ require('dotenv').config();
//libraries
let CronJob = require('cron').CronJob;
let { isAttacking, isSpying } = require('./utilities.js');
let { isAttacking, isSpying, logActivity } = require('./utilities.js');
//utilities
let { logDiagnostics } = require('./diagnostics.js');
@@ -44,6 +44,7 @@ function profileCreateRequestInner(connection, req, res, body) {
if (err) throw err;
log('Profile created', body.username, body.id, body.token);
logActivity(connection, body.id);
return profileRequestInner(connection, req, res, body);
});
@@ -154,6 +155,7 @@ const recruitRequest = (connection) => (req, res) => {
log('Recruit successful', results[0].username, req.body.id, req.body.token);
logDiagnostics(connection, 'recruit', 1);
logActivity(connection, req.body.id);
});
});
});
@@ -259,6 +261,7 @@ const trainRequest = (connection) => (req, res) => {
});
res.end();
log('Train executed', results[0].username, req.body.role, req.body.id, req.body.token);
logActivity(connection, req.body.id);
});
});
});
@@ -371,6 +374,7 @@ const untrainRequest = (connection) => (req, res) => {
});
res.end();
log('Untrain executed', results[0].username, roleName, req.body.id, req.body.token);
logActivity(connection, req.body.id);
});
});
});
+3 -1
View File
@@ -8,7 +8,7 @@ let CronJob = require('cron').CronJob;
let { logDiagnostics } = require('./diagnostics.js');
let { log } = require('../common/utilities.js');
let { getStatistics, isSpying, isAttacking } = require('./utilities.js'); //TODO: rename getStatistics to getEquipmentStatistics
let { getStatistics, isSpying, isAttacking, logActivity } = require('./utilities.js'); //TODO: rename getStatistics to getEquipmentStatistics
const spyRequest = (connection) => (req, res) => {
//verify the attacker's credentials (only the attacker can launch an attack)
@@ -70,6 +70,8 @@ const spyRequest = (connection) => (req, res) => {
msg: log('Spying', req.body.attacker, req.body.defender) //TODO: am I using this msg parameter anywhere?
});
res.end();
logActivity(connection, req.body.id);
});
});
});
+9 -1
View File
@@ -86,9 +86,17 @@ const isSpying = (connection, user, cb) => {
});
};
const logActivity = (connection, id) => {
let query = 'UPDATE accounts SET lastActivityTime = CURRENT_TIMESTAMP() WHERE id = ?;';
connection.query(query, [id], (err) => {
if (err) throw err;
});
};
module.exports = {
getStatistics: getStatistics,
getOwned: getOwned,
isAttacking: isAttacking,
isSpying: isSpying
isSpying: isSpying,
logActivity: logActivity
};