Dateien nach "backend/src/tools/dateien" hochladen
This commit is contained in:
@@ -150,7 +150,8 @@ router.get('/', authenticate, (req, res) => {
|
|||||||
SELECT DISTINCT f.*, u.username as owner,
|
SELECT DISTINCT f.*, u.username as owner,
|
||||||
GROUP_CONCAT(su.username) as shared_with_names,
|
GROUP_CONCAT(su.username) as shared_with_names,
|
||||||
MIN(s.created_at) as shared_at,
|
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
|
FROM files f JOIN users u ON u.id=f.user_id
|
||||||
JOIN file_shares s ON s.file_id=f.id
|
JOIN file_shares s ON s.file_id=f.id
|
||||||
JOIN users su ON su.id=s.shared_with
|
JOIN users su ON su.id=s.shared_with
|
||||||
@@ -162,7 +163,8 @@ router.get('/', authenticate, (req, res) => {
|
|||||||
let shared = [];
|
let shared = [];
|
||||||
if (!folderId) {
|
if (!folderId) {
|
||||||
shared = db.prepare(`
|
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
|
FROM files f JOIN users u ON u.id=f.user_id
|
||||||
JOIN file_shares s ON s.file_id=f.id
|
JOIN file_shares s ON s.file_id=f.id
|
||||||
JOIN users sb ON sb.id=s.shared_by
|
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);
|
const fp = path.join(UPLOAD_DIR, file.filename);
|
||||||
if (!fs.existsSync(fp)) return res.status(404).json({ error: 'Datei fehlt' });
|
if (!fs.existsSync(fp)) return res.status(404).json({ error: 'Datei fehlt' });
|
||||||
|
|
||||||
// Zugriff tracken
|
// Zugriff tracken (immer aktualisieren damit es sicher gesetzt wird)
|
||||||
if (share && !share.accessed_at) {
|
if (share) {
|
||||||
db.prepare("UPDATE file_shares SET accessed_at = datetime('now','localtime') WHERE file_id=? AND shared_with=?")
|
db.prepare("UPDATE file_shares SET accessed_at = datetime('now','localtime') WHERE file_id=? AND shared_with=?")
|
||||||
.run(file.id, uid);
|
.run(file.id, uid);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user