fix: errors with feed datatables api endpoint

This commit is contained in:
Corban-Lee Jones 2025-04-23 14:09:59 +01:00
parent 98b9bb1fba
commit 130fa63f69

View File

@ -83,8 +83,8 @@ interface DataTableResponse {
}
interface DatatableQuery {
length: number;
start: number;
length: string;
start: string;
order: { column: string; dir: string }[];
columns: { [key: string]: { data: string; searchable: string }};
search: { value: string };
@ -94,11 +94,11 @@ interface DatatableQuery {
export const datatable = async (request: Request, response: Response) => {
const query = request.query as unknown as DatatableQuery;
const size: number = query.length || 10;
const start: number = query.start;
const size: number = Number(query.length) || 10;
const start: number = Number(query.start);
const order: string = (query.order && query.columns[query.order[0].column].data) || "id";
const direction: string = (query.order && query.order[0].dir) || "asc";
const search: string = query.search.value;
const search: string = query.search?.value || "";
let dbQuery: any = {};
@ -116,16 +116,19 @@ export const datatable = async (request: Request, response: Response) => {
);
}
const orderBy: any = {};
orderBy[order] = direction;
const data = await prisma.feed.findMany({
...dbQuery,
skip: start,
take: size,
orderBy: { order: direction },
orderBy: orderBy,
});
response.json(<DataTableResponse>{
data: data,
recordsFiltered: await prisma.feed.count(...dbQuery),
recordsFiltered: await prisma.feed.count({...dbQuery}),
recordsTotal: await prisma.feed.count()
});
};