UNPKG

mc-core

Version:
64 lines (43 loc) 1.33 kB
export default ['$rootScope', '$http', '$q', 'socket', function($rootScope, $http, $q, socket) { $rootScope.showLoginError = false $rootScope.loginForm = { email: '', password: '' } $rootScope.showLogin = function showLogin(originalResponse) { jQuery('#login').fadeIn() let deferred = $q.defer() $rootScope.originalResponse = originalResponse $rootScope.promise = deferred return deferred.promise } $rootScope.attemptLogin = function attemptLogin() { $http.post('/login', $rootScope.loginForm).then((response) => { // If there was a request in progress, re-run it if ($rootScope.originalResponse) { $rootScope.promise.resolve($http($rootScope.originalResponse.config)) } // Hide login form jQuery('#login').hide() // Reset login errors $rootScope.showLoginError = false // Load/reload user details $rootScope.loadAuthenticatedUser() // Reconnect to socket.io socket.disconnect() socket.connect() // Reset the form $rootScope.loginForm = { email: '', password: '' } }, () => { $rootScope.showLoginError = true }) } $rootScope.logout = function logout() { $http.post('/logout').then(() => { $rootScope.showLogin() }) } }]