fix: errors with feed datatables api endpoint
This commit is contained in:
parent
98b9bb1fba
commit
130fa63f69
@ -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()
|
||||
});
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user