File size: 1,407 Bytes
765bc42 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
/* eslint-disable import/no-unresolved */
/* eslint-disable global-require */
/* global angular MediaService isElectron require */
angular.module('listenone').controller('AuthController', [
'$scope',
($scope) => {
$scope.loginProgress = false;
$scope.loginType = 'email';
$scope.loginSourceList = MediaService.getLoginProviders().map(
(i) => i.name
);
$scope.refreshAuthStatus = () => {
$scope.loginSourceList.map((source) =>
MediaService.getUser(source).success((data) => {
if (data.status === 'success') {
$scope.setMusicAuth(source, data.data);
} else {
$scope.setMusicAuth(source, {});
}
})
);
};
$scope.logout = (source) => {
$scope.setMusicAuth(source, {});
MediaService.logout(source);
};
$scope.is_login = (source) =>
$scope.musicAuth[source] && $scope.musicAuth[source].is_login;
$scope.musicAuth = {};
$scope.setMusicAuth = (source, data) => {
$scope.musicAuth[source] = data;
};
$scope.getLoginUrl = (source) => MediaService.getLoginUrl(source);
$scope.openLogin = (source) => {
const url = $scope.getLoginUrl(source);
if (isElectron()) {
const { ipcRenderer } = require('electron');
return ipcRenderer.send('openUrl', url);
}
return window.open(url, '_blank');
};
},
]);
|