sicksync
Version:
Don’t accept the available as the preferable. Go extra mile with extra speed.
87 lines (67 loc) • 2.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.startRemote = startRemote;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _fsHelper = require('./fs-helper');
var _wsServer = require('./ws-server');
var _text = require('../../conf/text');
var _text2 = _interopRequireDefault(_text);
var _events = require('../../conf/events');
var _events2 = _interopRequireDefault(_events);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const fsEvents = _events2.default.FS.REMOTE;
const wsEvents = _events2.default.WS.REMOTE;
function startRemote(opts) {
if (!_lodash2.default.isNumber(opts.port)) return console.info(_text2.default.REMOTE_MISSING_PORT);
if (!_lodash2.default.isString(opts.secret)) return console.info(_text2.default.REMOTE_MISSING_SECRET);
const log = _lodash2.default.partial(console.info.bind(console), opts.secret);
const receivedLog = _lodash2.default.partial(log, '<');
const errorLog = _lodash2.default.partial(log, 'ERR');
const wss = new _wsServer.WSServer({
port: opts.port,
secret: opts.secret,
debug: opts.debug,
encrypt: opts.encrypt
});
const fsHelper = new _fsHelper.FSHelper();
// WS events
wss.on(wsEvents.UNAUTHORIZED, () => {
log(_text2.default.SERVER_ON_UNAUTHORIZED);
process.exit();
});
wss.on(wsEvents.CONNECTION_CLOSED, () => {
log(_text2.default.SERVER_ON_CONNECTION_CLOSED);
process.exit();
});
wss.on(wsEvents.FILE_CHANGE, message => {
switch (message.changeType) {
case 'add':
fsHelper.addFile(message);
break;
case 'addDir':
fsHelper.addDir(message);
break;
case 'change':
fsHelper.addFile(message);
break;
case 'unlink':
fsHelper.removePath(message);
break;
case 'unlinkDir':
fsHelper.removePath(message);
break;
default:
break;
}
});
// FS Events
fsHelper.on(fsEvents.ADD_FILE, receivedLog);
fsHelper.on(fsEvents.ADD_DIR, receivedLog);
fsHelper.on(fsEvents.DELETE, receivedLog);
fsHelper.on(fsEvents.ADD_FILE_ERROR, errorLog);
fsHelper.on(fsEvents.ADD_DIR_ERROR, errorLog);
fsHelper.on(fsEvents.DELETE_ERROR, errorLog);
}
;