Skip to content

Commit 5839d54

Browse files
committed
Add route, controller action & db query to get countries together with number of registered users
1 parent 46284b3 commit 5839d54

3 files changed

Lines changed: 28 additions & 0 deletions

File tree

core/db.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,20 @@ exports.getCount = function(callback){
128128
});
129129
};
130130

131+
exports.getCountries = function(callback){
132+
pool.getConnection(function(err, connection) {
133+
if(err) { console.log(err); callback(true); return; }
134+
135+
let sql = "SELECT country, COUNT(id) AS number FROM entries WHERE country != '' GROUP BY country ORDER BY number DESC;";
136+
137+
connection.query(sql, function(err, results) {
138+
connection.release();
139+
if(err) { callback(results, true); return; }
140+
callback(results, false);
141+
});
142+
});
143+
};
144+
131145
exports.saveEntry = function(fields, callback){
132146
pool.getConnection(function(err, connection) {
133147
if(err) { console.log(err); callback(true); return; }

core/entryController.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,19 @@ exports.getCount = function(req, res) {
9090
});
9191
};
9292

93+
exports.getCountries = function(req, res) {
94+
db.getCountries(function(results, err){
95+
if(!err){
96+
res.status(200).json({
97+
success : true,
98+
countries : results
99+
});
100+
}else{
101+
res.status(400).json({success : false, message : "error"});
102+
}
103+
});
104+
};
105+
93106
exports.verifyEntry = function(req, res) {
94107
db.verifyEntry(req.params.k, function(results, err){
95108
if(!err){

core/restapi.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ module.exports = function(app) {
2626
app.route('/entries').post(entryController.createEntry);
2727
app.route('/entries/toggle').post(entryController.toggleStatus);
2828
app.route('/entries').get(entryController.getAll);
29+
app.route('/countries').get(entryController.getCountries);
2930
};

0 commit comments

Comments
 (0)