pddikti.service.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. const axios = require('../../utils/axios')
  2. const coba = require('../../utils/coba')
  3. const qs = require('qs')
  4. const { PRODUCTION } = require('../../utils/constanta')
  5. /**
  6. *
  7. * @param id
  8. * @param query
  9. * @returns {Promise<*>}
  10. */
  11. exports.getPT = (id, query = {}) => {
  12. let token
  13. let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/pt'
  14. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  15. url = 'https://api.kemdikbud.go.id:8445/pddikti/1.2/pt'
  16. token = coba.decrypt(process.env.BEAT2)
  17. }
  18. const { search, pembina } = query
  19. if (id) url += '/' + id
  20. if (Object.keys(query).length) {
  21. url += '?'
  22. const parseUrl = []
  23. if (search) parseUrl.push(`q=${search}`)
  24. if (pembina) parseUrl.push(`pembina=${pembina}`)
  25. url += parseUrl.join('&')
  26. }
  27. return axios.get(
  28. url,
  29. token
  30. )
  31. }
  32. /**
  33. *
  34. * @param id
  35. * @param query
  36. * @returns {Promise<*>}
  37. */
  38. exports.getPembina = (id, query = {}) => {
  39. let token
  40. let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/lembaga-non-sp'
  41. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  42. url = 'https://api.kemdikbud.go.id:8445/pddikti/1.2/lembaga-non-sp'
  43. token = coba.decrypt(process.env.BEAT2)
  44. }
  45. const { search } = query
  46. if (Object.keys(query).length) {
  47. url += '?'
  48. const parseURL = []
  49. if (search) parseURL.push(`q=${search}`)
  50. url += parseURL.join('&')
  51. }
  52. return axios.get(url, token)
  53. }
  54. /**
  55. *
  56. * @param username
  57. * @param password
  58. * @returns {Promise<*>}
  59. */
  60. exports.login = ({ username, password }) => {
  61. let token
  62. let url = 'https://api.kemdikbud.go.id:8243/manakses/2.0/auth'
  63. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  64. url = 'https://api.kemdikbud.go.id:8445/manakses/2.0/auth'
  65. token = coba.decrypt(process.env.AFA1T)
  66. }
  67. return axios.post(
  68. url,
  69. qs.stringify({
  70. username,
  71. password
  72. }),
  73. token,
  74. {
  75. 'Content-Type': 'application/x-www-form-urlencoded'
  76. }
  77. )
  78. }
  79. /**
  80. *
  81. * @param ptKode
  82. * @param noSanksi
  83. * @param fromDate
  84. * @param pelanggaran
  85. * @param terimaSanksi
  86. * @returns {Promise<*>}
  87. */
  88. exports.updatePDDIKTI = ({ ptKode, noSanksi, fromDate, levelSanksi, terimaSanksi }) => {
  89. let token
  90. let url = `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${ptKode}/sanksi`
  91. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  92. url = `https://api.kemdikbud.go.id:8445/pddikti/1.2/pt/${ptKode}/sanksi`
  93. token = coba.decrypt(process.env.BEAT2)
  94. }
  95. return axios.post(
  96. url,
  97. {
  98. noSanksi: noSanksi,
  99. tmtBerlaku: fromDate,
  100. tstBerlaku: terimaSanksi,
  101. idJenisSanksi: levelSanksi,
  102. alasan: 'Penetapan sanksi'
  103. },
  104. token
  105. )
  106. }
  107. /**
  108. *
  109. * @param templateId
  110. * @param data
  111. * @param contacts
  112. * @param buttons
  113. * @returns {Promise<*>}
  114. */
  115. exports.whatsapp = (templateId, contacts, data, buttons = []) => {
  116. let token
  117. let url = 'https://api.kemdikbud.go.id:8243/qontak/1.0/send'
  118. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  119. url = 'https://api.kemdikbud.go.id:8445/qontak/1.0/send'
  120. token = coba.decrypt(process.env.R3AOP)
  121. }
  122. return axios.post(
  123. url,
  124. {
  125. templateId,
  126. contacts,
  127. body: data,
  128. buttons: buttons.map((e, index) => ({ ...e, index }))
  129. },
  130. token
  131. )
  132. }