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