fix: datatable count including entries from other guilds

This commit is contained in:
Corban-Lee Jones 2025-05-01 12:45:42 +01:00
parent 7ef8b88aab
commit 6b6af17731

View File

@ -25,7 +25,7 @@ export const datatableRequest = async <TOrderBy, TWhere>(
model: ModelDelegate,
defaultOrderBy: TOrderBy,
include?: object,
where?: object
baseWhere?: object
) => {
const query = request.body as unknown as DatatableQuery;
@ -33,7 +33,7 @@ export const datatableRequest = async <TOrderBy, TWhere>(
? { [query.columns[query.order[0].column].data]: query.order[0].dir } as unknown as TOrderBy
: defaultOrderBy;
const searchWhere = query.search?.value
let filterWhere = query.search?.value
? {
OR: Object.values(query.columns)
.filter(col => col.searchable)
@ -43,18 +43,18 @@ export const datatableRequest = async <TOrderBy, TWhere>(
}
: {};
where = { ...where, ...searchWhere };
filterWhere = { ...filterWhere, ...baseWhere };
const data = await model.findMany({
skip: query.start,
take: query.length,
orderBy,
where,
include,
orderBy: orderBy,
where: filterWhere,
include: include,
});
const recordsFiltered = await model.count({ where });
const recordsTotal = await model.count();
const recordsFiltered = await model.count({ where: filterWhere });
const recordsTotal = await model.count({ where: baseWhere });
response.json({
data,