|  | @@ -6,7 +6,6 @@ const { addManyDokumen } = require('../../utils/dokumenFunction')
 | 
	
		
			
				|  |  |  const { cekSatuDataLaporan } = require('../../utils/cekData')
 | 
	
		
			
				|  |  |  const pemantauanModel = require('../../model/pemantauan.model')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  exports.add = handleError(async (req, res) => {
 | 
	
		
			
				|  |  |    const user = req.user
 | 
	
		
			
				|  |  |    const { id } = req.params
 | 
	
	
		
			
				|  | @@ -73,3 +72,61 @@ exports.add = handleError(async (req, res) => {
 | 
	
		
			
				|  |  |      data,
 | 
	
		
			
				|  |  |    })
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exports.edit = handleError(async (req, res) => {
 | 
	
		
			
				|  |  | +  const user = req.user
 | 
	
		
			
				|  |  | +  const { id } = req.params
 | 
	
		
			
				|  |  | +  const { judul, tanggal, evaluasi_id } = req.body
 | 
	
		
			
				|  |  | +  const isValid = validate(res, req.body, {
 | 
	
		
			
				|  |  | +    evaluasi_id: 'string',
 | 
	
		
			
				|  |  | +    judul: 'string|optional',
 | 
	
		
			
				|  |  | +    tanggal: { type: 'date', convert: true, optional: true },
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +  if (!isValid) return
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const laporan = await cekSatuDataLaporan(res, user, id, {
 | 
	
		
			
				|  |  | +    'evaluasi._id': evaluasi_id,
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +  if (!laporan) return
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const files = req.files
 | 
	
		
			
				|  |  | +  let dokumen_id
 | 
	
		
			
				|  |  | +  if (files.length) {
 | 
	
		
			
				|  |  | +    const dokumen = await addManyDokumen(files)
 | 
	
		
			
				|  |  | +    dokumen_id = dokumen.map((e) => e._id)
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  const data = await laporanModel.findOneAndUpdate(
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      _id: laporan._id,
 | 
	
		
			
				|  |  | +      jadwal: {
 | 
	
		
			
				|  |  | +        $exists: true,
 | 
	
		
			
				|  |  | +        $ne: null,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      'evaluasi._id': evaluasi_id,
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      $set: {
 | 
	
		
			
				|  |  | +        'evaluasi.$.judul': judul,
 | 
	
		
			
				|  |  | +        'evaluasi.$.tanggal': tanggal,
 | 
	
		
			
				|  |  | +        'evaluasi.$.dokumen': dokumen_id,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  await pemantauanModel.create({
 | 
	
		
			
				|  |  | +    laporan: laporan._id,
 | 
	
		
			
				|  |  | +    user: user._id,
 | 
	
		
			
				|  |  | +    action: 'EDIT EVALUASI',
 | 
	
		
			
				|  |  | +    pt_id: laporan.pt.id,
 | 
	
		
			
				|  |  | +    keterangan: 'Melakukan edit evaluasi',
 | 
	
		
			
				|  |  | +    dokumen: dokumen_id,
 | 
	
		
			
				|  |  | +    for_pt: false,
 | 
	
		
			
				|  |  | +    for_public: true,
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return response.success(res, {
 | 
	
		
			
				|  |  | +    message: 'Berhasil edit evaluasi',
 | 
	
		
			
				|  |  | +    data,
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +})
 |