import { File } from "./interfaces"; export default function files(pterodactyl: any) { return { async rename(from: File, newName: string) { console.log("rename", from); try { const response = await fetch( `${process.env.NEXT_PUBLIC_URL}/api/client/servers/${pterodactyl.server_id}/files/rename`, { method: "PUT", headers: await pterodactyl.helpers.authHeader(), body: JSON.stringify({ root: pterodactyl.workingDirectory, files: [ { from: from.attributes.name, to: newName, }, ], }), } ); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } console.log(response); } catch (error) { console.error("Error fetching data:", error); } }, async fetchFiles() { try { const response = await fetch( `${process.env.NEXT_PUBLIC_URL}/api/client/servers/${pterodactyl.server_id}/files/list?directory=${pterodactyl.workingDirectory}`, { method: "GET", headers: await pterodactyl.helpers.authHeader(), } ); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); return data.data; } catch (error) { console.error("Error fetching data:", error); } }, }; }