| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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',
- })
- })
|