Display general Spotify error messages that are provided by API

This commit is contained in:
James Barnsley
2020-05-12 19:15:59 +12:00
parent 581c9520a6
commit 69b2de8159
7 changed files with 45 additions and 24 deletions

View File

@ -74363,16 +74363,23 @@ function handleException(message) {
var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var show_notification = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
if (!message && data.message) {
message = data.message;
} else if (!message && data.error.message) {
message = data.error.message;
if (!message) {
if (data.message) {
message = data.message;
} else if (data.error.message) {
message = data.error.message;
}
}
if (!description && data.description) {
description = data.description;
} else if (!description && data.error && data.error.description) {
description = data.error.description;
if (!description) {
if (data.description) {
description = data.description;
} else if (data.error && data.error.message) {
description = data.error.message;
} else if (data.error && data.error.description) {
description = data.error.description;
}
}
return {
type: 'HANDLE_EXCEPTION',
message: message,
@ -83192,8 +83199,12 @@ var request = function request(dispatch, getState, endpoint) {
fetch(url, config).then(status).then(function (data) {
// TODO: Instead of allowing request to fail before renewing the token, once refreshed
// we should retry the original request(s)
if (data && data.error && data.error.message === 'The access token expired') {
dispatch(refreshToken(dispatch, getState));
if (data && data.error) {
if (data.error.message === 'The access token expired') {
dispatch(refreshToken(dispatch, getState));
} else {
reject(data);
}
}
resolve(data);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -100,7 +100,7 @@
// Release details
// These are automatically injected to built HTML
var build = "1588654152";
var build = "1588909200";
var version = "3.48.0";
// Construct the script tag

View File

@ -55,16 +55,23 @@ export function startSearch(search_type, query, only_mopidy = false) {
}
export function handleException(message, data = {}, description = null, show_notification = true) {
if (!message && data.message) {
message = data.message;
} else if (!message && data.error.message) {
message = data.error.message;
if (!message) {
if (data.message) {
message = data.message;
} else if (data.error.message) {
message = data.error.message;
}
}
if (!description && data.description) {
description = data.description;
} else if (!description && data.error && data.error.description) {
description = data.error.description;
if (!description) {
if (data.description) {
description = data.description;
} else if (data.error && data.error.message) {
description = data.error.message;
} else if (data.error && data.error.description) {
description = data.error.description;
}
}
return {
type: 'HANDLE_EXCEPTION',
message,

View File

@ -86,8 +86,12 @@ const request = (dispatch, getState, endpoint, method = 'GET', data = false, cac
.then(data => {
// TODO: Instead of allowing request to fail before renewing the token, once refreshed
// we should retry the original request(s)
if (data && data.error && data.error.message === 'The access token expired') {
dispatch(refreshToken(dispatch, getState));
if (data && data.error) {
if (data.error.message === 'The access token expired') {
dispatch(refreshToken(dispatch, getState));
} else {
reject(data);
}
}
resolve(data);

View File

@ -196,7 +196,6 @@ export default function reducer(spotify = {}, action) {
case 'SPOTIFY_FLUSH_LIBRARY':
return {
...spotify,
library_playlists: null,
library_playlists_loaded_all: null,