From 5ae476551d9dbad096246799fe06c76340fdd46e Mon Sep 17 00:00:00 2001 From: dev Date: Wed, 9 Sep 2026 23:44:37 +0300 Subject: [PATCH] Fix trash: add missing deleted_at IS NOT NULL filter to main query --- server.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index 70b7463..b947300 100644 --- a/server.js +++ b/server.js @@ -2252,7 +2252,7 @@ app.get('/api/trash', requireAuth, async (req, res) => { const { limit, offset } = req.query; const bw = branchScope(req.user); const scoped = req.user.role !== 'admin'; - let where = ' WHERE 1=1'; + let where = ' WHERE e.deleted_at IS NOT NULL'; const params = []; if (scoped) { if (bw.ids.length) { @@ -2263,9 +2263,8 @@ app.get('/api/trash', requireAuth, async (req, res) => { } console.log(`[TRASH] User ${req.user.id} (${req.user.username}) role=${req.user.role} branch_ids=${JSON.stringify(bw.ids)} scoped=${scoped} where=${where} params=${JSON.stringify(params)}`); const { rows: crows } = await pool.query( - `SELECT count(*)::int AS n FROM entries e JOIN groups g ON g.id = e.group_id WHERE e.deleted_at IS NOT NULL` + - (scoped ? (bw.ids.length ? ` AND g.branch_id IN (${bw.ids.map((_, i) => `$${i + 1}`).join(',')})` : ' AND 1 = 0') : ''), - scoped ? bw.ids : [] + `SELECT count(*)::int AS n FROM entries e JOIN groups g ON g.id = e.group_id ${where}`, + params ); const total = crows[0].n; let q = `SELECT e.*, g.name AS group_name FROM entries e