diff --git a/dist/package-shared/functions/dsql/sql/sql-generator.js b/dist/package-shared/functions/dsql/sql/sql-generator.js index 60fbb05..c5307a0 100644 --- a/dist/package-shared/functions/dsql/sql/sql-generator.js +++ b/dist/package-shared/functions/dsql/sql/sql-generator.js @@ -101,7 +101,7 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) { } let fullTextMatchStr = (genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch) ? ` MATCH(${genObject.fullTextSearch.fields - .map((f) => (genObject.join ? `${tableName}.${f}` : `${f}`)) + .map((f) => genObject.join ? `${tableName}.${String(f)}` : `${String(f)}`) .join(",")}) AGAINST (?)` : undefined; const fullTextSearchStr = (genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch) diff --git a/dist/package-shared/types/index.d.ts b/dist/package-shared/types/index.d.ts index 691f5f3..38113d9 100644 --- a/dist/package-shared/types/index.d.ts +++ b/dist/package-shared/types/index.d.ts @@ -828,11 +828,15 @@ export type ServerQueryParam[]; group?: (keyof T)[]; countSubQueries?: ServerQueryParamsCount[]; - fullTextSearch?: ServerQueryParamFullTextSearch; + fullTextSearch?: ServerQueryParamFullTextSearch; [key: string]: any; }; -export type ServerQueryParamFullTextSearch = { - fields: string[]; +export type ServerQueryParamFullTextSearch = { + fields: (keyof T)[]; searchTerm: string; /** Field Name to user to Rank the Score of Search Results */ scoreAlias: string; diff --git a/package-shared/functions/dsql/sql/sql-generator.ts b/package-shared/functions/dsql/sql/sql-generator.ts index d6dbc14..61a27ad 100644 --- a/package-shared/functions/dsql/sql/sql-generator.ts +++ b/package-shared/functions/dsql/sql/sql-generator.ts @@ -154,7 +154,9 @@ export default function sqlGenerator< let fullTextMatchStr = genObject?.fullTextSearch ? ` MATCH(${genObject.fullTextSearch.fields - .map((f) => (genObject.join ? `${tableName}.${f}` : `${f}`)) + .map((f) => + genObject.join ? `${tableName}.${String(f)}` : `${String(f)}` + ) .join(",")}) AGAINST (?)` : undefined; diff --git a/package-shared/types/index.ts b/package-shared/types/index.ts index 4f161d4..19e890b 100644 --- a/package-shared/types/index.ts +++ b/package-shared/types/index.ts @@ -1013,12 +1013,14 @@ export type ServerQueryParam< join?: ServerQueryParamsJoin[]; group?: (keyof T)[]; countSubQueries?: ServerQueryParamsCount[]; - fullTextSearch?: ServerQueryParamFullTextSearch; + fullTextSearch?: ServerQueryParamFullTextSearch; [key: string]: any; }; -export type ServerQueryParamFullTextSearch = { - fields: string[]; +export type ServerQueryParamFullTextSearch< + T extends { [k: string]: any } = { [k: string]: any } +> = { + fields: (keyof T)[]; searchTerm: string; /** Field Name to user to Rank the Score of Search Results */ scoreAlias: string; diff --git a/package.json b/package.json index f5955ca..a68cfc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "5.4.6", + "version": "5.4.7", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {