pemantauan.controller.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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({ path: 'sanksi', select: 'no_sanksi' })
  23. .populate('dokumen')
  24. return response.success(res, {
  25. message: 'Berhasil ambil data Pemantauan',
  26. data,
  27. })
  28. })
  29. exports.getPT = handleError(async (req, res) => {
  30. const user = req.user
  31. const data = await pemantauanModel
  32. .find({ pt: user.lembaga.id, for_pt: true })
  33. .populate({ path: 'user', select: 'nama role isPublic isPrivate' })
  34. .populate({ path: 'laporan', select: 'no_laporan' })
  35. .populate({ path: 'sanksi', select: 'no_sanksi' })
  36. .populate('dokumen')
  37. return response.success(res, {
  38. message: 'Berhasil ambil data Pemantauan',
  39. data,
  40. })
  41. })