pemantauan.controller.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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('dokumen')
  21. return response.success(res, {
  22. message: 'Berhasil ambil data Pemantauan',
  23. data,
  24. })
  25. })
  26. exports.getPT = handleError(async (req, res) => {
  27. const user = req.user
  28. const { id } = req.params
  29. const data = await pemantauanModel
  30. .findOne({ $or: [{ laporan: id }, { sanksi: id }] })
  31. .populate({ path: 'riwayat.user', select: 'nama role isPublic isPrivate' })
  32. .populate('riwayat.dokumen')
  33. return response.success(res, {
  34. message: 'Berhasil ambil data Pemantauan',
  35. data,
  36. })
  37. })