From bf47a66442b9f6216c71761c15d1ac1e276cb7c2 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 14 Jun 2021 13:52:06 +0100 Subject: [PATCH] Fixing internal delete. --- packages/builder/src/components/backend/DataTable/api.js | 7 +++++-- packages/client/src/api/rows.js | 9 ++++++--- packages/server/src/api/controllers/row/internal.js | 8 ++++---- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/api.js b/packages/builder/src/components/backend/DataTable/api.js index 43c685654..bac3b0127 100644 --- a/packages/builder/src/components/backend/DataTable/api.js +++ b/packages/builder/src/components/backend/DataTable/api.js @@ -14,8 +14,11 @@ export async function saveRow(row, tableId) { } export async function deleteRow(row) { - const DELETE_ROWS_URL = `/api/${row.tableId}/rows/${row._id}/${row._rev}` - return api.delete(DELETE_ROWS_URL) + const DELETE_ROWS_URL = `/api/${row.tableId}/rows` + return api.delete(DELETE_ROWS_URL, { + _id: row._id, + _rev: row._rev, + }) } export async function fetchDataForView(view) { diff --git a/packages/client/src/api/rows.js b/packages/client/src/api/rows.js index 87cc9a9d3..b1519801d 100644 --- a/packages/client/src/api/rows.js +++ b/packages/client/src/api/rows.js @@ -65,7 +65,11 @@ export const deleteRow = async ({ tableId, rowId, revId }) => { return } const res = await API.del({ - url: `/api/${tableId}/rows/${rowId}/${revId}`, + url: `/api/${tableId}/rows`, + body: { + _id: rowId, + _rev: revId, + } }) res.error ? notificationStore.danger("An error has occurred") @@ -84,11 +88,10 @@ export const deleteRows = async ({ tableId, rows }) => { if (!tableId || !rows) { return } - const res = await API.post({ + const res = await API.del({ url: `/api/${tableId}/rows`, body: { rows, - type: "delete", }, }) res.error diff --git a/packages/server/src/api/controllers/row/internal.js b/packages/server/src/api/controllers/row/internal.js index 8d27d9850..5ce276725 100644 --- a/packages/server/src/api/controllers/row/internal.js +++ b/packages/server/src/api/controllers/row/internal.js @@ -227,8 +227,8 @@ exports.find = async (ctx) => { exports.destroy = async function (ctx) { const appId = ctx.appId const db = new CouchDB(appId) - const { rowId, revId } = ctx.request.body - const row = await db.get(rowId) + const { _id, _rev } = ctx.request.body + const row = await db.get(_id) if (row.tableId !== ctx.params.tableId) { throw "Supplied tableId doesn't match the row's tableId" @@ -241,12 +241,12 @@ exports.destroy = async function (ctx) { }) if (ctx.params.tableId === InternalTables.USER_METADATA) { ctx.params = { - id: rowId, + id: _id, } await userController.destroyMetadata(ctx) return { response: ctx.body, row } } else { - const response = await db.remove(rowId, revId) + const response = await db.remove(_id, _rev) return { response, row } } }