From 7da60b488545a6ff9d5e9cd1afa267674c0e06c8 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Mon, 12 Sep 2022 15:26:49 +0530 Subject: [PATCH] fix(gui): on delete failure from child list show error message Signed-off-by: Pranav C --- packages/nc-gui/composables/useLTARStore.ts | 17 ++++++++++++++++- packages/nocodb-sdk/src/lib/Api.ts | 5 +++-- scripts/sdk/swagger.json | 7 ++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/packages/nc-gui/composables/useLTARStore.ts b/packages/nc-gui/composables/useLTARStore.ts index fb88755b67..f4daf4d3fb 100644 --- a/packages/nc-gui/composables/useLTARStore.ts +++ b/packages/nc-gui/composables/useLTARStore.ts @@ -193,7 +193,22 @@ const [useProvideLTARStore, useLTARStore] = useInjectionState( onOk: async () => { const id = getRelatedTableRowId(row) try { - $api.dbTableRow.delete(NOCO, projectId, relatedTableMeta.value.id as string, id as string) + const res: { message?: string[] } = await $api.dbTableRow.delete( + NOCO, + projectId, + relatedTableMeta.value.id as string, + id as string, + ) + + if (res.message) { + message.info( + `Row delete failed: ${`Unable to delete row with ID ${id} because of the following: + \n${res.message.join('\n')}.\n + Clear the data first & try again`})}`, + ) + return false + } + reloadData?.() /** reload child list if not a new row */ diff --git a/packages/nocodb-sdk/src/lib/Api.ts b/packages/nocodb-sdk/src/lib/Api.ts index 15647089b9..ee7f9ddf5a 100644 --- a/packages/nocodb-sdk/src/lib/Api.ts +++ b/packages/nocodb-sdk/src/lib/Api.ts @@ -2395,7 +2395,7 @@ export class Api< * @name Delete * @summary Table row delete * @request DELETE:/api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId} - * @response `200` `void` OK + * @response `200` `any` OK */ delete: ( orgs: string, @@ -2404,9 +2404,10 @@ export class Api< rowId: string, params: RequestParams = {} ) => - this.request({ + this.request({ path: `/api/v1/db/data/${orgs}/${projectName}/${tableName}/${rowId}`, method: 'DELETE', + format: 'json', ...params, }), diff --git a/scripts/sdk/swagger.json b/scripts/sdk/swagger.json index d484f4d2be..3c689efa22 100644 --- a/scripts/sdk/swagger.json +++ b/scripts/sdk/swagger.json @@ -3393,7 +3393,12 @@ "operationId": "db-table-row-delete", "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": {} + } + } } }, "tags": [