diff --git a/src/server/controllers/guild/api/dt.module.ts b/src/server/controllers/guild/api/dt.module.ts index 1c19887..a321d5f 100644 --- a/src/server/controllers/guild/api/dt.module.ts +++ b/src/server/controllers/guild/api/dt.module.ts @@ -25,7 +25,7 @@ export const datatableRequest = async ( 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 ( ? { [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 ( } : {}; - 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,