gittoken-socket
Version:
GitToken Socket Server and Client Libraries
125 lines (87 loc) • 3.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _bluebird = require('bluebird');
var _bluebird2 = _interopRequireDefault(_bluebird);
var _ws = require('ws');
var _ws2 = _interopRequireDefault(_ws);
var _mysql = require('mysql');
var _mysql2 = _interopRequireDefault(_mysql);
var _split = require('split');
var _split2 = _interopRequireDefault(_split);
var _index = require('gittoken-event-listener/dist/client/index');
var _index2 = _interopRequireDefault(_index);
var _index3 = require('./utils/index');
var _index4 = require('./sql/index');
var _index5 = require('./redux/index');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GitTokenSocketServer = function (_GitTokenEventWatcher) {
(0, _inherits3.default)(GitTokenSocketServer, _GitTokenEventWatcher);
function GitTokenSocketServer(_ref) {
var socketPort = _ref.socketPort,
mysqlHost = _ref.mysqlHost,
mysqlUser = _ref.mysqlUser,
mysqlRootPassword = _ref.mysqlRootPassword,
mysqlDatabase = _ref.mysqlDatabase,
watcherIpcPath = _ref.watcherIpcPath;
(0, _classCallCheck3.default)(this, GitTokenSocketServer);
var _this = (0, _possibleConstructorReturn3.default)(this, (GitTokenSocketServer.__proto__ || (0, _getPrototypeOf2.default)(GitTokenSocketServer)).call(this, { watcherIpcPath: watcherIpcPath }));
_this.query = _index4.query.bind(_this);
_this.handleMsg = _index3.handleMsg.bind(_this);
_this.proxyQuery = _index4.proxyQuery.bind(_this);
_this.queryString = _index4.queryString;
_this.store = _index5.store;
// this.unsubscribe = this.store.subscribe(() => {
// console.log('store', JSON.stringify(this.store.getState(), null, 2))
// })
// Instantiate MySql Connection
_this.mysql = _mysql2.default.createConnection({
host: mysqlHost,
user: mysqlUser,
password: mysqlRootPassword,
database: mysqlDatabase
});
_this.server = new _ws2.default.Server({ port: socketPort }, function () {
console.log('GitToken Socket Server Started on Port: ', socketPort);
// Listen for contract event listener messages;
_this.eventListener.pipe((0, _split2.default)(JSON.parse)).on('data', function (msg) {
try {
_this.store.dispatch({
type: 'WATCH_TOKEN',
event: msg['event'],
org: msg['data']['organization'],
id: msg['data']['transactionHash'],
data: msg
});
} catch (error) {
console.error(error);
console.log('msg', msg);
}
});
var unsubscribe = _this.store.subscribe(function () {
// Subscribe to state updates
console.log('State: ', (0, _stringify2.default)(_this.store.getState(), null, 2));
// send updates back to
});
});
_this.server.on('connection', function (socket, req) {
socket.on('message', function (message) {
_this.handleMsg({ socket: socket, message: message });
});
});
return _this;
}
return GitTokenSocketServer;
}(_index2.default);
exports.default = GitTokenSocketServer;