diff --git a/dist/package-shared/api-paths/utils/checks.js b/dist/package-shared/api-paths/utils/checks.js index dd7ae7b..1fcbafa 100644 --- a/dist/package-shared/api-paths/utils/checks.js +++ b/dist/package-shared/api-paths/utils/checks.js @@ -53,6 +53,8 @@ function checks(_a) { if ((_e = newQuery === null || newQuery === void 0 ? void 0 : newQuery.searchQuery) === null || _e === void 0 ? void 0 : _e.join) { for (let i = 0; i < newQuery.searchQuery.join.length; i++) { const join = newQuery.searchQuery.join[i]; + if (!join) + continue; const joinTableName = join.tableName; const selectFields = join.selectFields; if (allowedTables === null || allowedTables === void 0 ? void 0 : allowedTables[0]) { diff --git a/dist/package-shared/functions/dsql/sql/sql-generator.js b/dist/package-shared/functions/dsql/sql/sql-generator.js index 3a5e58c..9ef6d64 100644 --- a/dist/package-shared/functions/dsql/sql/sql-generator.js +++ b/dist/package-shared/functions/dsql/sql/sql-generator.js @@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = sqlGenerator; +const lodash_1 = require("lodash"); const sql_gen_operator_gen_1 = __importDefault(require("./sql-gen-operator-gen")); /** * # SQL Query Generator @@ -170,6 +171,7 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) { str += "," + genObject.join + .filter((j) => !(0, lodash_1.isUndefined)(j)) .map((joinObj) => { const joinTableName = joinObj.alias ? joinObj.alias @@ -212,6 +214,7 @@ function sqlGenerator({ tableName, genObject, dbFullName, count }) { str += " " + genObject.join + .filter((j) => !(0, lodash_1.isUndefined)(j)) .map((join) => { return (join.joinType + " " + diff --git a/dist/package-shared/types/index.d.ts b/dist/package-shared/types/index.d.ts index 1302428..dae0f6b 100644 --- a/dist/package-shared/types/index.d.ts +++ b/dist/package-shared/types/index.d.ts @@ -851,7 +851,7 @@ export type ServerQueryParam[]; + join?: (ServerQueryParamsJoin | undefined)[]; group?: (keyof T)[]; countSubQueries?: ServerQueryParamsCount[]; fullTextSearch?: ServerQueryParamFullTextSearch; diff --git a/package-shared/api-paths/utils/checks.ts b/package-shared/api-paths/utils/checks.ts index 70249da..7bed9b6 100644 --- a/package-shared/api-paths/utils/checks.ts +++ b/package-shared/api-paths/utils/checks.ts @@ -77,6 +77,9 @@ export default async function checks< if (newQuery?.searchQuery?.join) { for (let i = 0; i < newQuery.searchQuery.join.length; i++) { const join = newQuery.searchQuery.join[i]; + + if (!join) continue; + const joinTableName = join.tableName; const selectFields = join.selectFields; diff --git a/package-shared/functions/dsql/sql/sql-generator.ts b/package-shared/functions/dsql/sql/sql-generator.ts index ad06cb5..5735b77 100644 --- a/package-shared/functions/dsql/sql/sql-generator.ts +++ b/package-shared/functions/dsql/sql/sql-generator.ts @@ -1,3 +1,4 @@ +import { isUndefined } from "lodash"; import { ServerQueryParam, ServerQueryParamOrder, @@ -43,7 +44,7 @@ export default function sqlGenerator< field, }: { queryObj: ServerQueryQueryObject[string]; - join?: ServerQueryParamsJoin[]; + join?: (ServerQueryParamsJoin | undefined)[]; field?: string; }) { const finalFieldName = (() => { @@ -247,6 +248,7 @@ export default function sqlGenerator< str += "," + genObject.join + .filter((j) => !isUndefined(j)) .map((joinObj) => { const joinTableName = joinObj.alias ? joinObj.alias @@ -294,6 +296,7 @@ export default function sqlGenerator< str += " " + genObject.join + .filter((j) => !isUndefined(j)) .map((join) => { return ( join.joinType + diff --git a/package-shared/types/index.ts b/package-shared/types/index.ts index 9bf1196..bb246b6 100644 --- a/package-shared/types/index.ts +++ b/package-shared/types/index.ts @@ -1043,7 +1043,7 @@ export type ServerQueryParam< addUserId?: { fieldName: keyof T; }; - join?: ServerQueryParamsJoin[]; + join?: (ServerQueryParamsJoin | undefined)[]; group?: (keyof T)[]; countSubQueries?: ServerQueryParamsCount[]; fullTextSearch?: ServerQueryParamFullTextSearch; diff --git a/package.json b/package.json index 420daf9..7f629f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "5.7.18", + "version": "5.7.19", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {