yazid138 3 gadi atpakaļ
vecāks
revīzija
0388148b47

+ 16 - 4
controller/keberatan.controller.js

@@ -1,6 +1,5 @@
 const handleError = require('../utils/handleError')
 const sanksiModel = require('../model/sanksi.model')
-const { validate } = require('../utils/validation')
 const { addManyDokumen } = require('../utils/dokumenFunction')
 const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../utils/cekData')
 const response = require('../utils/responseHandler')
@@ -19,21 +18,34 @@ exports.create = handleError(async (req, res) => {
   if (!laporan || !sanksi) return
 
   const files = req.files
-  if (!files.length) {
+  if (!files?.length) {
     return response.error(res, {
       message: 'dokumen harus ada',
     })
   }
   const dokumen = await addManyDokumen(files)
   const dokumen_id = dokumen.map((e) => e._id)
-  sanksiModel.findOneAndUpdate(
-    { laporan: laporan._id, _id: sanksi._id },
+  const keberatan = await sanksiModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      _id: sanksi._id,
+      keberatan: { $exists: false, $eq: null },
+    },
     {
       keberatan: {
         dokumen: dokumen_id,
       },
     }
   )
+  if (!keberatan) {
+    return response.error(res, {
+      message: 'Keberatan sudah ada',
+    })
+  }
+  return response.success(res, {
+    data: keberatan,
+    message: 'Berhasil menambah keberatan',
+  })
 })
 
 exports.createJawaban = handleError(async (req, res) => {})

+ 2 - 2
controller/laporan.controller.js

@@ -65,7 +65,7 @@ exports.getAll = handleError(async (req, res) => {
   const user = req.user
   let data = await cekBanyakDataLaporan(user)
   return response.success(res, {
-    message: '',
+    message: 'Berhasil ambil data laporan',
     data,
   })
 })
@@ -76,7 +76,7 @@ exports.getOne = handleError(async (req, res) => {
   const data = await cekSatuDataLaporan(res, user, id)
   if (!data) return
   return response.success(res, {
-    message: 'Berhasil ngambil data Laporan',
+    message: 'Berhasil ambil data Laporan',
     data: user,
   })
 })

+ 1 - 2
utils/cekData.js

@@ -82,8 +82,7 @@ exports.cekSatuDataSanksi = async (res, user, sanksi_id, where = {}) => {
     })
     .populate('dokumen')
     .populate('pelanggaran')
-  sanksi = sanksi.filter((e) => e.laporan !== null)
-  if (!sanksi) {
+  if (!sanksi?.laporan) {
     response.error(res, {
       message: 'sanksi_id tidak ada',
       code: 404,