const fs = require("fs"); function sendReminder(filePath, userId, channel) { const raw = fs.readFileSync(filePath, "utf8"); const state = JSON.parse(raw); const user = state.users.find((item) => item.id === userId); if (!user) { throw new Error("User not found"); } if (!user.remindersEnabled) { return { sent: false, reason: "disabled" }; } const hour = new Date().getHours(); if (hour < 8 || hour > 20) { return { sent: false, reason: "quiet-hours" }; } if (channel === "sms" && !user.phoneNumber) { return { sent: false, reason: "missing-phone" }; } user.lastReminderAt = new Date().toISOString(); fs.writeFileSync(filePath, JSON.stringify(state, null, 2)); console.log("Sent reminder", userId, channel); return { sent: true, channel }; } module.exports = { sendReminder };