import { getDb } from './database.js'; /** * Create an in-app notification for a user. * Non-fatal — exceptions are swallowed so that the main operation is never blocked. * * @param {number} userId - Recipient user ID * @param {string} type - Notification type (room_share_added | room_share_removed | federation_invite_received) * @param {string} title - Short title (e.g. room name or "from" address) * @param {string|null} body - Optional longer message * @param {string|null} link - Optional frontend path to navigate to when clicked */ export async function createNotification(userId, type, title, body = null, link = null) { try { const db = getDb(); await db.run( 'INSERT INTO notifications (user_id, type, title, body, link) VALUES (?, ?, ?, ?, ?)', [userId, type, title, body, link], ); } catch { // Notifications are non-critical — never break main functionality } }