UNPKG

openframe

Version:

Openframe controller process which runs on the machine controlling the frame.

52 lines (44 loc) 1.26 kB
/** * User file-based persistence module. Very basic, just saves/loads json to/from a file on disk. */ var jsonfile = require('jsonfile'), debug = require('debug')('openframe:user'), config = require('./config'), user_file = config.getOpenframeDir() + '/user.json', user = module.exports = {}; // Current state of the user user.state = {}; /** * Save the current state to disk */ user.save = function() { debug('save', user_file); var self = this, p = new Promise(function(resolve, reject) { jsonfile.writeFile(user_file, self.state, { spaces: 2 }, function(err) { if (err) { reject(err); return; } resolve(self.state); }); }); return p; }; /** * Load the current state from disk */ user.load = function() { debug('load'); var self = this, p = new Promise(function(resolve, reject) { jsonfile.readFile(user_file, function(err, state) { // if error reading from file, just return the current state user.state = state || {}; resolve(user.state); }); }); return p; };