From 12ff3d5b21a06953e71ae74526ce92bd77d30114 Mon Sep 17 00:00:00 2001 From: Fachba Date: Wed, 29 Apr 2026 16:28:58 +0700 Subject: [PATCH] feat: enhance notification and reminder services with logging and time tracking --- services/notification_error.service.js | 3 ++ services/notifikasi-wa.service.js | 44 ++++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/services/notification_error.service.js b/services/notification_error.service.js index 6d5d4fc..eb6215a 100644 --- a/services/notification_error.service.js +++ b/services/notification_error.service.js @@ -31,6 +31,7 @@ const { } = require("../db/notification_wa.db"); const { ErrorHandler } = require("../helpers/error"); +const { deleteReminder } = require("./notifikasi-wa.service"); class NotificationService { static async getAllNotification(param) { @@ -150,6 +151,8 @@ class NotificationService { const notification = Array.isArray(dataExist) ? dataExist[0] : dataExist; + await deleteReminder(notification_error_id) + if (notification.is_read === true) { return { success: true, message: "Notification has already been read" }; } diff --git a/services/notifikasi-wa.service.js b/services/notifikasi-wa.service.js index aceddb3..2f8b3fe 100644 --- a/services/notifikasi-wa.service.js +++ b/services/notifikasi-wa.service.js @@ -51,10 +51,28 @@ class NotifikasiWaService { existing = []; } - existing.push(data); + // 👉 selalu tambahkan waktu saat insert + const now = new Date(); + + const newData = { + ...data, + time: now.toLocaleTimeString('id-ID', { + hour: '2-digit', + minute: '2-digit', + hour12: false, + }), + created_at: now.toISOString() // opsional (full timestamp) + }; + + existing.push(newData); await fs.writeFile(filePath, JSON.stringify(existing, null, 2), 'utf-8'); + await this.saveLogReminder({ + message: `Reminder berhasil disimpan`, + data + }) + console.log(`Reminder berhasil disimpan`); } catch (error) { console.log('Error saveReminder:', error); @@ -81,7 +99,20 @@ class NotifikasiWaService { existing = []; } - existing.push(data); + // 👉 selalu tambahkan waktu saat insert + const now = new Date(); + + const newData = { + ...data, + time: now.toLocaleTimeString('id-ID', { + hour: '2-digit', + minute: '2-digit', + hour12: false, + }), + created_at: now.toISOString() // opsional (full timestamp) + }; + + existing.push(newData); await fs.writeFile(filePathLog, JSON.stringify(existing, null, 2), 'utf-8'); @@ -235,6 +266,10 @@ class NotifikasiWaService { this.saveReminder(newData); + await this.saveLogReminder({ + message: `Reminder ${id} berhasil dihapus` + }) + console.log(`Reminder ${id} berhasil dihapus`); return true; } @@ -471,6 +506,11 @@ class NotifikasiWaService { param.bodyMessage ); + await this.saveLogReminder({ + message: `Reminder dijalankan`, + resultSend + }) + await updateNotificationErrorUserDb( resultNotificationErrorUser[0].notification_error_user_id, {