| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- const handleError = require('../../utils/v1/handleError')
 
- const response = require('../../utils/responseHandler')
 
- const userModel = require('../../model/user.model')
 
- const { validate } = require('../../utils/v1/validation')
 
- const { addDokumen } = require('../../utils/dokumenFunction')
 
- const jwt = require('jsonwebtoken')
 
- const { TEMPLATE_VERIFIKASI, TRUE, FALSE,TEMPLATE_OTP } = require('../../utils/constanta')
 
- const pddiktiService = require('../../services/v2/pddikti.service')
 
- exports.addUserPublic = handleError(async (req, res) => {
 
-   const { no_laporan, pt_id, nama, email, no_hp, alamat, is_private, isVerify } = req.body
 
-   const isValid = validate(res, req.body, {
 
-     no_laporan: 'string',
 
-     pt_id: 'string',
 
-     is_private: { type: 'string', enum: [TRUE, FALSE] },
 
-   })
 
-   if (!isValid) return
 
-   const pt = await pddiktiService.getPT(pt_id)
 
-   if (pt.length === 0)
 
-     return response.error(res, {
 
-       message: 'pt_id tidak ditemukan',
 
-     })
 
-   let foto_id = null
 
-   const foto = req.file
 
-   if (foto) {
 
-     foto_id = await addDokumen(foto)
 
-   }
 
-   let no_hp2 = null
 
-   let no_verifikasi = null
 
-   if (no_hp) {
 
-     no_hp2 = no_hp.substring(0, 1) === '0' ? '62' + no_hp.substring(1) : no_hp
 
-     no_verifikasi = Math.floor(Math.random() * 1000000)
 
-   }
 
-   let level = 1
 
-   if (
 
-     no_laporan &&
 
-     pt_id &&
 
-     nama &&
 
-     email &&
 
-     no_hp &&
 
-     alamat &&
 
-     is_private &&
 
-     foto_id
 
-   ) {
 
-     level = 3
 
-   }
 
-   const user = await userModel.create({
 
-     nama,
 
-     email,
 
-     no_hp,
 
-     alamat,
 
-     isPublic: true,
 
-     isPrivate: is_private === TRUE,
 
-     foto: foto_id,
 
-     no_verifikasi,
 
-     verified: false,
 
-   })
 
-   let notif = null
 
-   if (isVerify !== FALSE && no_hp) {
 
-     pddiktiService.whatsapp(
 
-       TEMPLATE_OTP,
 
-       [{ name: nama || 'rahasia', number: no_hp2 }],
 
-       [{ key: 1, value: 'no_verifikasi', value_text: no_verifikasi }],
 
-       [{ index: 0, type: 'url', value: no_verifikasi }]
 
-     ).catch()
 
-   }
 
-   const accessToken = jwt.sign(
 
-     {
 
-       _id: user._id,
 
-       no_laporan,
 
-       level,
 
-     },
 
-     process.env.SRU51,
 
-     {
 
-       expiresIn: '30m',
 
-     }
 
-   )
 
-   data = {
 
-     token: `Bearer ${accessToken}`,
 
-   }
 
-   return response.success(res, {
 
-     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,
 
-   })
 
- })
 
 
  |