checkData.js 638 B

1234567891011121314151617181920212223
  1. const response = require('../utils/responseHandler')
  2. module.exports = (fromField, callback, nameVariable = null) => async (req, res, next) => {
  3. const field = fromField.toString().split('.').pop()
  4. let data = null
  5. try {
  6. data = await callback(fromField(req))
  7. if (!Object.keys(data).length) {
  8. return response.error(res, {
  9. message: `${field} tidak ditemukan`,
  10. code: 404
  11. })
  12. }
  13. } catch (e) {
  14. return response.error(res, {
  15. message: e.message,
  16. code: e.response?.status || 500
  17. })
  18. }
  19. if (nameVariable) req.data[nameVariable] = data
  20. else req.data[field] = data
  21. return next()
  22. }