fire error toast as per error response (#5264)

* fire error toast as per error response

* fire error toast as per error response: run Query

* checks for invalid operations
This commit is contained in:
Arpit 2023-01-09 18:55:51 +05:30 committed by GitHub
parent 23d87e51a0
commit 57cb2cbb5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 5 deletions

View file

@ -17,6 +17,16 @@ async function perform(queryOptions, organizationId, currentState) {
return updateRows(queryOptions, organizationId, currentState);
case 'delete_rows':
return deleteRows(queryOptions, organizationId, currentState);
default:
return {
statusText: 'Bad Request',
status: 400,
data: {},
error: {
message: 'Invalid operation',
},
};
}
}

View file

@ -807,6 +807,7 @@ export function previewQuery(_ref, query, editorState, calledFromQuery = false)
} else {
_ref.setState({ previewLoading: false, queryPreviewData: finalData });
}
const queryStatus =
query.kind === 'tooljetdb'
? data.statusText
@ -814,8 +815,9 @@ export function previewQuery(_ref, query, editorState, calledFromQuery = false)
? data?.data?.status ?? 'ok'
: data.status;
switch (queryStatus) {
case 'Bad Request':
case 'failed': {
const err = query.kind == 'tooljetdb' ? data : data.data || data;
const err = query.kind == 'tooljetdb' ? data.error : _.isEmpty(data.data) ? data : data.data;
toast.error(`${err.message}`);
break;
}
@ -914,8 +916,14 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined, mode =
fetchOAuthToken(url, dataQuery['data_source_id'] || dataQuery['dataSourceId']);
}
const promiseStatus = query.kind === 'runpy' ? data?.data?.status : data.status;
if (promiseStatus === 'failed') {
const promiseStatus =
query.kind === 'tooljetdb'
? data.statusText
: query.kind === 'runpy'
? data?.data?.status ?? 'ok'
: data.status;
if (promiseStatus === 'failed' || promiseStatus === 'Bad Request') {
const errorData = query.kind === 'runpy' ? data.data : data;
return _self.setState(
{
@ -954,8 +962,8 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined, mode =
definition: { events: dataQuery.options.events },
});
if (mode !== 'view') {
const errorMessage = data.message || data.data.message;
toast.error(errorMessage);
const err = query.kind == 'tooljetdb' ? data.error : _.isEmpty(data.data) ? data : data.data;
toast.error(err.message);
}
}
);