Use isExecutionSuccess flag to handle query execution errors

This commit is contained in:
Akash N 2020-06-10 12:25:52 +00:00 committed by Arpit Mohan
parent 58e75ee603
commit 69a65f7052

View File

@ -251,25 +251,29 @@ export function* executeQuerySaga(
},
timeout,
);
const isValidResponse = yield validateResponse(response);
const isExecutionSuccess = response.data.isExecutionSuccess;
if (response.responseMeta && response.responseMeta.error) {
throw response.responseMeta.error;
if (!isExecutionSuccess) {
throw Error(response.data.body.toString());
}
yield put({
type: ReduxActionTypes.RUN_QUERY_SUCCESS,
payload: {
data: response.data,
actionId: actionPayload.payload.actionId,
},
});
AppToaster.show({
message: "Query ran successfully",
type: ToastType.SUCCESS,
});
AnalyticsUtil.logEvent("RUN_QUERY", {
queryName: actionPayload.payload.action.name,
});
if (isValidResponse) {
yield put({
type: ReduxActionTypes.RUN_QUERY_SUCCESS,
payload: {
data: response.data,
actionId: actionPayload.payload.actionId,
},
});
AppToaster.show({
message: "Query ran successfully",
type: ToastType.SUCCESS,
});
AnalyticsUtil.logEvent("RUN_QUERY", {
queryName: actionPayload.payload.action.name,
});
}
} catch (error) {
yield put({
type: ReduxActionErrorTypes.RUN_QUERY_ERROR,