| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | const laporanModel = require('../../../model/laporan.model')const { cekSatuDataLaporan } = require('../../../utils/v1/cekData')const handleError = require('../../../utils/v1/handleError')const response = require('../../../utils/responseHandler')const { validate } = require('../../../utils/v1/validation')const pemantauanModel = require('../../../model/pemantauan.model')const { PENJADWALAN, ADD_JADWAL } = require('../../../utils/constanta')exports.update = handleError(async (req, res) => {  const user = req.user  const { id } = req.params  const isValid = validate(res, req.body, {    judul: 'string',    dari_tanggal: { type: 'date', convert: true },    sampai_tanggal: { type: 'date', convert: true },    warna: 'string',  })  if (!isValid) return  const { judul, dari_tanggal, sampai_tanggal, warna } = req.body  const laporan = await cekSatuDataLaporan(res, user, id)  if (!laporan) return  let for_public = true  if (laporan.jadwal) {    for_public = false  }  const data = await laporanModel.findByIdAndUpdate(    laporan._id,    {      flag: PENJADWALAN,      jadwal: {        judul,        dari_tanggal,        sampai_tanggal,        warna,      },      $push: {        step: PENJADWALAN      }    },    {      new: true,    }  )  let message = 'Membuat Jadwal Pemeriksaan'  await pemantauanModel.create({    laporan: laporan._id,    user: user._id,    action: ADD_JADWAL,    pt_id: laporan.pt.id,    keterangan: message,    jadwal: {      dari_tanggal,      sampai_tanggal,    },    for_public,  })  return response.success(res, {    message: 'Berhasil ubah jadwal',    data,  })})
 |