41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
|
/**
|
||
|
* Element for managing the applications authorized by a user.
|
||
|
*/
|
||
|
angular.module('quay').directive('authorizedAppsManager', function () {
|
||
|
var directiveDefinitionObject = {
|
||
|
priority: 0,
|
||
|
templateUrl: '/static/directives/authorized-apps-manager.html',
|
||
|
replace: false,
|
||
|
transclude: false,
|
||
|
restrict: 'C',
|
||
|
scope: {
|
||
|
'user': '=user',
|
||
|
'isEnabled': '=isEnabled'
|
||
|
},
|
||
|
controller: function($scope, $element, ApiService) {
|
||
|
$scope.$watch('isEnabled', function(enabled) {
|
||
|
if (!enabled) { return; }
|
||
|
loadAuthedApps();
|
||
|
});
|
||
|
|
||
|
var loadAuthedApps = function() {
|
||
|
if ($scope.authorizedAppsResource) { return; }
|
||
|
|
||
|
$scope.authorizedAppsResource = ApiService.listUserAuthorizationsAsResource().get(function(resp) {
|
||
|
$scope.authorizedApps = resp['authorizations'];
|
||
|
});
|
||
|
};
|
||
|
|
||
|
$scope.deleteAccess = function(accessTokenInfo) {
|
||
|
var params = {
|
||
|
'access_token_uuid': accessTokenInfo['uuid']
|
||
|
};
|
||
|
|
||
|
ApiService.deleteUserAuthorization(null, params).then(function(resp) {
|
||
|
$scope.authorizedApps.splice($scope.authorizedApps.indexOf(accessTokenInfo), 1);
|
||
|
}, ApiService.errorDisplay('Could not revoke authorization'));
|
||
|
};
|
||
|
}
|
||
|
};
|
||
|
return directiveDefinitionObject;
|
||
|
});
|