From c3f61306aa6a2347ce05f0cea19891916a6901e0 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Fri, 28 Oct 2016 19:16:15 +0700 Subject: [PATCH] migrate matrix to matrix-util --- adaptor-xmpp.js | 61 ++++----------------------------------------------------- matrix-util.js | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 57 deletions(-) diff --git a/adaptor-xmpp.js b/adaptor-xmpp.js index 4b3b3ee..e5d1059 100644 --- a/adaptor-xmpp.js +++ b/adaptor-xmpp.js @@ -30,22 +30,7 @@ function onPM(sender, msg) { callbacks.onPM(sender, msg); } - if (!matrix) { - return; - } - - if (!matrix.buddies) { - matrix.buddies = {}; - } - - if (!matrix.buddies[sender]) { - matrix.buddies[sender] = {}; - } - - matrix.buddies[sender].lastIncoming = { - msg: msg, - lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss') - } + matrixUtil.updateLastIncoming(sender, msg); } function onError(err) { @@ -65,35 +50,12 @@ function onBuddy(jid, state, statusText, resource) { matrixUtil.updateBuddyState(jid, state, statusText, resource); } -function _isPartnerOffline(partner) { - if (!matrix) { return false; } - - if (!isAFriend(partner)) { - logger.verbose(partner + ' is not a friend yet, adding it as a friend') - addFriend(partner); - } - - if (!matrix.buddies[partner]) { return false; } - if (!matrix.buddies[partner].resources) { return false; }; - - var resources = matrix.buddies[partner].resources; - for (var key in resources) { - if (resources.hasOwnProperty(key)) { - var resource = resources[key]; - if (resources[key].state == 'online') { - return false; - } - } - } - logger.verbose('Offline partner detected: ' + partner); - return true; -} - function isPartnerOffline(partner) { if (!matrixUtil.isAFriend(partner)) { + logger.verbose(partner + ' is not a friend yet, adding it as a friend') addFriend(partner); } - + return matrixUtil.isPartnerOffline(partner); } @@ -143,22 +105,7 @@ function sendMessage(destination, msg) { xmpp.send(destination, msg); - if (!matrix) { - return; - } - - if (!matrix.buddies) { - matrix.buddies = {}; - } - - if (!matrix.buddies[destination]) { - matrix.buddies[destination] = {}; - } - - matrix.buddies[destination].lastOutgoing = { - msg: msg, - lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss') - } + matrixUtil.updateLastOutgoing(destination, msg); } function addFriend(friend) { diff --git a/matrix-util.js b/matrix-util.js index d87c3a8..8074e18 100644 --- a/matrix-util.js +++ b/matrix-util.js @@ -86,3 +86,43 @@ MatrixUtil.prototype.isPartnerOffline = function(partner) { logger.verbose('Offline partner detected: ' + partner); return true; } + +MatrixUtil.prototype.updateLastIncoming(sender, msg) { + var matrix = this.matrix; + + if (!matrix) { + return; + } + + if (!matrix.buddies) { + matrix.buddies = {}; + } + + if (!matrix.buddies[sender]) { + matrix.buddies[sender] = {}; + } + + matrix.buddies[sender].lastIncoming = { + msg: msg, + lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss') + } +} + +MatrixUtil.prototype.updateLastOutgoing(destination, msg) { + if (!matrix) { + return; + } + + if (!matrix.buddies) { + matrix.buddies = {}; + } + + if (!matrix.buddies[destination]) { + matrix.buddies[destination] = {}; + } + + matrix.buddies[destination].lastOutgoing = { + msg: msg, + lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss') + } +} -- 1.9.0