integrated nacl crypto and aws sync into client app

This commit is contained in:
Tankred Hase 2013-04-19 19:52:04 +02:00
parent 9dec074b0c
commit 4833169863
3 changed files with 25 additions and 9 deletions

View File

@ -18,6 +18,9 @@
<script src="lib/lawnchair/lawnchair-git.min.js"></script>
<script src="lib/lawnchair/lawnchair-adapter-indexed-db-git.js"></script>
<script src="lib/lawnchair/lawnchair-adapter-webkit-sqlite-git.js"></script>
<script src="lib/uuid.js"></script>
<script src="lib/nacl.js"></script>
<script src="lib/sjcl/sjcl.js"></script>
<script src="lib/sjcl/sha256.js"></script>
@ -41,11 +44,13 @@
<script src="js/model/email-model.js"></script>
<script src="js/model/folder-model.js"></script>
<script src="js/model/account-model.js"></script>
<script src="js/model/publickey-model.js"></script>
<script src="js/crypto/util.js"></script>
<script src="js/crypto/pbkdf2.js"></script>
<script src="js/crypto/aes-ccm.js"></script>
<script src="js/crypto/crypto.js"></script>
<script src="js/crypto/nacl-crypto.js"></script>
<script src="js/dao/localstorage-dao.js"></script>
<script src="js/dao/lawnchair-dao.js"></script>

View File

@ -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

View File

@ -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();
});
});
},