From 1f1e9758c5e2bcc914de7923ecf5556851681c26 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 19 Mar 2024 17:23:14 +0000 Subject: [PATCH] Disabling aliasing for table creation, update and deletion. These operations don't require aliasing and so therefore it should be fully disabled. --- packages/server/src/api/controllers/row/alias.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/server/src/api/controllers/row/alias.ts b/packages/server/src/api/controllers/row/alias.ts index 1d586c54fd..60c207c8ce 100644 --- a/packages/server/src/api/controllers/row/alias.ts +++ b/packages/server/src/api/controllers/row/alias.ts @@ -23,6 +23,12 @@ const DISABLED_WRITE_CLIENTS: SqlClient[] = [ SqlClient.ORACLE, ] +const DISABLED_OPERATIONS: Operation[] = [ + Operation.CREATE_TABLE, + Operation.UPDATE_TABLE, + Operation.DELETE_TABLE, +] + class CharSequence { static alphabet = "abcdefghijklmnopqrstuvwxyz" counters: number[] @@ -59,13 +65,18 @@ export default class AliasTables { } isAliasingEnabled(json: QueryJson, datasource: Datasource) { + const operation = json.endpoint.operation const fieldLength = json.resource?.fields?.length - if (!fieldLength || fieldLength <= 0) { + if ( + !fieldLength || + fieldLength <= 0 || + DISABLED_OPERATIONS.includes(operation) + ) { return false } try { const sqlClient = getSQLClient(datasource) - const isWrite = WRITE_OPERATIONS.includes(json.endpoint.operation) + const isWrite = WRITE_OPERATIONS.includes(operation) const isDisabledClient = DISABLED_WRITE_CLIENTS.includes(sqlClient) if (isWrite && isDisabledClient) { return false