2013-09-15 10:24:14 -04:00
|
|
|
define(function(require) {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var appController = require('js/app-controller');
|
|
|
|
|
|
|
|
var LoginCtrl = function($scope, $location) {
|
|
|
|
|
2013-10-09 10:40:36 -04:00
|
|
|
// start the main app controller
|
|
|
|
appController.start(function(err) {
|
|
|
|
if (err) {
|
|
|
|
console.error(err);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (window.chrome && chrome.identity) {
|
|
|
|
login('passphrase', onLogin);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
onLogin();
|
|
|
|
});
|
|
|
|
|
|
|
|
function login(password, callback) {
|
2013-10-11 17:02:37 -04:00
|
|
|
// get OAuth token from chrome
|
2013-10-09 10:40:36 -04:00
|
|
|
appController.fetchOAuthToken(password, function(err) {
|
2013-09-15 10:24:14 -04:00
|
|
|
if (err) {
|
2013-09-26 11:37:56 -04:00
|
|
|
console.error(err);
|
2013-09-15 10:24:14 -04:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2013-10-11 17:02:37 -04:00
|
|
|
// login to imap backend
|
|
|
|
appController._emailDao.imapLogin(function(err) {
|
|
|
|
if (err) {
|
|
|
|
console.error(err);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
callback();
|
|
|
|
});
|
2013-09-15 10:24:14 -04:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2013-10-09 10:40:36 -04:00
|
|
|
function onLogin() {
|
|
|
|
$location.path('/desktop');
|
|
|
|
$scope.$apply();
|
|
|
|
}
|
2013-09-15 10:24:14 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
return LoginCtrl;
|
|
|
|
});
|