@tasolutions/express-core
Version:
All libs for express
31 lines (27 loc) • 1 kB
JavaScript
const Response = require('../../utils/response');
const { mapHeadersToQuery } = require('../../utils/requestHeader');
const queryUtil = require('../../utils/query.util');
module.exports = {
/**
* This crud count
*/
count: async (req, res, Collection, configs) => {
await mapHeadersToQuery(req, Collection);
if (configs.onlyOwner && req.userLogin && req.userLogin.userId) {
req.query.user_id = req.userLogin.userId;
}
if (configs.onlyAdminOwner && req.userLogin && req.userLogin.userId) {
req.query.admin_user_id = req.userLogin.userId;
}
let query = await queryUtil.getQuery(Collection, req);
try {
const result = {
total: await Collection.countDocuments(),
count: await Collection.countDocuments(query),
}
return Response.success(res, result);
} catch (e) {
return Response.error(res, e.message);
}
}
}