// lib/fetchAdminFiles.js import smbClient from "@/lib/smbClient"; import { verifyToken } from "@/lib/auth"; export async function fetchAdminFiles(pathSegments = []) { const authData = verifyToken(); if (authData.error || authData.role !== "admin") { throw new Error( "Zugriff verweigert. Nur Admins dürfen auf diesen Bereich zugreifen." ); } // Passe den Pfad an, um ohne "Niederlassungen" zu arbeiten const smbPath = pathSegments.join("\\"); console.log("fetchAdminFiles: Lade Dateien vom Pfad:", smbPath); try { const files = await new Promise((resolve, reject) => { smbClient.readdir(smbPath, (err, files) => { if (err) { console.error("Fehler beim Abrufen der Dateien:", err); reject(new Error(`Fehler beim Abrufen der Dateien: ${err.message}`)); } else { console.log("Dateien erfolgreich abgerufen:", files); resolve(files || []); } }); }); return files.map((fileName) => ({ name: fileName, type: fileName.includes(".") ? "file" : "folder", })); } catch (err) { console.error("Fehler beim Abrufen der Admin-Dateien:", err); return []; } }