jadwal.controller.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const laporanModel = require('../../model/laporan.model')
  2. const { cekSatuDataLaporan } = require('../../utils/cekData')
  3. const handleError = require('../../utils/handleError')
  4. const response = require('../../utils/responseHandler')
  5. const { validate } = require('../../utils/validation')
  6. exports.update = handleError(async (req, res) => {
  7. const user = req.user
  8. const { id } = req.params
  9. const isValid = validate(res, req.body, {
  10. judul: 'string',
  11. dari_tanggal: { type: 'date', convert: true },
  12. sampai_tanggal: { type: 'date', convert: true },
  13. warna: 'string',
  14. })
  15. if (!isValid) return
  16. const { judul, dari_tanggal, sampai_tanggal, warna } = req.body
  17. const laporan = await cekSatuDataLaporan(res, user, id)
  18. if (!laporan) return
  19. const data = await laporanModel.findByIdAndUpdate(
  20. laporan._id,
  21. {
  22. jadwal: {
  23. judul,
  24. dari_tanggal,
  25. sampai_tanggal,
  26. warna,
  27. },
  28. },
  29. {
  30. new: true,
  31. }
  32. )
  33. return response.success(res, {
  34. message: 'Berhasil ubah jadwal',
  35. data,
  36. })
  37. })