fix: errors with feed datatables api endpoint
This commit is contained in:
parent
98b9bb1fba
commit
130fa63f69
@ -83,8 +83,8 @@ interface DataTableResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface DatatableQuery {
|
interface DatatableQuery {
|
||||||
length: number;
|
length: string;
|
||||||
start: number;
|
start: string;
|
||||||
order: { column: string; dir: string }[];
|
order: { column: string; dir: string }[];
|
||||||
columns: { [key: string]: { data: string; searchable: string }};
|
columns: { [key: string]: { data: string; searchable: string }};
|
||||||
search: { value: string };
|
search: { value: string };
|
||||||
@ -94,11 +94,11 @@ interface DatatableQuery {
|
|||||||
export const datatable = async (request: Request, response: Response) => {
|
export const datatable = async (request: Request, response: Response) => {
|
||||||
const query = request.query as unknown as DatatableQuery;
|
const query = request.query as unknown as DatatableQuery;
|
||||||
|
|
||||||
const size: number = query.length || 10;
|
const size: number = Number(query.length) || 10;
|
||||||
const start: number = query.start;
|
const start: number = Number(query.start);
|
||||||
const order: string = (query.order && query.columns[query.order[0].column].data) || "id";
|
const order: string = (query.order && query.columns[query.order[0].column].data) || "id";
|
||||||
const direction: string = (query.order && query.order[0].dir) || "asc";
|
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 = {};
|
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({
|
const data = await prisma.feed.findMany({
|
||||||
...dbQuery,
|
...dbQuery,
|
||||||
skip: start,
|
skip: start,
|
||||||
take: size,
|
take: size,
|
||||||
orderBy: { order: direction },
|
orderBy: orderBy,
|
||||||
});
|
});
|
||||||
|
|
||||||
response.json(<DataTableResponse>{
|
response.json(<DataTableResponse>{
|
||||||
data: data,
|
data: data,
|
||||||
recordsFiltered: await prisma.feed.count(...dbQuery),
|
recordsFiltered: await prisma.feed.count({...dbQuery}),
|
||||||
recordsTotal: await prisma.feed.count()
|
recordsTotal: await prisma.feed.count()
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user