| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | const handleError = require('../utils/handleError')const response = require('../utils/responseHandler')const userModel = require('../model/user.model')const { validate } = require('../utils/validation')const { notifWA2 } = require('../utils/notifFunction')const axios = require('../utils/axios')const { addDokumen } = require('../utils/dokumenFunction')const jwt = require('jsonwebtoken')exports.addUserPublic = handleError(async (req, res) => {  const { no_laporan, pt_id, nama, email, no_hp, alamat, is_private } = req.body  const isValid = validate(res, req.body, {    no_laporan: 'string',    pt_id: 'string',    nama: 'string',    email: 'email',    no_hp: 'string',    alamat: 'string',    is_private: { type: 'string', enum: ['true', 'false'] },  })  if (!isValid) return  const pt = await axios.get(    `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${pt_id}`  )  if (pt.length === 0)    return response.error(res, {      message: 'pt_id tidak ditemukan',    })  const foto = req.file  if (!foto) {    return response.error(res, {      message: 'foto harus ada',    })  }  const foto_id = await addDokumen(foto)  const no_verifikasi = Math.floor(Math.random() * 1000000)  const user = await userModel.create({    nama,    email,    no_hp,    alamat,    isPublic: true,    isPrivate: is_private === 'true',    foto: foto_id,    no_verifikasi,    verified: false,  })  await notifWA2('37a9ccba-e1bc-4d02-86e0-3be4c718af2a', { nama, no_hp }, [    { key: '1', value: 'pt', value_text: pt[0].nama },    { key: '3', value: 'no_verifikasi', value_text: no_verifikasi },    { key: '2', value: 'no_laporan', value_text: no_laporan },  ])  const accessToken = jwt.sign(    { _id: user._id, no_laporan },    process.env.SECRET,    {      expiresIn: '5m',    }  )  const data = {    token: `Bearer ${accessToken}`,  }  return response.success(res, {    data: data,    message: 'Berhasil menambah user',  })})exports.get = handleError((req, res) => {  const user = req.user  return response.success(res, {    message: 'Berhasil mengambil data user',    data: user,  })})
 |