findUniqueSites is working, using basic site template /visits
This commit is contained in:
parent
d296e5ca43
commit
ba018c685c
@ -1,4 +1,5 @@
|
|||||||
var Site = require('../model/Site');
|
var Site = require('../model/Site');
|
||||||
|
var Visit = require('../model/Visit');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// Find site by ID export
|
// Find site by ID export
|
||||||
@ -17,5 +18,14 @@ module.exports = {
|
|||||||
if(err) throw err;
|
if(err) throw err;
|
||||||
res.render('index', { title: "Home", sites: sites });
|
res.render('index', { title: "Home", sites: sites });
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
UniqueSiteVisits: function(req, res){
|
||||||
|
Visit.findUniqueSites(function(err, uniqueSites){
|
||||||
|
if(err) throw err;
|
||||||
|
Site.findAllById(uniqueSites, function(err, uniqueSiteVisits){
|
||||||
|
if(err) throw err;
|
||||||
|
res.render('index', { title: "UniqueSiteVisits", sites: uniqueSiteVisits });
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,9 @@ var con = require('./db');
|
|||||||
sql = "INSERT INTO visits (date, img, site_id) VALUES ?";
|
sql = "INSERT INTO visits (date, img, site_id) VALUES ?";
|
||||||
val = [
|
val = [
|
||||||
['10-15-2019','https://seanland.ca', '1'],
|
['10-15-2019','https://seanland.ca', '1'],
|
||||||
['10-17-2019','https://seanland.ca', '1']
|
['10-17-2019','https://seanland.ca', '1'],
|
||||||
|
['01-17-2020','https://seanland.ca', '134'],
|
||||||
|
['11-23-2019','https://seanland.ca', '15']
|
||||||
];
|
];
|
||||||
|
|
||||||
con.query(sql, [val], function(err, res){
|
con.query(sql, [val], function(err, res){
|
||||||
|
@ -30,6 +30,25 @@ Site.findById = function(id, callback){
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Finding all sites by IDs.
|
||||||
|
Site.findAllById = function(ids, callback){
|
||||||
|
var sql = "SELECT * FROM sites WHERE id in (?)";
|
||||||
|
var arr = [];
|
||||||
|
|
||||||
|
con.query(sql, [ids], function(err, result){
|
||||||
|
if (err) return callback(err);
|
||||||
|
// if not site is found.
|
||||||
|
if (result[0] == undefined) callback(404);
|
||||||
|
else {
|
||||||
|
console.log("Site.findAllById: " + result.length + "sites retrieved!");
|
||||||
|
result.forEach(site => {
|
||||||
|
arr.push(new Site(site));
|
||||||
|
});
|
||||||
|
callback(err, arr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// get a listing of all sites
|
// get a listing of all sites
|
||||||
Site.getAll = function(callback){
|
Site.getAll = function(callback){
|
||||||
var sql = "SELECT * FROM sites";
|
var sql = "SELECT * FROM sites";
|
||||||
|
@ -20,3 +20,25 @@ Visit.findBySite = function(id, callback){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Visit.findUniqueSites = function(callback){
|
||||||
|
var sql = "SELECT DISTINCT site_id FROM visits";
|
||||||
|
|
||||||
|
con.query(sql, function(err, result){
|
||||||
|
if(err) return callback(err);
|
||||||
|
if(result[0] == undefined) callback(404);
|
||||||
|
else {
|
||||||
|
var ids = [];
|
||||||
|
|
||||||
|
result.forEach(id => {
|
||||||
|
ids.push(id.site_id);
|
||||||
|
});
|
||||||
|
console.log(ids);
|
||||||
|
console.log("Visit.findUniqueSites: " + ids.length + " unique sites visited!");
|
||||||
|
|
||||||
|
callback(err, ids);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Visit;
|
||||||
|
@ -4,5 +4,6 @@ var router = express.Router();
|
|||||||
var sitesController = require('../controllers/sites')
|
var sitesController = require('../controllers/sites')
|
||||||
|
|
||||||
router.get('/', sitesController.getAll);
|
router.get('/', sitesController.getAll);
|
||||||
|
router.get('/visits', sitesController.UniqueSiteVisits);
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
0
views/visits.pug
Normal file
0
views/visits.pug
Normal file
Reference in New Issue
Block a user