walnut.js/scripts/controllers/my-account.js

48 lines
1.3 KiB
JavaScript

'use strict';
angular.module('yololiumApp')
.controller('MyAccountController', [
'$scope'
, '$location'
, '$http'
, 'DaplieApiConfig'
, 'DaplieApiSession'
, 'DaplieApiRequest'
//, 'LdsAccount'
, function ($scope, $location, $http, DaplieApiConfig, DaplieApiSession, DaplieApiRequest, LdsAccount) {
var scope = this;
function init(session) {
if (!session || session.message) {
scope.session = null;
scope.account = null;
scope.accounts = null;
$location.url('/');
return;
}
scope.session = session;
scope.accounts = session.accounts;
scope.account = DaplieApiSession.account(session);
console.log('session', session);
return DaplieApiRequest.profile(session).then(function (profile) {
return LdsAccount.verifyAccount(session, profile);
});
}
scope.showLoginModal = function () {
// TODO profile manager
return DaplieApiSession.openAuthorizationDialog();
};
scope.logout = function () {
// TODO which token(s) to destroy?
return DaplieApiSession.logout();
};
DaplieApiSession.checkSession().then(init, init).catch(init);
DaplieApiSession.onLogin($scope, init);
DaplieApiSession.onLogout($scope, init);
}]);