@tasolutions/express-core
Version:
All libs for express
33 lines (28 loc) • 974 B
JavaScript
const Response = require('../../utils/v1Response');
const queryUtil = require('../../utils/query.util');
const { mapHeadersToQuery } = require('../../utils/requestHeader');
module.exports = {
/**
* This crud count
*/
count: async (req, res, Collection) => {
const moduleName = Collection.collection.collectionName;
await mapHeadersToQuery(req, Collection);
let query = await queryUtil.getQuery(Collection, req);
try {
const result = {
total: await Collection.countDocuments(),
count: await Collection.countDocuments(query),
}
const crudOptions = {
type: 'CRUD',
action: 'COUNT',
typeName: moduleName,
options: {}
};
return Response.success(req, res, result, {}, crudOptions);
} catch (e) {
return Response.error(req, res, e);
}
}
}