From b6e348348190cd785aaa79d44e103865ceeb59c4 Mon Sep 17 00:00:00 2001 From: Michael Drury Date: Tue, 1 Feb 2022 20:59:26 +0000 Subject: [PATCH] Fixing issue with sql API after refactor. --- .../src/api/controllers/row/external.js | 75 ++++++------------- 1 file changed, 23 insertions(+), 52 deletions(-) diff --git a/packages/server/src/api/controllers/row/external.js b/packages/server/src/api/controllers/row/external.js index 0bd57d256f..66a1e30ca6 100644 --- a/packages/server/src/api/controllers/row/external.js +++ b/packages/server/src/api/controllers/row/external.js @@ -31,23 +31,21 @@ async function handleRequest(operation, tableId, opts = {}) { exports.handleRequest = handleRequest exports.patch = async ctx => { - const appId = ctx.appId const inputs = ctx.request.body const tableId = ctx.params.tableId const id = breakRowIdField(inputs._id) // don't save the ID to db delete inputs._id - return handleRequest(appId, DataSourceOperation.UPDATE, tableId, { + return handleRequest(DataSourceOperation.UPDATE, tableId, { id, row: inputs, }) } exports.save = async ctx => { - const appId = ctx.appId const inputs = ctx.request.body const tableId = ctx.params.tableId - return handleRequest(appId, DataSourceOperation.CREATE, tableId, { + return handleRequest(DataSourceOperation.CREATE, tableId, { row: inputs, }) } @@ -61,49 +59,35 @@ exports.fetchView = async ctx => { } exports.fetch = async ctx => { - const appId = ctx.appId const tableId = ctx.params.tableId - return handleRequest(appId, DataSourceOperation.READ, tableId) + return handleRequest(DataSourceOperation.READ, tableId) } exports.find = async ctx => { - const appId = ctx.appId const id = ctx.params.rowId const tableId = ctx.params.tableId - const response = await handleRequest( - appId, - DataSourceOperation.READ, - tableId, - { - id, - } - ) + const response = await handleRequest(DataSourceOperation.READ, tableId, { + id, + }) return response ? response[0] : response } exports.destroy = async ctx => { - const appId = ctx.appId const tableId = ctx.params.tableId const id = ctx.request.body._id - const { row } = await handleRequest( - appId, - DataSourceOperation.DELETE, - tableId, - { - id, - } - ) + const { row } = await handleRequest(DataSourceOperation.DELETE, tableId, { + id, + }) return { response: { ok: true }, row } } exports.bulkDestroy = async ctx => { - const appId = ctx.appId const { rows } = ctx.request.body const tableId = ctx.params.tableId let promises = [] for (let row of rows) { promises.push( - handleRequest(appId, DataSourceOperation.DELETE, tableId, { + handleRequest(DataSourceOperation.DELETE, tableId, { id: breakRowIdField(row._id), }) ) @@ -113,7 +97,6 @@ exports.bulkDestroy = async ctx => { } exports.search = async ctx => { - const appId = ctx.appId const tableId = ctx.params.tableId const { paginate, query, ...params } = ctx.request.body let { bookmark, limit } = params @@ -143,26 +126,21 @@ exports.search = async ctx => { [params.sort]: direction, } } - const rows = await handleRequest(appId, DataSourceOperation.READ, tableId, { + const rows = await handleRequest(DataSourceOperation.READ, tableId, { filters: query, sort, paginate: paginateObj, }) let hasNextPage = false if (paginate && rows.length === limit) { - const nextRows = await handleRequest( - appId, - DataSourceOperation.READ, - tableId, - { - filters: query, - sort, - paginate: { - limit: 1, - page: bookmark * limit + 1, - }, - } - ) + const nextRows = await handleRequest(DataSourceOperation.READ, tableId, { + filters: query, + sort, + paginate: { + limit: 1, + page: bookmark * limit + 1, + }, + }) hasNextPage = nextRows.length > 0 } // need wrapper object for bookmarks etc when paginating @@ -175,7 +153,6 @@ exports.validate = async () => { } exports.fetchEnrichedRow = async ctx => { - const appId = ctx.appId const id = ctx.params.rowId const tableId = ctx.params.tableId const { datasourceId, tableName } = breakExternalTableId(tableId) @@ -185,15 +162,10 @@ exports.fetchEnrichedRow = async ctx => { ctx.throw(400, "Datasource has not been configured for plus API.") } const tables = datasource.entities - const response = await handleRequest( - appId, - DataSourceOperation.READ, - tableId, - { - id, - datasource, - } - ) + const response = await handleRequest(DataSourceOperation.READ, tableId, { + id, + datasource, + }) const table = tables[tableName] const row = response[0] // this seems like a lot of work, but basically we need to dig deeper for the enrich @@ -212,7 +184,6 @@ exports.fetchEnrichedRow = async ctx => { // don't support composite keys right now const linkedIds = links.map(link => breakRowIdField(link._id)[0]) row[fieldName] = await handleRequest( - appId, DataSourceOperation.READ, linkedTableId, {