dagcoin-core
Version:
49 lines (42 loc) • 1.25 kB
JavaScript
;
// My module
function KeyManager() {
this.conf = require('byteballcore/conf.js');
this.fs = require('fs');
this.desktopApp = require('byteballcore/desktop_app.js');
this.applicationDataDirectory = this.desktopApp.getAppDataDir();
this.keyFileName = this.applicationDataDirectory + '/' + (this.conf.KEYS_FILENAME || 'keys.json');
}
KeyManager.prototype.read = function () {
var self = this;
return new Promise(function (resolve, reject) {
try {
self.fs.readFile(self.keyFileName, 'utf8', function (err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});
} catch (e) {
reject(new Error('WHILE READING FROM FILE ' + self.keyFileName + ': ' + e.message));
}
});
};
KeyManager.prototype.write = function (keys) {
var self = this;
return new Promise(function (resolve, reject) {
try {
self.fs.writeFile(self.keyFileName, JSON.stringify(keys, null, '\t'), 'utf8', function (err) {
if (err) {
reject('COULD NOT WRITE THE KEY FILE: ' + err);
} else {
resolve(keys);
}
});
} catch (e) {
reject(new Error('WHILE WRITING ' + JSON.stringify(keys, null, '\t') + ' TO FILE ' + self.keyFileName + ': ' + e.message));
}
});
};
module.exports = KeyManager;