2018-10-18 21:47:02 -07:00

48 lines
1.1 KiB
JavaScript

"use strict";
const express = require("express"),
fs = require("fs"),
url = require("url"),
config = require("config"),
moment = require("moment");
let photoDB;
require("../db/photos").then(function(db) {
photoDB = db;
});
const router = express.Router();
/* Each photos has:
* locations
* people
* date
* tags
* photo info
*/
router.get("/*", function(req, res/*, next*/) {
const path = decodeURI(req.url).replace(/\?.*$/, "").replace(/^\//, "");
console.log("Looking for daily photo counts in '" + path + "'");
return photoDB.sequelize.query(
"SELECT DATE(photos.taken) AS date,COUNT(photos.id) AS count FROM albums " +
"JOIN photos ON photos.deleted=0 AND photos.duplicate=0 AND photos.taken IS NOT NULL AND photos.albumId=albums.id " +
"WHERE albums.path LIKE :path GROUP BY DATE(photos.taken) ORDER BY date DESC", {
replacements: {
path: path + "%"
},
type: photoDB.Sequelize.QueryTypes.SELECT,
raw: true
}).then(function(days) {
return res.status(200).json(days);
}).catch(function(error) {
return Promise.reject(error);
});
});
module.exports = router;