const handleError = require('../../utils/v1/handleError') const response = require('../../utils/responseHandler') const pddiktiService = require('../../services/v2/pddikti.service') const { PTB_PT, PTB_LLDIKTI, PTB_DIKTI, PTB_ADMIN, PTB_READ } = require('../../utils/constanta') const roleId = require('../../middleware/role') 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 data = await pddiktiService.getPT(user.role.id === PTB_PT ? user.lembaga.id : null, { search, pembina }) return response.success(res, { message: 'Berhasil mengambil data Perguruan Tinggi', data: user.role.id === PTB_PT ? data[0] : data.filter((e) => e.id !== '4B4B23C1-8E0C-4825-89FA-765401C5E9C5'), }) }) exports.getOne = [ roleId([PTB_DIKTI, PTB_LLDIKTI, PTB_ADMIN, PTB_READ]), handleError(async (req, res) => { const user = req.user const { id } = req.params let data = await pddiktiService.getPT(id) data = data[0] if (user.role.id === PTB_LLDIKTI && 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 data = await pddiktiService.getPT(null, { search }) 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, }) })