| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // lib/fetchAdminList.js
- import smbClient from "@/lib/smbClient";
- import { verifyToken } from "@/lib/auth";
- export async function fetchAdminList() {
- const authData = verifyToken();
- if (authData.error || authData.role !== "admin") {
- throw new Error(
- "Zugriff verweigert. Nur Admins dürfen auf diesen Bereich zugreifen."
- );
- }
- const smbPath = ""; // Wurzelverzeichnis für Niederlassungen
- try {
- const branches = await new Promise((resolve, reject) => {
- smbClient.readdir(smbPath, (err, files) => {
- if (err) {
- console.error("Fehler beim Abrufen der Niederlassungen:", err);
- reject(
- new Error(`Fehler beim Abrufen der Niederlassungen: ${err.message}`)
- );
- } else {
- const filteredFiles = files.filter(
- (file) => file !== "@Recently-Snapshot"
- );
- resolve(
- filteredFiles.map((branch) => ({
- name: branch,
- type: branch.includes(".") ? "file" : "folder",
- }))
- );
- }
- });
- });
- return branches;
- } catch (err) {
- console.error("Fehler beim Abrufen der Admin-Liste:", err);
- return [];
- }
- }
|