From cc107251c293bacd5bbc302c9bca2f5746cf1603 Mon Sep 17 00:00:00 2001 From: Leonardo <leomilho@gmail.com> Date: Mon, 27 Jan 2025 13:01:28 +0100 Subject: [PATCH] fix(cypher): equals to an empty string use like op --- src/utils/cypher/converter/logic.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/utils/cypher/converter/logic.ts b/src/utils/cypher/converter/logic.ts index 0fec27a..2e81c85 100644 --- a/src/utils/cypher/converter/logic.ts +++ b/src/utils/cypher/converter/logic.ts @@ -1,5 +1,6 @@ import type { AnyStatement } from 'ts-common/src/model/query/logic/general'; import type { QueryCacheData } from './model'; +import { log } from 'ts-common/src/logger/logger'; export function createWhereLogic(op: string, left: string, whereLogic: string, cacheData: QueryCacheData): [string, string] { const newWhereLogic = `${left.replace('.', '_')}_${op}`; @@ -32,6 +33,7 @@ export function extractLogicCypher(logicQuery: AnyStatement, cacheData: QueryCac case 'object': if (Array.isArray(logicQuery)) { let op = logicQuery[0].replace('_', '').toLowerCase(); + const right = logicQuery?.[2]; const [left, whereLogic] = extractLogicCypher(logicQuery[1], cacheData); let whereLogicMutable = whereLogic; @@ -40,7 +42,8 @@ export function extractLogicCypher(logicQuery: AnyStatement, cacheData: QueryCac op = '<>'; break; case '==': - op = '='; + if (right === '".*"') op = '=~'; // in case "equals to <empty string>", this is what happens + else op = '='; break; case 'like': op = '=~'; -- GitLab