| 
					
				 | 
			
			
				@@ -87,6 +87,78 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+exports.update = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { no_surat, keterangan, from_date, to_date } = req.body 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let { pelanggaran_id } = req.body 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { sanksi_id } = req.params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const files = req.files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const user = req.user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const isValid = validate(res, req.body, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    no_surat: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    keterangan: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pelanggaran_id: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    from_date: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to_date: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!isValid) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const sanksi = await cekSatuDataSanksi(res, user, sanksi_id, { all: true }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!sanksi) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pelanggaran_id = await cekBanyakDataPelanggaran(res, pelanggaran_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!pelanggaran_id) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // const sanksi = await sanksiModel.findOne({ laporan: laporan_id }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // if (sanksi) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   return response.error(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //     message: 'Sanksi sudah ada', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!files.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return response.error(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: 'dokumen harus ada', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const dokumen = await addManyDokumen(files) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const dokumen_id = dokumen.map((e) => e._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const data = await sanksiModel.updateOne( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { _id: sanksi._id }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      perubahan_sanksi: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        no_surat, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pelanggaran: pelanggaran_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        keterangan, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dokumen: dokumen_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        masa_berlaku: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          from_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          to_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // await laporanModel.findByIdAndUpdate(laporan._id, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   sanksi: data._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   // aktif: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  await pemantauanModel.create({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    laporan: sanksi.laporan._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sanksi: sanksi._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    action: 'UPDATE SANKSI', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pt_id: sanksi.laporan.pt.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user: user._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    keterangan: 'Melakukan Perubahan Sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dokumen: dokumen_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return response.success(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    message: 'Berhasil merubah Sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.getAll = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const user = req.user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { 
			 |