| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- const handleError = require('../../utils/v1/handleError')
- const response = require('../../utils/responseHandler')
- const axios = require('../../utils/axios')
- const coba = require('../../utils/coba')
- exports.getAll = handleError(async (req, res) => {
- const user = req.user
- const pembina = user.role.id === 2021 ? user.lembaga.id : req.query.pembina
- const { search } = req.query
- let apiDikti = coba.decrypt(process.env.CXQSB) === 'production' ? 'https://api.kemdikbud.go.id:8443/pddikti/1.2/pt' : 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt'
- let url =
- user.role.id === 2022
- ? apiDikti+`/${user.lembaga.id}`
- : apiDikti
- if (search || pembina) {
- url += '?'
- const parseUrl = []
- if (search) parseUrl.push(`q=${search}`)
- if (pembina) parseUrl.push(`pembina=${pembina}`)
- url += parseUrl.join('&')
- }
- let data = await axios.get(url)
- return response.success(res, {
- message: 'Berhasil mengambil data Perguruan Tinggi',
- data:
- user.role.id === 2022
- ? data[0]
- : data.filter((e) => e.id !== '4B4B23C1-8E0C-4825-89FA-765401C5E9C5'),
- })
- })
- exports.getOne = handleError(async (req, res) => {
- const user = req.user
- const { id } = req.params
- let url = coba.decrypt(process.env.CXQSB) === 'production' ? 'https://api.kemdikbud.go.id:8443/pddikti/1.2/pt' : 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt'
- let data = await axios.get(
- url+`/${id}`
- )
- data = data[0]
- if (user.role.id === 2021 && data.pembina.id !== user.lembaga.id) {
- return response.error(res, {
- message: 'pt_id tidak ada',
- code: 404,
- })
- }
- return response.success(res, {
- message: 'Berhasil mengambil satu data Perguruan Tinggi',
- data,
- })
- })
- exports.public = handleError(async (req, res) => {
- const { search } = req.query
- let url = coba.decrypt(process.env.CXQSB) === 'production' ? 'https://api.kemdikbud.go.id:8443/pddikti/1.2/pt' : 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt'
- if (search) {
- url += '?'
- const parseUrl = []
- if (search) parseUrl.push(`q=${search}`)
- url += parseUrl.join('&')
- }
- let data = await axios.get(url)
- data = data
- .map((e) => {
- return { id: e.id, nama: e.nama }
- })
- .filter((e) => e.id !== '4B4B23C1-8E0C-4825-89FA-765401C5E9C5')
- return response.success(res, {
- message: 'Berhasil mengambil data Perguruan Tinggi',
- data,
- })
- })
|