pemantauan.controller.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const axios = require('../utils/axios')
  2. const handleError = require('../utils/handleError')
  3. const response = require('../utils/responseHandler')
  4. const pemantauanModel = require('../model/pemantauan.model')
  5. const { cekSatuDataLaporan, cekSatuDataSanksi } = require('../utils/cekData')
  6. exports.get = handleError(async (req, res) => {
  7. const user = req.user
  8. const { pt_id } = req.params
  9. const pt = await axios.get(
  10. `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${pt_id}`
  11. )
  12. if (!pt) {
  13. return response.error(res, {
  14. message: 'pt_id tidak ditemukan',
  15. })
  16. }
  17. const data = await pemantauanModel
  18. .find({ pt_id })
  19. .populate({ path: 'user', select: 'nama role isPublic isPrivate' })
  20. .populate({ path: 'sanksi', select: 'no_sanksi' })
  21. .populate({ path: 'laporan', select: 'no_laporan' })
  22. .populate('dokumen')
  23. return response.success(res, {
  24. message: 'Berhasil ambil data Pemantauan',
  25. data,
  26. })
  27. })
  28. exports.getPT = handleError(async (req, res) => {
  29. const user = req.user
  30. const data = await pemantauanModel
  31. .find({ pt: user.lembaga.id, for_pt: true })
  32. .populate({ path: 'riwayat.user', select: 'nama role isPublic isPrivate' })
  33. .populate('riwayat.dokumen')
  34. return response.success(res, {
  35. message: 'Berhasil ambil data Pemantauan',
  36. data,
  37. })
  38. })