| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // 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 [];
- }
- }
|