UNPKG

hatchyt

Version:
47 lines (34 loc) 1.52 kB
'use strict'; 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