fix: upload_share_logs Schritt entfernt - Dateien bereits in files Tabelle
This commit is contained in:
@@ -306,31 +306,8 @@ router.post('/webdav/sync', authenticate, requireAdmin, async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ── Schritt 3: Upload-Freigabe Dateien ────────────────────────────────
|
|
||||||
const uploadLogs = db.prepare(`
|
|
||||||
SELECT l.filename, l.originalname, l.mimetype, u.username
|
|
||||||
FROM upload_share_logs l
|
|
||||||
JOIN upload_shares s ON s.id = l.share_id
|
|
||||||
JOIN users u ON u.id = s.user_id
|
|
||||||
WHERE l.filename IS NOT NULL
|
|
||||||
`).all();
|
|
||||||
|
|
||||||
for (const log of uploadLogs) {
|
|
||||||
const localPath = nodePath.join(UPLOAD_DIR, log.filename);
|
|
||||||
if (!fs.existsSync(localPath)) continue;
|
|
||||||
try {
|
|
||||||
const buf = fs.readFileSync(localPath);
|
|
||||||
const base = webdav.userPath(cfg, log.username);
|
|
||||||
await webdav.uploadFile(buf, `${base}/_Upload-Freigaben/${log.originalname || log.filename}`, log.mimetype || 'application/octet-stream');
|
|
||||||
results.ok++;
|
|
||||||
} catch(e) {
|
|
||||||
results.failed++;
|
|
||||||
results.errors.push(`Upload-Freigabe ${log.originalname}: ${e.message}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
total: files.length + uploadLogs.length,
|
total: files.length,
|
||||||
...results,
|
...results,
|
||||||
message: `${results.folders} Ordner angelegt, ${results.ok} Dateien kopiert${results.failed ? ', ' + results.failed + ' fehlgeschlagen' : ' – alles erfolgreich ✓'}`,
|
message: `${results.folders} Ordner angelegt, ${results.ok} Dateien kopiert${results.failed ? ', ' + results.failed + ' fehlgeschlagen' : ' – alles erfolgreich ✓'}`,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user