diff --git a/backend/src/routes/adminDashboard.js b/backend/src/routes/adminDashboard.js index 268b9a1..b3456c6 100644 --- a/backend/src/routes/adminDashboard.js +++ b/backend/src/routes/adminDashboard.js @@ -122,7 +122,16 @@ router.get('/activity', adminAuth, async (req, res) => { actorType: activity.actor_type, actorName: activity.actor_name, eventName: activity.event_name, - metadata: activity.metadata ? JSON.parse(activity.metadata) : {}, + metadata: (() => { + try { + if (!activity.metadata) return {}; + if (typeof activity.metadata === 'object') return activity.metadata; + return JSON.parse(activity.metadata); + } catch (e) { + console.warn('Failed to parse metadata for activity:', activity.id, e.message); + return {}; + } + })(), createdAt: activity.created_at }));