const axios = require('../../utils/axios') const coba = require('../../utils/coba') const qs = require('qs') const { PRODUCTION } = require('../../utils/constanta') /** * * @param id * @param query * @returns {Promise<*>} */ exports.getPT = (id, query = {}) => { let token let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt' if (coba.decrypt(process.env.CXQSB) === PRODUCTION) { url = 'https://api.kemdikbud.go.id:8443/pddikti/1.2/pt' token = coba.decrypt(process.env.BEAT2) } const { search, pembina } = query if (id) url += '/' + id if (Object.keys(query).length) { url += '?' const parseUrl = [] if (search) parseUrl.push(`q=${search}`) if (pembina) parseUrl.push(`pembina=${pembina}`) url += parseUrl.join('&') } return axios.get( url, token ) } /** * * @param id * @param query * @returns {Promise<*>} */ exports.getPembina = (id, query = {}) => { let token let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/lembaga-non-sp' if (coba.decrypt(process.env.CXQSB) === PRODUCTION) { url = 'https://api.kemdikbud.go.id:8443/pddikti/1.2/lembaga-non-sp' token = coba.decrypt(process.env.BEAT2) } const { search } = query if (Object.keys(query).length) { url += '?' const parseURL = [] if (search) parseURL.push(`q=${search}`) url += parseURL.join('&') } return axios.get(url, token) } /** * * @param username * @param password * @returns {Promise<*>} */ exports.login = ({ username, password }) => { let token let url = 'https://api.kemdikbud.go.id:8243/manakses/2.0/auth' if (coba.decrypt(process.env.CXQSB) === PRODUCTION) { url = 'https://api.kemdikbud.go.id:8443/manakses/2.0/auth' token = coba.decrypt(process.env.AFA1T) } return axios.post( url, qs.stringify({ username, password }), token, { 'Content-Type': 'application/x-www-form-urlencoded' } ) } /** * * @param ptKode * @param noSanksi * @param fromDate * @param pelanggaran * @param terimaSanksi * @returns {Promise<*>} */ exports.updatePDDIKTI = ({ ptKode, noSanksi, fromDate, levelSanksi, terimaSanksi }) => { let token let url = `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${ptKode}/sanksi` if (coba.decrypt(process.env.CXQSB) === PRODUCTION) { url = `https://api.kemdikbud.go.id:8443/pddikti/1.2/pt/${ptKode}/sanksi` token = coba.decrypt(process.env.BEAT2) } return axios.post( url, { noSanksi: noSanksi, tmtBerlaku: fromDate, tstBerlaku: terimaSanksi, idJenisSanksi: levelSanksi, alasan: 'Penetapan sanksi' }, token ) } /** * * @param templateId * @param data * @param contacts * @param buttons * @returns {Promise<*>} */ exports.whatsapp = (templateId, contacts, data, buttons) => { let token let url = 'https://api.kemdikbud.go.id:8243/qontak/1.0/send' if (coba.decrypt(process.env.CXQSB) === PRODUCTION) { url = 'https://api.kemdikbud.go.id:8443/qontak/1.0/send' token = coba.decrypt(process.env.R3AOP) } return axios.post( url, { templateId, contacts, body: data, buttons: buttons.map((e, index) => ({ ...e, index })) }, token ) }