This commit is contained in:
Benjamin Toby 2025-09-03 13:18:06 +01:00
parent 1086b35b9d
commit 97f480c208
6 changed files with 30 additions and 4 deletions

View File

@ -11,7 +11,19 @@ const sql_equality_parser_1 = __importDefault(require("../../../utils/sql-equali
*/
function sqlGenOperatorGen({ fieldName, value, equality, }) {
if (value) {
if (equality == "LIKE") {
if (equality == "MATCH") {
return {
str: `MATCH(${fieldName}) AGAINST(? IN NATURAL LANGUAGE MODE)`,
param: value,
};
}
else if (equality == "MATCH_BOOLEAN") {
return {
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
param: value,
};
}
else if (equality == "LIKE") {
return {
str: `LOWER(${fieldName}) LIKE LOWER('%${value}%')`,
};

View File

@ -804,7 +804,7 @@ export type FetchApiReturn = {
[key: string]: any;
};
export declare const ServerQueryOperators: readonly ["AND", "OR"];
export declare const ServerQueryEqualities: readonly ["EQUAL", "LIKE", "LIKE_RAW", "NOT LIKE", "NOT LIKE_RAW", "NOT EQUAL", "REGEXP", "FULLTEXT", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "IS NULL", "IS NOT NULL", "EXISTS", "NOT EXISTS", "GREATER THAN", "GREATER THAN OR EQUAL", "LESS THAN", "LESS THAN OR EQUAL"];
export declare const ServerQueryEqualities: readonly ["EQUAL", "LIKE", "LIKE_RAW", "NOT LIKE", "NOT LIKE_RAW", "NOT EQUAL", "REGEXP", "FULLTEXT", "IN", "NOT IN", "BETWEEN", "NOT BETWEEN", "IS NULL", "IS NOT NULL", "EXISTS", "NOT EXISTS", "GREATER THAN", "GREATER THAN OR EQUAL", "LESS THAN", "LESS THAN OR EQUAL", "MATCH", "MATCH_BOOLEAN"];
export type ServerQueryParam<T extends {
[k: string]: any;
} = {

View File

@ -46,6 +46,8 @@ exports.ServerQueryEqualities = [
"GREATER THAN OR EQUAL",
"LESS THAN",
"LESS THAN OR EQUAL",
"MATCH",
"MATCH_BOOLEAN",
];
exports.DataCrudRequestMethods = [
"GET",

View File

@ -22,7 +22,17 @@ export default function sqlGenOperatorGen({
equality,
}: Params): Return {
if (value) {
if (equality == "LIKE") {
if (equality == "MATCH") {
return {
str: `MATCH(${fieldName}) AGAINST(? IN NATURAL LANGUAGE MODE)`,
param: value,
};
} else if (equality == "MATCH_BOOLEAN") {
return {
str: `MATCH(${fieldName}) AGAINST(? IN BOOLEAN MODE)`,
param: value,
};
} else if (equality == "LIKE") {
return {
str: `LOWER(${fieldName}) LIKE LOWER('%${value}%')`,
};

View File

@ -983,6 +983,8 @@ export const ServerQueryEqualities = [
"GREATER THAN OR EQUAL",
"LESS THAN",
"LESS THAN OR EQUAL",
"MATCH",
"MATCH_BOOLEAN",
] as const;
export type ServerQueryParam<

View File

@ -1,6 +1,6 @@
{
"name": "@moduletrace/datasquirel",
"version": "5.2.4",
"version": "5.2.5",
"description": "Cloud-based SQL data management tool",
"main": "dist/index.js",
"bin": {