Refactor messenger to use commands from UI to store
parent
cc3e6f3924
commit
ca45ff31d1
@ -1,121 +0,0 @@
|
||||
define([], function () {
|
||||
var MI = {};
|
||||
|
||||
MI.create = function (sFrameChan) {
|
||||
var messenger = {};
|
||||
|
||||
var _handlers = {
|
||||
message: [],
|
||||
join: [],
|
||||
leave: [],
|
||||
update: [],
|
||||
friend: [],
|
||||
unfriend: []
|
||||
};
|
||||
|
||||
messenger.on = function (key, f) {
|
||||
if (!_handlers[key]) { throw new Error('invalid event'); }
|
||||
_handlers[key].push(f);
|
||||
};
|
||||
|
||||
sFrameChan.on('EV_CONTACTS_MESSAGE', function (data) {
|
||||
_handlers.message.forEach(function (f) {
|
||||
f(data);
|
||||
});
|
||||
});
|
||||
sFrameChan.on('EV_CONTACTS_JOIN', function (data) {
|
||||
_handlers.join.forEach(function (f) {
|
||||
f(data.curvePublic, data.channel);
|
||||
});
|
||||
});
|
||||
sFrameChan.on('EV_CONTACTS_LEAVE', function (data) {
|
||||
_handlers.leave.forEach(function (f) {
|
||||
f(data.curvePublic, data.channel);
|
||||
});
|
||||
});
|
||||
sFrameChan.on('EV_CONTACTS_UPDATE', function (data) {
|
||||
_handlers.update.forEach(function (f) {
|
||||
f(data.info, data.types, data.channel);
|
||||
});
|
||||
});
|
||||
sFrameChan.on('EV_CONTACTS_FRIEND', function (data) {
|
||||
_handlers.friend.forEach(function (f) {
|
||||
f(data.curvePublic);
|
||||
});
|
||||
});
|
||||
sFrameChan.on('EV_CONTACTS_UNFRIEND', function (data) {
|
||||
_handlers.unfriend.forEach(function (f) {
|
||||
f(data.curvePublic, data.removedByMe);
|
||||
});
|
||||
});
|
||||
|
||||
/*** QUERIES ***/
|
||||
messenger.getFriendList = function (cb) {
|
||||
sFrameChan.query('Q_CONTACTS_GET_FRIEND_LIST', null, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
});
|
||||
};
|
||||
messenger.getMyInfo = function (cb) {
|
||||
sFrameChan.query('Q_CONTACTS_GET_MY_INFO', null, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
});
|
||||
};
|
||||
messenger.getFriendInfo = function (curvePublic, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_GET_FRIEND_INFO', curvePublic, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
//cb({ error: err, data: data, });
|
||||
});
|
||||
};
|
||||
messenger.removeFriend = function (curvePublic, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_REMOVE_FRIEND', curvePublic, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
});
|
||||
};
|
||||
messenger.openFriendChannel = function (curvePublic, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_OPEN_FRIEND_CHANNEL', curvePublic, function (err, data) {
|
||||
cb(err || data.error);
|
||||
});
|
||||
};
|
||||
messenger.getStatus = function (curvePublic, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_GET_STATUS', curvePublic, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
});
|
||||
};
|
||||
|
||||
messenger.getMoreHistory = function (curvePublic, sig, count, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_GET_MORE_HISTORY', {
|
||||
curvePublic: curvePublic,
|
||||
sig: sig,
|
||||
count: count
|
||||
}, function (err, data) {
|
||||
cb(err || data.error, data.data);
|
||||
});
|
||||
};
|
||||
messenger.sendMessage = function (curvePublic, content, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_SEND_MESSAGE', {
|
||||
content: content,
|
||||
curvePublic: curvePublic,
|
||||
}, function (err, data) {
|
||||
cb(err || data.error);
|
||||
});
|
||||
};
|
||||
messenger.setChannelHead = function (curvePublic, sig, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_SET_CHANNEL_HEAD', {
|
||||
curvePublic: curvePublic,
|
||||
sig: sig,
|
||||
}, function (e, data) {
|
||||
cb(e || data.error);
|
||||
});
|
||||
};
|
||||
|
||||
messenger.clearOwnedChannel = function (channel, cb) {
|
||||
sFrameChan.query('Q_CONTACTS_CLEAR_OWNED_CHANNEL', channel, function (e) {
|
||||
cb(e);
|
||||
});
|
||||
};
|
||||
|
||||
return messenger;
|
||||
};
|
||||
|
||||
return MI;
|
||||
});
|
Loading…
Reference in New Issue