pt.controller.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const axios = require('../utils/axios')
  2. const handleError = require('../utils/handleError')
  3. const response = require('../utils/responseHandler')
  4. exports.getAll = handleError(async (req, res) => {
  5. const user = req.user
  6. const pembina = user.role.id === 2021 ? user.lembaga.id : req.query.pembina
  7. const { search } = req.query
  8. let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt'
  9. if (search || pembina) {
  10. url += '?'
  11. const parseURL = []
  12. if (search) parseURL.push(`q=${search}`)
  13. if (pembina) parseURL.push(`pembina=${pembina}`)
  14. url += parseURL.join('&')
  15. }
  16. const data = await axios.get(url)
  17. return response.success(res, {
  18. message: 'Berhasil mengambil data Perguruan Tinggi',
  19. data,
  20. })
  21. })
  22. exports.getOne = handleError(async (req, res) => {
  23. const user = req.user
  24. const { id } = req.params
  25. let data = await axios.get(
  26. `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${id}`
  27. )
  28. data = data[0]
  29. if (user.role.id === 2021 && data.pembina.id !== user.lembaga.id) {
  30. return response.error(res, {
  31. message: 'pt_id tidak ada',
  32. code: 404,
  33. })
  34. }
  35. return response.success(res, {
  36. message: 'Berhasil mengambil satu data Perguruan Tinggi',
  37. data,
  38. })
  39. })