Dateien nach "backend/src/tools/dateien" hochladen

This commit is contained in:
2026-05-27 08:38:07 +02:00
parent d44fa1d5fa
commit f46ef0d219

View File

@@ -90,7 +90,17 @@ router.get('/folders', authenticate, (req, res) => {
const totalSize = db.prepare('SELECT COALESCE(SUM(size),0) s FROM files WHERE folder_id=?').get(folder.id).s;
return { ...folder, fileCount, subCount, totalSize };
};
res.json({ own: own.map(enrichFolder), shared: shared.map(enrichFolder) });
// Folders shared BY me
const sharedByMeFolders = parentId ? [] : db.prepare(`
SELECT DISTINCT f.*, u.username as owner, GROUP_CONCAT(su.username) as shared_with_names
FROM folders f JOIN users u ON u.id=f.user_id
JOIN folder_shares fs ON fs.folder_id=f.id
JOIN users su ON su.id=fs.shared_with
WHERE f.user_id=?
GROUP BY f.id ORDER BY f.name
`).all(uid);
res.json({ own: own.map(enrichFolder), shared: shared.map(enrichFolder), sharedByMe: sharedByMeFolders.map(enrichFolder) });
});
// POST /folders
@@ -153,6 +163,16 @@ router.get('/', authenticate, (req, res) => {
const folderId = req.query.folder_id || null;
const own = db.prepare('SELECT f.*, u.username as owner FROM files f JOIN users u ON u.id=f.user_id WHERE f.user_id=? AND f.folder_id IS ? ORDER BY f.created_at DESC').all(uid, folderId);
// Files shared BY me
const sharedByMe = folderId ? [] : db.prepare(`
SELECT DISTINCT f.*, u.username as owner, GROUP_CONCAT(su.username) as shared_with_names
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
WHERE f.user_id=?
GROUP BY f.id ORDER BY f.created_at DESC
`).all(uid);
let shared = [];
if (!folderId) {
// Root: directly shared files
@@ -171,7 +191,7 @@ router.get('/', authenticate, (req, res) => {
shared = db.prepare('SELECT f.*, u.username as owner FROM files f JOIN users u ON u.id=f.user_id WHERE f.folder_id=? AND f.user_id=? ORDER BY f.created_at DESC').all(folderId, folder.user_id);
}
}
res.json({ own, shared });
res.json({ own, shared, sharedByMe });
});
// POST / Upload