Updates
This commit is contained in:
@@ -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}`;
|
||||
}
|
||||
|
||||
@@ -1008,10 +1008,7 @@ export type ServerQueryParam<
|
||||
limit?: number;
|
||||
page?: number;
|
||||
offset?: number;
|
||||
order?: {
|
||||
field: keyof T;
|
||||
strategy: "ASC" | "DESC";
|
||||
};
|
||||
order?: ServerQueryParamOrder | ServerQueryParamOrder[];
|
||||
searchOperator?: (typeof ServerQueryOperators)[number];
|
||||
searchEquality?: (typeof ServerQueryEqualities)[number];
|
||||
addUserId?: {
|
||||
@@ -1024,6 +1021,13 @@ export type ServerQueryParam<
|
||||
[key: string]: any;
|
||||
};
|
||||
|
||||
export type ServerQueryParamOrder<
|
||||
T extends { [k: string]: any } = { [k: string]: any }
|
||||
> = {
|
||||
field: keyof T;
|
||||
strategy: "ASC" | "DESC";
|
||||
};
|
||||
|
||||
export type ServerQueryParamFullTextSearch<
|
||||
T extends { [k: string]: any } = { [k: string]: any }
|
||||
> = {
|
||||
|
||||
Reference in New Issue
Block a user