wisdom #64

Merged
zain_arif merged 4 commits from wisdom into main 2026-07-08 07:18:55 +00:00
3 changed files with 55 additions and 54 deletions

View File

@@ -155,15 +155,14 @@ const getDeviceReminderMonthlyDb = async (id) => {
return result.recordset;
};
const updateDeviceReminderMonthlyDb = async (deviceId, reminderMonthly, period) => {
const updateDeviceReminderMonthlyDb = async (deviceId, reminderMonthly) => {
const queryText = `
UPDATE m_device
SET reminder_at_monthly = $1,
period = $2
updated_at = CURRENT_TIMESTAMP
WHERE device_id = $2 AND deleted_at IS NULL
`;
await pool.query(queryText, [reminderMonthly, deviceId, period]);
await pool.query(queryText, [reminderMonthly, deviceId]);
return getDeviceByIdDb(deviceId);
};

View File

@@ -1,5 +1,8 @@
const express = require('express');
const router = express.Router();
const verifyToken = require("../middleware/verifyToken");
const verifyAccess = require("../middleware/verifyAccess");
const NotifikasiWaService = require('../services/notifikasi-wa.service');
router.post('/restart-wa', async (req, res) => {
@@ -11,18 +14,18 @@ router.post('/restart-wa', async (req, res) => {
}
});
router.post('/reminder-monthly/:id', async (req, res) => {
router.post('/reminder-monthly/:id', verifyToken.verifyAccessToken, verifyAccess(), async (req, res) => {
try {
const { id } = req.params;
const {reminder_at_monthly, period} = req.body
const result = await NotifikasiWaService.onMonthlyReminder(id, reminder_at_monthly, period);
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) => {
router.post('/reminder-custom/:id', verifyToken.verifyAccessToken, verifyAccess(), async (req, res) => {
try {
const { id } = req.params;
const { start_date, end_date } = req.body;
@@ -33,52 +36,51 @@ router.post('/reminder-custom/:id', async (req, res) => {
}
});
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.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
});
}
});
// 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
});
}
});
// 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;

View File

@@ -614,7 +614,7 @@ class NotifikasiWaService {
}
async onMonthlyReminder(deviceId, reminderMonthly, period) {
async onMonthlyReminder(deviceId, reminderMonthly) {
try {
const paramDb = {