(FEAT): Can no delete, but it is buggy.

It selects the first element after a delete, not sure why and don't want
to worry about it right now.
This commit is contained in:
Hayden Hargreaves 2025-05-23 18:40:51 -07:00
parent 4cd88c6505
commit b31626dce9
2 changed files with 668 additions and 648 deletions

View File

@ -308,6 +308,20 @@ v1.post("/create", (req: Request, res: Response): void => {
res.status(201).json({ code: 201, message: "Success" });
});
v1.post("/delete", (req: Request, res: Response): void => {
// Get the array of paths and the root
const { files, root } = req.body;
// Delete the files
// NOTE: These are not moved somewhere, they're just raw deleted
for (const file of files) {
const absPath = "/" + path.join(...file);
rmSync(absPath, { recursive: true });
}
res.status(201).json({ code: 201, message: `Deleted ${files.length} files.` });
});
/**
* Files are not deleted from the file system, just moved to a hidden folder where
* they can be recovered if needed.

View File

@ -58,7 +58,7 @@ export default function Dashboard() {
return t;
};
useEffect(() => {
const fetchFiles = () => {
const getData = async (token) => {
const response = await fetch(`${backendUrl}/v1/children?path=/${path.join("/")}`, {
method: "GET",
@ -90,7 +90,10 @@ export default function Dashboard() {
});
setSelected([]);
};
useEffect(() => {
fetchFiles();
}, [path, uploading, creating]);
@ -398,7 +401,7 @@ export default function Dashboard() {
}
const remove = async (files) => {
const resp = await fetch(`${backendUrl}/v1/remove`, {
const resp = await fetch(`${backendUrl}/v1/delete`, {
method: "POST",
headers: {
"Content-Type": "application/json",
@ -426,6 +429,9 @@ export default function Dashboard() {
if (data.code === 201) {
console.log(data);
setSelected([]);
// Fetch the new files & deselect everything
fetchFiles();
}
}).catch((error) => {
setError(error);