pddikti.service.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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:8443/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 query
  35. * @returns {Promise<*>}
  36. */
  37. exports.getPembina = (query = {}) => {
  38. let token
  39. let url = 'https://api.kemdikbud.go.id:8243/pddikti/1.2/lembaga-non-sp'
  40. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  41. url = 'https://api.kemdikbud.go.id:8443/pddikti/1.2/lembaga-non-sp'
  42. token = coba.decrypt(process.env.BEAT2)
  43. }
  44. const {search} = query
  45. if (Object.keys(query).length) {
  46. url += '?'
  47. const parseURL = []
  48. if (search) parseURL.push(`q=${search}`)
  49. url += parseURL.join('&')
  50. }
  51. return axios.get(url, token)
  52. }
  53. /**
  54. *
  55. * @param username
  56. * @param password
  57. * @returns {Promise<*>}
  58. */
  59. exports.login = ({username, password}) => {
  60. let token
  61. let url = 'https://api.kemdikbud.go.id:8243/manakses/2.0/auth'
  62. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  63. url = 'https://api.kemdikbud.go.id:8443/manakses/2.0/auth'
  64. token = coba.decrypt(process.env.AFA1T)
  65. }
  66. return axios.post(
  67. url,
  68. qs.stringify({
  69. username,
  70. password,
  71. }),
  72. token,
  73. {
  74. 'Content-Type': 'application/x-www-form-urlencoded'
  75. }
  76. )
  77. }
  78. /**
  79. *
  80. * @param ptKode
  81. * @param noSanksi
  82. * @param fromDate
  83. * @param pelanggaran
  84. * @param terimaSanksi
  85. * @returns {Promise<*>}
  86. */
  87. exports.updatePDDIKTI = ({ptKode, noSanksi, fromDate, pelanggaran, terimaSanksi}) => {
  88. let token
  89. let url = `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${ptKode}/sanksi`
  90. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  91. url = `https://api.kemdikbud.go.id:8443/pddikti/1.2/pt/${ptKode}/sanksi`
  92. token = coba.decrypt(process.env.BEAT2)
  93. }
  94. return axios.post(
  95. url,
  96. {
  97. noSanksi: noSanksi,
  98. tmtBerlaku: fromDate,
  99. tstBerlaku: terimaSanksi,
  100. idJenisSanksi: Math.max(...pelanggaran.map(e => e.level_sanksi)),
  101. alasan: 'Penetapan sanksi'
  102. },
  103. token
  104. )
  105. }
  106. /**
  107. *
  108. * @param templateId
  109. * @param data
  110. * @param contacts
  111. * @returns {Promise<*>}
  112. */
  113. exports.whatsapp = (templateId, data, contacts) => {
  114. let token
  115. let url = 'https://api.kemdikbud.go.id:8243/qontak/1.0/send'
  116. if (coba.decrypt(process.env.CXQSB) === PRODUCTION) {
  117. url = 'https://api.kemdikbud.go.id:8443/qontak/1.0/send'
  118. token = coba.decrypt(process.env.R3AOP)
  119. }
  120. return axios.post(
  121. url,
  122. {
  123. templateId,
  124. contacts,
  125. body: data
  126. },
  127. token
  128. )
  129. }