const handleError = require('../utils/handleError') const response = require('../utils/responseHandler') const { notifWA } = require('../utils/notifFunction') const sanksiModel = require('../model/sanksi.model') const { TEMPLATE_KEBERATAN, TEMPLATE_BANDING } = require('../utils/constanta') exports.keberatan = handleError(async (req, res) => { const dataSanksi = await sanksiModel .find({ 'batas_waktu.keberatan': { $lt: new Date().toISOString(), }, 'batas_waktu.jawaban_keberatan': { $exists: false, $eq: null, }, }) .populate('user') .populate('laporan') if (!dataSanksi.length) { return response.success(res, { message: 'Tidak ada notifikasi yg dikirim', }) } Promise.all( dataSanksi.map( async (sanksi) => await notifWA(TEMPLATE_KEBERATAN, [ { key: '1', value: 'nama_pt', value_text: sanksi.laporan.pt.nama, }, { key: '2', value: 'pemberi_sanksi', value_text: sanksi.user.lembaga.nama, }, { key: '3', value: 'no_sanksi', value_text: sanksi.no_sanksi, }, ]) ) ) return response.success(res, { message: 'Notifikasi berhasil terkirim', }) }) exports.banding = handleError(async (req, res) => { const dataSanksi = await sanksiModel .find({ 'batas_waktu.banding': { $lt: new Date().toISOString(), }, 'batas_waktu.jawaban_banding': { $exists: false, $eq: null, }, 'batas_waktu.jawaban_keberatan': { $exists: true, $ne: null, }, }) .populate('user') .populate('laporan') if (!dataSanksi.length) { return response.success(res, { message: 'Tidak ada notifikasi yg dikirim', }) } Promise.all( dataSanksi.map( async (sanksi) => await notifWA(TEMPLATE_BANDING, [ { key: '1', value: 'nama_pt', value_text: sanksi.laporan.pt.nama, }, { key: '2', value: 'pemberi_sanksi', value_text: sanksi.user.lembaga.nama, }, { key: '3', value: 'no_sanksi', value_text: sanksi.no_sanksi, }, ]) ) ) return response.success(res, { message: 'Notifikasi berhasil terkirim', }) })