forked from coolaj86/walnut.js
		
	
		
			
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			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); | ||
|  |   }]); |