andi 2 年之前
父節點
當前提交
923e068262

+ 27 - 22
controller/auth.controller.js

@@ -41,12 +41,12 @@ exports.login = handleError(async (req, res) => {
     user_id: user.id,
   })
   let role = null
-  if (process.env.ENV === 'production') {
-    role = user.peran.filter((e) => roleDataProduction.includes(e.peran.id))[0]
-    role.peran.id = convertRole(role.peran.id)
-  } else {
+  //if (process.env.ENV === 'production') {
+  role = user.peran.filter((e) => roleDataProduction.includes(e.peran.id))[0]
+  role.peran.id = convertRole(role.peran.id)
+  /*} else {
     role = user.peran.filter((e) => roleData.includes(e.peran.id))[0]
-  }
+  }*/
   let dataRole = {
     id: role.peran.id,
     nama: role.peran.nama,
@@ -65,22 +65,22 @@ exports.login = handleError(async (req, res) => {
       isPrivate: false,
     })
   } else {
-    if (process.env.ENV === 'production') {
-      if (cekUser.role.id !== role.peran.id) {
-        await userModel.updateOne({ _id: cekUser._id }, { role: dataRole })
-      }
-      if (!cekUser.lembaga) {
-        await userModel.updateOne(
-          { _id: cekUser._id },
-          { lembaga: role.organisasi }
-        )
-      }
-      if (cekUser.role.id !== role.peran.id || !cekUser.lembaga) {
-        cekUser = await userModel.findOne({
-          user_id: user.id,
-        })
-      }
+    //if (process.env.ENV === 'production') {
+    if (cekUser.role.id !== role.peran.id) {
+      await userModel.updateOne({ _id: cekUser._id }, { role: dataRole })
+    }
+    if (!cekUser.lembaga) {
+      await userModel.updateOne(
+        { _id: cekUser._id },
+        { lembaga: role.organisasi }
+      )
     }
+    if (cekUser.role.id !== role.peran.id || !cekUser.lembaga) {
+      cekUser = await userModel.findOne({
+        user_id: user.id,
+      })
+    }
+    //}
   }
 
   const accessToken = jwt.sign({ _id: cekUser._id }, process.env.SECRET, {
@@ -93,7 +93,10 @@ exports.login = handleError(async (req, res) => {
   const now = new Date()
   const time = now.getTime()
   now.setTime(time + 24 * 60 * 60 * 1000)
-  res.cookie('sidali-cookie', accessToken, { httpOnly: true, expires: now })
+  res.cookie('sidali-cookie', accessToken, {
+    httpOnly: true,
+    expires: now,
+  })
 
   response.success(res, {
     message: 'Berhasil Login',
@@ -102,7 +105,9 @@ exports.login = handleError(async (req, res) => {
 })
 
 exports.logout = (req, res) => {
-  res.cookie('sidali-cookie', '', { expires: new Date() })
+  res.cookie('sidali-cookie', '', {
+    expires: new Date(),
+  })
 
   response.success(res, {
     message: 'Berhasil Logout',

+ 58 - 1
controller/laporan/evaluasi.controller.js

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

+ 1 - 1
controller/pelanggaran.controller.js

@@ -35,7 +35,7 @@ exports.sanksi = handleError(async (req, res) => {
   if (user.role.id === 2021) {
     w.level_sanksi = 1
   } else {
-    w.level_sanksi = 3
+    w.level_sanksi = { $in: [3, 2] }
     if (down === 'true') {
       w.level_sanksi = { $in: [1, 2] }
     }

+ 3 - 3
controller/user.controller.js

@@ -9,7 +9,7 @@ const jwt = require('jsonwebtoken')
 const { TEMPLATE_VERIFIKASI } = require('../utils/constanta')
 
 exports.addUserPublic = handleError(async (req, res) => {
-  const { no_laporan, pt_id, nama, email, no_hp, alamat, is_private } = req.body
+  const { no_laporan, pt_id, nama, email, no_hp, alamat, is_private, isVerify } = req.body
   const isValid = validate(res, req.body, {
     no_laporan: 'string',
     pt_id: 'string',
@@ -69,7 +69,7 @@ exports.addUserPublic = handleError(async (req, res) => {
   })
 
   let notif = null
-  if (no_hp) {
+  if (isVerify !== 'false' && no_hp) {
     notif = await notifWA2(
       TEMPLATE_VERIFIKASI,
       { nama: nama || 'rahasia', no_hp: no_hp2 },
@@ -95,8 +95,8 @@ exports.addUserPublic = handleError(async (req, res) => {
 
   data = {
     token: `Bearer ${accessToken}`,
-    no_hp_aktif: no_hp && notif[0].status == 'success' ? true : false,
   }
+  if (notif) data.no_hp = no_hp && notif[0].status == 'success' ? true : false
 
   return response.success(res, {
     data,

+ 1 - 0
routes/v1/laporan/evaluasi.routes.js

@@ -3,5 +3,6 @@ const evaluasi = require('../../../controller/laporan/evaluasi.controller')
 const handleDokumen = require('../../../utils/handleDokumen')
 
 router.post('/add/:id', handleDokumen.array('dokumen'), evaluasi.add)
+router.put('/edit/:id', handleDokumen.array('dokumen'), evaluasi.edit)
 
 module.exports = router