Dateien nach "backend/src/tools/dateien" hochladen
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user