hatchyt
Version:
Hatch your next idea.
47 lines (34 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (req, res) {
if (SELF_HOSTING) {
serve(req, res);
} else {
_database2.default.all(query, function (err, rows) {
res.render('dash', { results: rows, isDash: true });
});
}
};
var _database = require('../database');
var _database2 = _interopRequireDefault(_database);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// A tracking module. Records the request in a database.
var query = '\nSELECT sites.id, sites.domain, count(tracking.domain) as tracked, signers.signed as signed\nFROM sites\nLEFT JOIN tracking USING (domain)\nLEFT JOIN (\n SELECT domain, count(*) as signed FROM signups\n GROUP BY domain\n ) as signers\nUSING (domain)\nGROUP BY domain\nORDER BY sites.id;';
var SELF_HOSTING = process.env.SELF_HOST || false;
// serves a request from the filesystem
function serve(req, res) {
console.log(req.hostname, __dirname);
var filename = req.hostname + '.html';
try {
_fs2.default.statSync('output/' + filename).isFile() && res.sendFile(filename, { root: 'output' });
} catch (e) {
res.status(404).end('Not found.');
}
}
// get sites within latest month
// select domain, referer, datetime from tracking where datetime > datetime('now', '-1 months');
//# sourceMappingURL=dash.js.map