Override the count route
Last updated
Last updated
//...
// Define an optimized count using reltuples
const countOptimized = async (request, response, next) => {
try {
const noFilterOrSearch = !request.query.search && !request.query.filter;
if (noFilterOrSearch) {
const result = await models.sequelize
.query("SELECT reltuples AS count FROM pg_class WHERE relname = 'users';");
const { count } = result[0][0];
response.send({ count });
} else {
next();
}
} catch (error) {
next(error);
}
};
// Send back the optimized count in the default count route
router.get('/users/count', ensureAuthenticated, permissionMiddlewareCreator.list(), countOptimized);
//...