const express = require('express'); const router = express.Router(); const NotifikasiWaService = require('../services/notifikasi-wa.service'); router.post('/restart-wa', async (req, res) => { try { const result = await NotifikasiWaService.restartWhatsapp(); return res.status(200).json(result); } catch (error) { return res.status(500).json(error); } }); router.post('/reminder-monthly/:id', async (req, res) => { try { const { id } = req.params; const {reminder_at_monthly} = req.body const result = await NotifikasiWaService.onMonthlyReminder(id, reminder_at_monthly); return res.status(200).json(result); } catch (error) { return res.status(500).json(error); } }); router.post('/reminder-custom/:id', async (req, res) => { try { const { id } = req.params; const {start_date, end_date} = req.body; const result = await NotifikasiWaService.onCustomReminder(id, start_date, end_date); return res.status(200).json(result); } catch (error) { return res.status(500).json(error); } }); router.get('/cron/jobs', async (req, res) => { try { const activeJobs = NotifikasiWaService.getActiveCronJobs(); return res.status(200).json({ success: true, total: activeJobs.length, jobs: activeJobs }); } catch (error) { return res.status(500).json({ success: false, message: error.message }); } }); router.delete('/cron/jobs/:deviceId', async (req, res) => { try { const { deviceId } = req.params; NotifikasiWaService.stopCronJob(deviceId); return res.status(200).json({ success: true, message: `Cron job untuk device ${deviceId} dihentikan` }); } catch (error) { return res.status(500).json({ success: false, message: error.message }); } }); // Endpoint untuk menghentikan semua cron job router.delete('/cron/jobs', async (req, res) => { try { NotifikasiWaService.stopAllCronJobs(); return res.status(200).json({ success: true, message: 'Semua cron job dihentikan' }); } catch (error) { return res.status(500).json({ success: false, message: error.message }); } }); module.exports = router;