diff --git a/frontend/src/Editor/QueryManager/QueryEditors/TooljetDatabase/operations.js b/frontend/src/Editor/QueryManager/QueryEditors/TooljetDatabase/operations.js index 1acecf40c7..dcfe3dc449 100644 --- a/frontend/src/Editor/QueryManager/QueryEditors/TooljetDatabase/operations.js +++ b/frontend/src/Editor/QueryManager/QueryEditors/TooljetDatabase/operations.js @@ -59,6 +59,17 @@ async function listRows(queryOptions, organizationId, currentState) { if (!isEmpty(listRows)) { const { limit, where_filters: whereFilters, order_filters: orderFilters } = listRows; + + if (limit && isNaN(limit)) { + return { + status: 'failed', + statusText: 'failed', + message: 'Please provide a valid limit', + description: 'Limit should be a number', + data: {}, + }; + } + const whereQuery = buildPostgrestQuery(whereFilters); const orderQuery = buildPostgrestQuery(orderFilters); @@ -113,6 +124,16 @@ async function deleteRows(queryOptions, organizationId, currentState) { }; } + if (limit && isNaN(limit)) { + return { + status: 'failed', + statusText: 'failed', + message: 'Please provide a valid limit', + description: 'Limit should be a number', + data: {}, + }; + } + !isEmpty(whereQuery) && query.push(whereQuery); limit && limit !== '' && query.push(`limit=${limit}&order=id`); diff --git a/frontend/src/_helpers/appUtils.js b/frontend/src/_helpers/appUtils.js index 9a628de9f6..0a3ad3176a 100644 --- a/frontend/src/_helpers/appUtils.js +++ b/frontend/src/_helpers/appUtils.js @@ -817,7 +817,7 @@ export function previewQuery(_ref, query, editorState, calledFromQuery = false) switch (queryStatus) { case 'Bad Request': case 'failed': { - const err = query.kind == 'tooljetdb' ? data.error : _.isEmpty(data.data) ? data : data.data; + const err = query.kind == 'tooljetdb' ? data?.error || data : _.isEmpty(data.data) ? data : data.data; toast.error(`${err.message}`); break; } @@ -962,8 +962,8 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined, mode = definition: { events: dataQuery.options.events }, }); if (mode !== 'view') { - const err = query.kind == 'tooljetdb' ? data.error : _.isEmpty(data.data) ? data : data.data; - toast.error(err.message); + const err = query.kind == 'tooljetdb' ? data?.error || data : _.isEmpty(data.data) ? data : data.data; + toast.error(err?.message); } } );