From 483316986371c02a71a5287da27ba2d955b6eb0f Mon Sep 17 00:00:00 2001 From: Tankred Hase Date: Fri, 19 Apr 2013 19:52:04 +0200 Subject: [PATCH] integrated nacl crypto and aws sync into client app --- src/index.html | 5 +++++ src/js/app-router.js | 5 +++-- src/js/view/messagelist-view.js | 24 +++++++++++++++++------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/index.html b/src/index.html index 883a510..86f8321 100755 --- a/src/index.html +++ b/src/index.html @@ -18,6 +18,9 @@ + + + @@ -41,11 +44,13 @@ + + diff --git a/src/js/app-router.js b/src/js/app-router.js index 0936a00..c22b4b7 100644 --- a/src/js/app-router.js +++ b/src/js/app-router.js @@ -15,12 +15,13 @@ login: function() { // init email dao and dependencies - var util = new app.crypto.Util(window, null); + var util = new app.crypto.Util(window, uuid); var jsonDao = new app.dao.LawnchairDAO(window); var crypto = new app.crypto.Crypto(window, util); + var naclCrypto = new app.crypto.NaclCrypto(nacl, util); var cloudstorage = new app.dao.CloudStorage(window, $); var devicestorage = new app.dao.DeviceStorage(util, crypto, jsonDao, null); - this.emailDao = new app.dao.EmailDAO(_, crypto, devicestorage, cloudstorage); + this.emailDao = new app.dao.EmailDAO(_, crypto, devicestorage, cloudstorage, naclCrypto, util); var loginView = new app.view.LoginView({ dao: this.emailDao diff --git a/src/js/view/messagelist-view.js b/src/js/view/messagelist-view.js index f5ded12..1d7de47 100644 --- a/src/js/view/messagelist-view.js +++ b/src/js/view/messagelist-view.js @@ -32,18 +32,28 @@ text: 'Syncing...', textVisible: true }); - // sync from cloud - this.dao.syncFromCloud(this.folder, function(err) { - $.mobile.loading('hide'); - // check for error + // sync vinbox from cloud + self.dao.checkVInbox(function(err) { if (err) { - window.alert('Syncing failed!'); + $.mobile.loading('hide'); + window.alert('Fetching new from inbox failed!'); return; } - // read local storage and add to list view - self.loadItems(); + // sync current folder from cloud + self.dao.syncFromCloud(self.folder, function(err) { + $.mobile.loading('hide'); + + // check for error + if (err) { + window.alert('Syncing failed!'); + return; + } + + // read local storage and add to list view + self.loadItems(); + }); }); },