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:8445/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:8445/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) } const loginDev = ({username, password}) => new Promise((resolve) => { const data = [ { id: '28DB23AE-2976-47E0-9410-241A11EE1F88', username: 'rizqevo@outlook.com', password: 'kmnjhbvg', peran: [ { peran: { id: 2027, }, } ] }, { id: '52D3FB82-1578-498E-9C09-3AE13E4DBC61', username: 'sugiyanto@gmail.com', password: 'qwerty', peran: [ { peran: { id: 2024, }, } ] }, { id: '447C71BC-37F8-4D14-94AD-548E6B19400F', username: 'sugiyanti@gmail.com', password: 'asdfgh', peran: [ { peran: { id: 2025, }, } ] }, { id: '03B042F2-68EA-44AD-BA07-3E0B4E07F7E8', username: 'satyagama@gmail.com', password: 'zxcvbn', peran: [ { peran: { id: 2026, }, } ] } ] const user = data.find(e => e.username === username && e.password === password) if (user) { resolve(user) } else { resolve({ code: 400, message: 'Username atau password salah' }) } }) /** * * @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:8445/manakses/2.0/auth' token = coba.decrypt(process.env.AFA1T) } else { // return loginDev({ username, password }) } 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:8445/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:8445/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 ) }