diff --git a/src/js/app-config.js b/src/js/app-config.js index 4253ba7..fbb7ad6 100644 --- a/src/js/app-config.js +++ b/src/js/app-config.js @@ -5,7 +5,6 @@ define([], function() { * Create the application namespace */ var app = { - model: {}, util: {} }; diff --git a/src/js/app.js b/src/js/app.js index fcbce0a..19e1cef 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -1,10 +1,10 @@ // hey Angular, we're bootstrapping manually! window.name = 'NG_DEFER_BOOTSTRAP!'; -require(['angular', 'js/controller/message-list', 'angularRoute', 'js/app-config'], function(angular, MessageListCtrl) { +require(['angular', 'js/controller/message-list', 'angularRoute', 'angularTouch', 'js/app-config'], function(angular, MessageListCtrl) { 'use strict'; - var app = angular.module('mail', ['ngRoute']); + var app = angular.module('mail', ['ngRoute', 'ngTouch']); app.config(function($routeProvider) { $routeProvider.when('/', { templateUrl: 'tpl/message-list.html', diff --git a/src/js/model/account-model.js b/src/js/model/account-model.js deleted file mode 100644 index c9ad68d..0000000 --- a/src/js/model/account-model.js +++ /dev/null @@ -1,27 +0,0 @@ -define(['backbone', 'js/app-config', 'js/model/folder-model'], function(Backbone, app) { - 'use strict'; - - app.model.Account = Backbone.Model.extend({ - - defaults: { - emailAddress: null, - symKeySize: null, - symIvSize: null, - ssymKeySize: null, - folders: null - }, - - initialize: function() { - this.set('folders', new app.model.FolderCollection()); - } - - }); - - app.model.AccountCollection = Backbone.Collection.extend({ - - model: app.model.Account - - }); - - return app.model.Account; -}); \ No newline at end of file diff --git a/src/js/model/email-model.js b/src/js/model/email-model.js deleted file mode 100644 index 22492eb..0000000 --- a/src/js/model/email-model.js +++ /dev/null @@ -1,27 +0,0 @@ -define(['backbone', 'js/app-config'], function(Backbone, app) { - 'use strict'; - - app.model.Email = Backbone.Model.extend({ - - defaults: { - id: null, - from: null, - to: [], - cc: [], - bcc: [], - subject: null, - body: null, - sentDate: null - }, - - initialize: function() {} - - }); - - app.model.EmailCollection = Backbone.Collection.extend({ - - model: app.model.Email - - }); - -}); \ No newline at end of file diff --git a/src/js/model/folder-model.js b/src/js/model/folder-model.js deleted file mode 100644 index 11777df..0000000 --- a/src/js/model/folder-model.js +++ /dev/null @@ -1,21 +0,0 @@ -define(['backbone', 'js/app-config'], function(Backbone, app) { - 'use strict'; - - app.model.Folder = Backbone.Model.extend({ - - defaults: { - name: null, - items: null - }, - - initialize: function() {} - - }); - - app.model.FolderCollection = Backbone.Collection.extend({ - - model: app.model.Folder - - }); - -}); \ No newline at end of file diff --git a/src/js/model/privatekey-model.js b/src/js/model/privatekey-model.js deleted file mode 100644 index 4027d59..0000000 --- a/src/js/model/privatekey-model.js +++ /dev/null @@ -1,23 +0,0 @@ -define(['backbone', 'js/app-config'], function(Backbone, app) { - 'use strict'; - - app.model.PrivateKey = Backbone.Model.extend({ - - defaults: { - _id: null, - userId: null, - encryptedKey: null, - iv: null - }, - - initialize: function() {} - - }); - - app.model.PrivateKeyCollection = Backbone.Collection.extend({ - - model: app.model.PrivateKey - - }); - -}); \ No newline at end of file diff --git a/src/js/model/publickey-model.js b/src/js/model/publickey-model.js deleted file mode 100644 index 6a8ecdd..0000000 --- a/src/js/model/publickey-model.js +++ /dev/null @@ -1,22 +0,0 @@ -define(['backbone', 'js/app-config'], function(Backbone, app) { - 'use strict'; - - app.model.PublicKey = Backbone.Model.extend({ - - defaults: { - _id: null, - userId: null, - publicKey: null - }, - - initialize: function() {} - - }); - - app.model.PublicKeyCollection = Backbone.Collection.extend({ - - model: app.model.PublicKey - - }); - -}); \ No newline at end of file diff --git a/src/require-config.js b/src/require-config.js index 5ca7904..2fea3a1 100644 --- a/src/require-config.js +++ b/src/require-config.js @@ -8,9 +8,7 @@ test: '../../test', cryptoLib: '../js/crypto', jquery: 'jquery-1.8.2.min', - jquerymobile: 'jquery.mobile-1.2.0.min', underscore: 'underscore-1.4.4.min', - backbone: 'backbone-1.0.0.min', lawnchair: 'lawnchair/lawnchair-git', lawnchairSQL: 'lawnchair/lawnchair-adapter-webkit-sqlite-git', lawnchairIDB: 'lawnchair/lawnchair-adapter-indexed-db-git', @@ -18,7 +16,8 @@ ImapClient: 'imap-client-browserified', SmtpClient: 'smtp-client-browserified', angular: 'angular/angular.min', - angularRoute: 'angular/angular-route.min' + angularRoute: 'angular/angular-route.min', + angularTouch: 'angular/angular-touch.min' }, shim: { angular: { @@ -28,6 +27,10 @@ exports: 'angular', deps: ['angular'] }, + angularTouch: { + exports: 'angular', + deps: ['angular'] + }, lawnchair: { exports: 'Lawnchair' }, @@ -37,20 +40,10 @@ lawnchairIDB: { deps: ['lawnchair', 'lawnchairSQL'] }, - backbone: { - deps: ['underscore', 'jquery'], - exports: 'Backbone' - }, underscore: { exports: '_' - }, - jquerymobile: { - deps: ['jquery', 'js/jqm-config'] } - }, - priority: [ - "angular" - ] + } }); }()); \ No newline at end of file diff --git a/test/test-data.js b/test/test-data.js index 8f45eb8..e2db9ab 100644 --- a/test/test-data.js +++ b/test/test-data.js @@ -1,24 +1,24 @@ -define(['cryptoLib/util', 'js/app-config', 'js/model/email-model'], function(util, app) { +define(['cryptoLib/util', 'js/app-config'], function(util) { 'use strict'; var self = {}; self.getEmailCollection = function(size) { // create test data - var i, mail, collection = new app.model.EmailCollection(), + var i, mail, collection = [], bigAssString = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet,'; for (i = 0; i < size; i++) { - mail = new app.model.Email({ + mail = { id: i + '', from: 'john@from.com', to: ['jack@to.com'], subject: 'Important stuff ' + i, sentDate: (1971 + i) + '-03-13 18:17:53', body: bigAssString - }); + }; - collection.add(mail); + collection.push(mail); } return collection; diff --git a/test/unit/crypto-test.js b/test/unit/crypto-test.js index e4ed3f9..4aa1276 100644 --- a/test/unit/crypto-test.js +++ b/test/unit/crypto-test.js @@ -58,10 +58,7 @@ define(['js/crypto/crypto', 'cryptoLib/util', 'test/test-data'], function(crypto asyncTest("AES/HMAC encrypt batch (Async/Worker)", 2, function() { // generate test data - var collection; - - collection = testData.getEmailCollection(10); - cryptoTest.symlist = collection.toJSON(); + cryptoTest.symlist = testData.getEmailCollection(10); crypto.symEncryptList(cryptoTest.symlist, function(err, result) { ok(!err && result.key && result.list && result.list[0].hmac, 'Encrypt list for user'); @@ -89,10 +86,7 @@ define(['js/crypto/crypto', 'cryptoLib/util', 'test/test-data'], function(crypto asyncTest("AES/RSA encrypt batch for User (Async/Worker)", 2, function() { // generate test data - var collection; - - collection = testData.getEmailCollection(10); - cryptoTest.list = collection.toJSON(); + cryptoTest.list = testData.getEmailCollection(10); var receiverPubkeys = [cryptoTest.generatedKeypair.publicKey]; diff --git a/test/unit/devicestorage-dao-test.js b/test/unit/devicestorage-dao-test.js index f918dc7..becddd0 100644 --- a/test/unit/devicestorage-dao-test.js +++ b/test/unit/devicestorage-dao-test.js @@ -1,5 +1,5 @@ define(['underscore', 'cryptoLib/util', 'js/crypto/crypto', 'js/dao/lawnchair-dao', - 'js/dao/devicestorage-dao', 'test/test-data' + 'js/dao/devicestorage-dao', 'test/test-data' ], function(_, util, crypto, jsonDao, storage, testData) { 'use strict'; @@ -19,7 +19,7 @@ define(['underscore', 'cryptoLib/util', 'js/crypto/crypto', 'js/dao/lawnchair-da ok(storage, 'DeviceStorageDAO'); // generate test data - devicestorageTest.list = testData.getEmailCollection(100).toJSON(); + devicestorageTest.list = testData.getEmailCollection(100); // init crypto crypto.init({ diff --git a/test/unit/email-dao-test.js b/test/unit/email-dao-test.js index 524b1e3..a216657 100644 --- a/test/unit/email-dao-test.js +++ b/test/unit/email-dao-test.js @@ -1,5 +1,5 @@ define(['js/dao/email-dao', 'js/dao/keychain-dao', 'js/dao/lawnchair-dao', - 'js/crypto/crypto', 'js/dao/devicestorage-dao', 'test/test-data', 'js/app-config' + 'js/crypto/crypto', 'js/dao/devicestorage-dao', 'test/test-data', 'js/app-config' ], function(EmailDAO, KeychainDAO, jsonDao, crypto, storage, testData, app) { 'use strict'; @@ -60,13 +60,13 @@ define(['js/dao/email-dao', 'js/dao/keychain-dao', 'js/dao/lawnchair-dao', var receiverPubkeys = [keypair.publicKey]; - crypto.encryptListForUser(emaildaoTest.list.toJSON(), receiverPubkeys, function(err, encryptedList) { + crypto.encryptListForUser(emaildaoTest.list, receiverPubkeys, function(err, encryptedList) { ok(!err); equal(encryptedList.length, emaildaoTest.list.length, 'Encrypt list'); // add sent date to encrypted items for (var i = 0; i < encryptedList.length; i++) { - encryptedList[i].sentDate = emaildaoTest.list.at(i).get('sentDate'); + encryptedList[i].sentDate = emaildaoTest.list[i].sentDate; } // set encrypted test list as return value for cloud storage stub @@ -87,7 +87,7 @@ define(['js/dao/email-dao', 'js/dao/keychain-dao', 'js/dao/lawnchair-dao', emaildaoTest.emailDao.listItems('inbox', 0, emaildaoTest.list.length, function(err, gotten) { ok(!err); - var reference = emaildaoTest.list.toJSON(); + var reference = emaildaoTest.list; deepEqual(gotten, reference, 'Compare collection'); @@ -96,7 +96,7 @@ define(['js/dao/email-dao', 'js/dao/keychain-dao', 'js/dao/lawnchair-dao', }); asyncTest("Get item", 1, function() { - var item = emaildaoTest.list.toJSON()[0]; + var item = emaildaoTest.list[0]; var mail = emaildaoTest.emailDao.getItem('inbox', item.id); deepEqual(mail, item, 'Item correct'); start();