Hid profile data via API

This commit is contained in:
2019-06-01 20:47:56 +10:00
parent 7ecf4fec93
commit 7c7e69d4c5
3 changed files with 27 additions and 11 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ const statistics = (connection, req, res, cb) => {
}; };
const owned = (connection, req, res, cb) => { const owned = (connection, req, res, cb) => {
//verify the credentials //validate the credentials
let query = 'SELECT COUNT(*) AS total FROM sessions WHERE accountId = ? AND token = ?;'; let query = 'SELECT COUNT(*) AS total FROM sessions WHERE accountId = ? AND token = ?;';
connection.query(query, [req.body.id, req.body.token], (err, results) => { connection.query(query, [req.body.id, req.body.token], (err, results) => {
if (err) throw err; if (err) throw err;
+22 -10
View File
@@ -75,17 +75,29 @@ function profileRequestInner(connection, req, res, body) {
} }
}); });
} else { } else {
//results.length === 1 //validate the credentials
res.status(200).json({ let query = 'SELECT COUNT(*) AS total FROM sessions WHERE accountId = ? AND token = ?;';
username: body.username, connection.query(query, [body.id, body.token], (err, credentials) => {
gold: results[0].gold, if (err) throw err;
recruits: results[0].recruits,
soldiers: results[0].soldiers, if (credentials[0].total !== 1) {
spies: results[0].spies, res.status(400).write(log('Invalid profile request credentials', JSON.stringify(body), body.id, body.token));
scientists: results[0].scientists res.end();
return;
}
//results.length === 1
res.status(200).json({
username: body.username,
gold: results[0].gold,
recruits: results[0].recruits,
soldiers: results[0].soldiers,
spies: results[0].spies,
scientists: results[0].scientists
});
res.end();
log('Profile sent', body.username, body.id, body.token);
}); });
res.end();
log('Profile sent', body.username, body.id, body.token);
} }
}); });
}; };
+4
View File
@@ -106,6 +106,8 @@ class Equipment extends React.Component {
}; };
Equipment.propTypes = { Equipment.propTypes = {
id: PropTypes.number.isRequired,
token: PropTypes.number.isRequired,
username: PropTypes.string.isRequired, username: PropTypes.string.isRequired,
loggedIn: PropTypes.bool.isRequired, loggedIn: PropTypes.bool.isRequired,
storeScientists: PropTypes.func.isRequired, storeScientists: PropTypes.func.isRequired,
@@ -115,6 +117,8 @@ Equipment.propTypes = {
const mapStoreToProps = (store) => { const mapStoreToProps = (store) => {
return { return {
id: store.account.id,
token: store.account.token,
username: store.account.username, username: store.account.username,
loggedIn: store.account.id !== 0, loggedIn: store.account.id !== 0,
scientists: store.profile.scientists, scientists: store.profile.scientists,