keeweb/app/scripts/storage/storage-file.js

40 lines
1.1 KiB
JavaScript
Raw Normal View History

2015-12-02 21:39:40 +01:00
'use strict';
2015-12-12 09:53:50 +01:00
var Launcher = require('../comp/launcher'),
Logger = require('../util/logger');
var logger = new Logger('storage-file');
2015-12-02 21:39:40 +01:00
var StorageFile = {
name: 'file',
enabled: !!Launcher,
load: function(path, callback) {
2015-12-12 09:53:50 +01:00
logger.debug('Load', path);
var ts = logger.ts();
2015-12-02 21:39:40 +01:00
try {
var data = Launcher.readFile(path);
2015-12-12 09:53:50 +01:00
logger.debug('Loaded', path, logger.ts(ts));
2015-12-07 22:00:44 +01:00
if (callback) { callback(null, data.buffer); }
2015-12-02 21:39:40 +01:00
} catch (e) {
2015-12-12 09:53:50 +01:00
logger.error('Error reading local file', path, e);
2015-12-07 22:00:44 +01:00
if (callback) { callback(e, null); }
2015-12-02 21:39:40 +01:00
}
},
save: function(path, data, callback) {
2015-12-12 09:53:50 +01:00
logger.debug('Save', path);
var ts = logger.ts();
2015-12-02 21:39:40 +01:00
try {
Launcher.writeFile(path, data);
2015-12-12 09:53:50 +01:00
logger.debug('Saved', path, logger.ts(ts));
2015-12-07 22:00:44 +01:00
if (callback) { callback(); }
2015-12-02 21:39:40 +01:00
} catch (e) {
2015-12-12 09:53:50 +01:00
logger.error('Error writing local file', path, e);
2015-12-07 22:00:44 +01:00
if (callback) { callback(e); }
2015-12-02 21:39:40 +01:00
}
}
};
module.exports = StorageFile;