This commit is contained in:
2025-12-05 06:33:20 +01:00
parent 57f06a631f
commit f91aff421c
5 changed files with 63 additions and 22 deletions
@@ -1,5 +1,6 @@
import {
ServerQueryParam,
ServerQueryParamOrder,
ServerQueryParamsJoin,
ServerQueryParamsJoinMatchObject,
ServerQueryQueryObject,
@@ -377,22 +378,38 @@ export default function sqlGenerator<
.join(",")}`;
}
if (genObject?.order && !count) {
function grabOrderString(order: ServerQueryParamOrder<T>) {
let orderFields = [];
let orderSrt = ` ORDER BY`;
let orderSrt = ``;
if (genObject?.fullTextSearch && genObject.fullTextSearch.scoreAlias) {
orderFields.push(genObject.fullTextSearch.scoreAlias);
} else if (genObject.join) {
} else if (genObject?.join) {
orderFields.push(
`${finalDbName}${tableName}.${String(genObject.order.field)}`
`${finalDbName}${tableName}.${String(order.field)}`
);
} else {
orderFields.push(genObject.order.field);
orderFields.push(order.field);
}
orderSrt += ` ${orderFields.join(", ")} ${genObject.order.strategy}`;
orderSrt += ` ${orderFields.join(", ")} ${order.strategy}`;
return orderSrt;
}
if (genObject?.order && !count) {
let orderSrt = ` ORDER BY`;
if (Array.isArray(genObject.order)) {
for (let i = 0; i < genObject.order.length; i++) {
const order = genObject.order[i];
orderSrt +=
grabOrderString(order) +
(i < genObject.order.length - 1 ? `,` : "");
}
} else {
orderSrt += grabOrderString(genObject.order);
}
queryString += ` ${orderSrt}`;
}