UNPKG

timers3000

Version:

Provides a graphical interface in your browser to create and manage incremental timers for your daily tasks.

86 lines (78 loc) 2.49 kB
var pjson = require('../../package.json') , fs = require('fs'); /** * Does nothing * shamelessly copypasted from the ungit source :S */ function noop() {} /** * Check npm for the latest version of timers3000 * shamelessly copypasted from the ungit source :S * EDIT: Not so much c+p'd anymore */ var npmconf, RegClient, lastUpdateCheck ; exports.updateNeeded = function(callback) { //check once per minute max var now = Date.now(); if(!lastUpdateCheck) lastUpdateCheck = now-60001; if(now - lastUpdateCheck < 60000){ callback(null,false,pjson.version); }else{ lastUpdateCheck = now; if (!npmconf) npmconf = require('npmconf'); if (!RegClient) RegClient = require('npm-registry-client'); npmconf.load({}, function(err, config) { if (err) return callback(err); var client = new RegClient(config); options = {timeout:1000}; client.get('https://registry.npmjs.org/timers3000', options, function (err, data, raw, res) { if (err) return callback(err); var versions = Object.keys(data.versions); var currentVersion = pjson.version; var latestVersion = versions[versions.length - 1]; var result = currentVersion < latestVersion; callback(null, result, latestVersion); }) }); } return; } /** * Change the databasepath * @param {String} key The properties name * @param {String} value The new value * @param {Function} callback The clients callbackfunction */ exports.changePreference = function(key, value, callback){ switch(key){ case "database" : { //If the path exists if(fs.existsSync(value)){ //and is a directory if(fs.lstatSync(value).isDirectory()){ //apply changes process.env.TIMERDB = value; break; }else{ return callback("Path is not a directory.",null); } }else{ return callback("Path doesn't exist.",null); } } case "port" : process.env.TIMERPORT = value;break; case "sortingKey" : process.env.TIMERSORTINGKEY = value;break; } newConfig = { "database" : process.env.TIMERDB, "port" : process.env.TIMERPORT, "sortingKey" : process.env.TIMERSORTINGKEY } fs.writeFile(__dirname + '/../../config/config.json', JSON.stringify(newConfig, null, 4), function(err) { if(err) { callback(err,null) } else { callback(err,true) } }); }