From 8dac5e013fc93ac7627eed516a01981e932867ab Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Fri, 20 Oct 2017 17:06:27 +0200 Subject: [PATCH] [fix] Message: fix sending when not authenticated - fix #587 --- .../es/js/controllers/message-controllers.js | 2 +- .../es/js/services/message-services.js | 41 ++++++++++--------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/www/plugins/es/js/controllers/message-controllers.js b/www/plugins/es/js/controllers/message-controllers.js index 9279da555..aa5a694fe 100644 --- a/www/plugins/es/js/controllers/message-controllers.js +++ b/www/plugins/es/js/controllers/message-controllers.js @@ -391,7 +391,7 @@ function ESMessageComposeModalController($scope, Modals, UIUtils, csWallet, esHt time: esHttp.date.now() }; - esMessage.send(data, csWallet.data.keypair) + esMessage.send(data) .then(function(id) { $scope.id=id; UIUtils.loading.hide(); diff --git a/www/plugins/es/js/services/message-services.js b/www/plugins/es/js/services/message-services.js index 7016878c2..0388e4126 100644 --- a/www/plugins/es/js/services/message-services.js +++ b/www/plugins/es/js/services/message-services.js @@ -110,27 +110,30 @@ angular.module('cesium.es.message.services', ['ngResource', 'cesium.platform', }); } - function sendMessage(message, keypair) { - return doSendMessage(message, keypair) - .then(function(res){ - var outbox = (csSettings.data.plugins.es.message && - angular.isDefined(csSettings.data.plugins.es.message.outbox)) ? - csSettings.data.plugins.es.message.outbox : true; + function sendMessage(message) { + return csWallet.getKeypair() + .then(function(keypair) { + return doSendMessage(message, keypair) + .then(function (res) { + var outbox = (csSettings.data.plugins.es.message && + angular.isDefined(csSettings.data.plugins.es.message.outbox)) ? + csSettings.data.plugins.es.message.outbox : true; - if (!outbox) return res; + if (!outbox) return res; - // Send to outbox - return doSendMessage(message, keypair, '/message/outbox', 'issuer') - .catch(function(err) { - console.error("Failed to store message to outbox: " + err); - return res; // the first result - }); - }) - .then(function(res) { - // Raise event - api.data.raise.sent(res); + // Send to outbox + return doSendMessage(message, keypair, '/message/outbox', 'issuer') + .catch(function (err) { + console.error("Failed to store message to outbox: " + err); + return res; // the first result + }); + }) + .then(function (res) { + // Raise event + api.data.raise.sent(res); - return res; + return res; + }); }); } @@ -482,7 +485,7 @@ angular.module('cesium.es.message.services', ['ngResource', 'cesium.platform', .then(function(keypair) { return $q.all(developers.reduce(function(res, developer){ return !developer.pubkey ? res : - res.concat(sendMessage(angular.merge({recipient: developer.pubkey}, message), keypair)); + res.concat(doSendMessage(angular.merge({recipient: developer.pubkey}, message), keypair)); }, [])); }) .then(function(res) { -- GitLab