From 180ab6dee715705c20fa2055ac963e97fa73bfcc Mon Sep 17 00:00:00 2001 From: Dicken Date: Thu, 28 May 2026 08:09:00 +0200 Subject: [PATCH] Dateien nach "backend/src/tools/dateien" hochladen --- backend/src/tools/dateien/routes.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/src/tools/dateien/routes.js b/backend/src/tools/dateien/routes.js index 883032b..5ead8db 100644 --- a/backend/src/tools/dateien/routes.js +++ b/backend/src/tools/dateien/routes.js @@ -150,7 +150,8 @@ router.get('/', authenticate, (req, res) => { SELECT DISTINCT f.*, u.username as owner, GROUP_CONCAT(su.username) as shared_with_names, MIN(s.created_at) as shared_at, - MAX(s.accessed_at) as accessed_at + MAX(s.accessed_at) as accessed_at, + MAX(CASE WHEN s.password_hash IS NOT NULL THEN 1 ELSE 0 END) as has_password FROM files f JOIN users u ON u.id=f.user_id JOIN file_shares s ON s.file_id=f.id JOIN users su ON su.id=s.shared_with @@ -162,7 +163,8 @@ router.get('/', authenticate, (req, res) => { let shared = []; if (!folderId) { shared = db.prepare(` - SELECT f.*, u.username as owner, sb.username as shared_by_name + SELECT f.*, u.username as owner, sb.username as shared_by_name, + CASE WHEN s.password_hash IS NOT NULL THEN 1 ELSE 0 END as has_password FROM files f JOIN users u ON u.id=f.user_id JOIN file_shares s ON s.file_id=f.id JOIN users sb ON sb.id=s.shared_by @@ -216,8 +218,8 @@ router.get('/:id/download', authenticate, async (req, res) => { const fp = path.join(UPLOAD_DIR, file.filename); if (!fs.existsSync(fp)) return res.status(404).json({ error: 'Datei fehlt' }); - // Zugriff tracken - if (share && !share.accessed_at) { + // Zugriff tracken (immer aktualisieren damit es sicher gesetzt wird) + if (share) { db.prepare("UPDATE file_shares SET accessed_at = datetime('now','localtime') WHERE file_id=? AND shared_with=?") .run(file.id, uid); }