Changeset 9a34d31 in Klonkt
- Timestamp:
- 06/21/2026 06:41:31 PM (3 months ago)
- Branches:
- main
- Children:
- e25438a
- Parents:
- c9c6a2d
- Location:
- src
- Files:
-
- 2 edited
-
config/database.js (modified) (2 diffs)
-
services/NotificationService.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/config/database.js
rc9c6a2d r9a34d31 254 254 // Meldingen: iemand reageert op je reactie / post, of liket je post. Snapshots 255 255 // van naam/titel zodat de lijst goedkoop te tonen is zonder joins. 256 db.exec(` 257 CREATE TABLE IF NOT EXISTS notifications ( 256 // NB: bewust 'user_notifications' — sommige oudere DBs hebben nog een stale, 257 // ongebruikte 'notifications'-tabel met een ander schema (geen read-kolom). 258 db.exec(` 259 CREATE TABLE IF NOT EXISTS user_notifications ( 258 260 id TEXT PRIMARY KEY, 259 261 user_id TEXT NOT NULL, … … 267 269 created_at DATETIME DEFAULT CURRENT_TIMESTAMP 268 270 ); 269 CREATE INDEX IF NOT EXISTS idx_ notif_user ONnotifications(user_id, read, created_at);271 CREATE INDEX IF NOT EXISTS idx_unotif_user ON user_notifications(user_id, read, created_at); 270 272 `); 271 273 -
src/services/NotificationService.js
rc9c6a2d r9a34d31 13 13 try { 14 14 db.prepare(` 15 INSERT INTO notifications (id, user_id, type, actor_id, actor_name, post_slug, post_title, url, read)15 INSERT INTO user_notifications (id, user_id, type, actor_id, actor_name, post_slug, post_title, url, read) 16 16 VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0) 17 17 `).run(randomUUID(), userId, type, actorId || null, actorName || null, postSlug || null, postTitle || null, url || null); … … 21 21 export function unreadCount(userId) { 22 22 if (!userId) return 0; 23 try { return db.prepare('SELECT COUNT(*) AS c FROM notifications WHERE user_id = ? AND read = 0').get(userId).c; }23 try { return db.prepare('SELECT COUNT(*) AS c FROM user_notifications WHERE user_id = ? AND read = 0').get(userId).c; } 24 24 catch { return 0; } 25 25 } … … 27 27 export function list(userId, limit = 50) { 28 28 if (!userId) return []; 29 try { return db.prepare('SELECT * FROM notifications WHERE user_id = ? ORDER BY created_at DESC LIMIT ?').all(userId, limit); }29 try { return db.prepare('SELECT * FROM user_notifications WHERE user_id = ? ORDER BY created_at DESC LIMIT ?').all(userId, limit); } 30 30 catch { return []; } 31 31 } … … 33 33 export function markAllRead(userId) { 34 34 if (!userId) return; 35 try { db.prepare('UPDATE notifications SET read = 1 WHERE user_id = ? AND read = 0').run(userId); } catch { /* noop */ }35 try { db.prepare('UPDATE user_notifications SET read = 1 WHERE user_id = ? AND read = 0').run(userId); } catch { /* noop */ } 36 36 } 37 37
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)