From dfd484dbca8e1b72beb4bb4fb009d17f72dcad46 Mon Sep 17 00:00:00 2001 From: Zhihe Li Date: Mon, 4 Dec 2023 16:41:57 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Add=20support=20for=20not?= =?UTF-8?q?=20equals=20in=20MQL=20expression=20parsing=20(#2029)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/utils/mqlQuery.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/api/addon/utils/mqlQuery.js b/addons/api/addon/utils/mqlQuery.js index 39e5535ae..94d18c44a 100644 --- a/addons/api/addon/utils/mqlQuery.js +++ b/addons/api/addon/utils/mqlQuery.js @@ -45,6 +45,8 @@ export function generateMQLFilterExpression(filterObj) { return lt(key, value); case 'lte': return lte(key, value); + case 'notEquals': + return notEquals(key, value); default: return equals(key, value); } @@ -105,6 +107,9 @@ const sanitize = (input) => input?.replace(/(["\\])/g, '\\$1'); const equals = (key, value) => !isEmpty(value) ? `${key} = "${sanitize(value)}"` : null; +const notEquals = (key, value) => + !isEmpty(value) ? `${key} != "${sanitize(value)}"` : null; + const contains = (key, value) => !isEmpty(value) ? `${key} % "${sanitize(value)}"` : null;