From 9480952e194ddb49a471e0cba2741c7c8d9afd7c Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 30 Mar 2023 18:35:18 +0800 Subject: [PATCH] fix(nocodb): prevent saving bulk operation for v1 hooks --- packages/nocodb/src/lib/models/Hook.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/nocodb/src/lib/models/Hook.ts b/packages/nocodb/src/lib/models/Hook.ts index 02c4a393a1..1b0e0761a3 100644 --- a/packages/nocodb/src/lib/models/Hook.ts +++ b/packages/nocodb/src/lib/models/Hook.ts @@ -7,6 +7,7 @@ import { import Noco from '../Noco'; import NocoCache from '../cache/NocoCache'; import { extractProps } from '../meta/helpers/extractProps'; +import { NcError } from '../meta/helpers/catchError'; import Model from './Model'; import Filter from './Filter'; import HookFilter from './HookFilter'; @@ -187,8 +188,18 @@ export default class Hook implements HookType { 'retry_interval', 'timeout', 'active', + 'version', ]); + if ( + updateObj.version && + updateObj.operation && + updateObj.version === 'v1' && + ['bulkInsert', 'bulkUpdate', 'bulkDelete'].includes(updateObj.operation) + ) { + NcError.badRequest(`${updateObj.operation} not supported in v1 hook`); + } + if (updateObj.notification && typeof updateObj.notification === 'object') { updateObj.notification = JSON.stringify(updateObj.notification); }