const auth = require('../../middleware/verifyToken') const kontakModel = require('../../model/kontak.model') const response = require('../../utils/responseHandler') const role = require('../../middleware/role') const checkData = require('../../middleware/checkData') const verifyOtp = require('../../middleware/verifyOTP') const { validation } = require('../../middleware/validation') const { PTB_PT } = require('../../utils/constanta') exports.getKontak = [ auth, role(PTB_PT), checkData((req) => req.user, (user) => kontakModel.find({ 'lembaga.id': user.lembaga.id, 'role.id': PTB_PT }), 'kontak'), async (req, res) => response.success(res, { status: 'success', message: 'Berhasil mendapatkan data kontak', data: req.data['kontak'] }) ] exports.addKontak = [ auth, ...verifyOtp, async (req, res) => { const user = req.user const no_hp = req.no_hp try { if (!await kontakModel.findOne({ 'lembaga.id': user.lembaga.id })) { await kontakModel.create({ nama: user.nama, no_hp, role: user.role, lembaga: user.lembaga, }) return response.success(res, { status: 'success', message: 'Berhasil menambahkan kontak', }) } await kontakModel.updateOne({ 'lembaga.id': user.lembaga.id }, { no_hp, }) return response.success(res, { status: 'success', message: 'Berhasil mengubah kontak' }) } catch (e) { return response.error(res, { message: e.message, code: e.response?.status || 500 }) } } ]