Return application/problem+json format errors and provide error endpoint

to dereference error codes.
This commit is contained in:
Evan Cordell 2016-04-11 14:51:58 -04:00
parent 8c81915f38
commit 9c08717173
7 changed files with 156 additions and 39 deletions

View file

@ -211,8 +211,8 @@ quayApp.run(['$location', '$rootScope', 'Restangular', 'UserService', 'PlanServi
// Handle session expiration.
Restangular.setErrorInterceptor(function(response) {
if (response.status == 401 && response.data['error_type'] == 'invalid_token' &&
response.data['session_required'] !== false) {
var invalid_token = response.data['title'] == 'invalid_token' || response.data['error_type'] == 'invalid_token';
if (response.status == 401 && invalid_token && response.data['session_required'] !== false) {
$('#sessionexpiredModal').modal({});
return false;
}

View file

@ -129,7 +129,7 @@
$scope.showInterface = true;
}, function(resp) {
$scope.users = [];
$scope.usersError = resp['data']['message'] || resp['data']['error_description'];
$scope.usersError = resp['data']['message'] || resp['data']['error_description'] || resp['data']['detail'];
});
};

View file

@ -124,7 +124,8 @@ angular.module('quay').factory('ApiService', ['Restangular', '$q', 'UtilService'
var deferred = $q.defer();
// If the error is a fresh login required, show the dialog.
if (resp.status == 401 && resp.data['error_type'] == 'fresh_login_required') {
var fresh_login_required = resp.data['title'] == 'fresh_login_required' || resp.data['error_type'] == 'fresh_login_required';
if (resp.status == 401 && fresh_login_required) {
var retryOperation = function() {
apiService[opName].apply(apiService, opArgs).then(function(resp) {
deferred.resolve(resp);
@ -293,7 +294,7 @@ angular.module('quay').factory('ApiService', ['Restangular', '$q', 'UtilService'
apiService.getErrorMessage = function(resp, defaultMessage) {
var message = defaultMessage;
if (resp['data']) {
message = resp['data']['error_message'] || resp['data']['message'] || resp['data']['error_description'] || message;
message = resp['data']['detail'] || resp['data']['error_message'] || resp['data']['message'] || resp['data']['error_description'] || message;
}
return message;

View file

@ -138,7 +138,7 @@ angular.module('quay').factory('UIService', ['$timeout', '$rootScope', '$locatio
};
uiService.showFormError = function(elem, result, opt_placement) {
var message = result.data['message'] || result.data['error_description'] || '';
var message = result.data['message'] || result.data['error_description'] || result.data['detail'] || '';
if (message) {
uiService.showPopover(elem, message, opt_placement || 'bottom');
} else {