@tasolutions/express-core
Version:
All libs for express
33 lines (28 loc) • 1.15 kB
JavaScript
const Response = require('../../utils/response');
const { httpStatus } = require('../../utils/httpStatus');
const { mapHeadersAndCheckAuthorization } = require('../../utils/requestHeader');
const { authInfo } = require('../../config');
module.exports = {
/**
* This crud remove
*/
remove: async (req, res, Collection) => {
try {
let payloadFilter = { _id: req.params._id };
// Ánh xạ headers và kiểm tra quyền truy cập
const isAuthorized = await mapHeadersAndCheckAuthorization(req, payloadFilter, Collection);
if (!isAuthorized) {
return Response.error(res, 'User does not have permission to update the record.', httpStatus.FORBIDDEN);
}
// Merchant
if (authInfo.enableMerchant && !req.isSystemAdmin) {
const { merchant } = req.headers;
payloadFilter['merchant_id'] = merchant;
}
await Collection.deleteOne(payloadFilter);
return Response.success(res);
} catch (e) {
return Response.error(res, e.message);
}
}
}