|
|
@@ -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,
|
|
|
+ })
|
|
|
+})
|