diff --git a/src/main/java/fil/sr2/flopbox/FTPResource.java b/src/main/java/fil/sr2/flopbox/FTPResource.java index c495c8accad1ca6319fb549124ad4e231e46c205..55bbb713cb5b7433f6d187d93d80dee320d8b4f7 100644 --- a/src/main/java/fil/sr2/flopbox/FTPResource.java +++ b/src/main/java/fil/sr2/flopbox/FTPResource.java @@ -42,7 +42,6 @@ public class FTPResource { return Response.status(Response.Status.NOT_FOUND) .entity("Serveur FTP non trouvé").build(); } - FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(config.getHost(), config.getPort()); @@ -52,26 +51,21 @@ public class FTPResource { } ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - // Normaliser le chemin en retirant le slash final if (path.endsWith("/")) { path = path.substring(0, path.length() - 1); } - // Vérifier si le chemin est un répertoire FTPFile[] files = ftpClient.listFiles(path); if (files == null || files.length == 0) { return Response.status(Response.Status.NOT_FOUND) .entity("Ressource non trouvée : " + path).build(); } - // Construire la structure JSON FtpNode root = buildFtpTree(ftpClient, path); ftpClient.logout(); ftpClient.disconnect(); - return Response.ok(root).build(); - } catch (IOException e) { return Response.status(Response.Status.INTERNAL_SERVER_ERROR) .entity("Erreur FTP : " + e.getMessage()).build(); @@ -82,7 +76,6 @@ public class FTPResource { private FtpNode buildFtpTree(FTPClient ftpClient, String path) throws IOException { FTPFile[] files = ftpClient.listFiles(path); FtpNode node = new FtpNode(getFileName(path), true); // Root est un dossier - if (files != null) { for (FTPFile file : files) { String fullPath = path + "/" + file.getName(); @@ -191,7 +184,6 @@ public class FTPResource { FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias); ftp.connect(config.getHost(), config.getPort()); ftp.login(user, pass); - // Déterminer le type de ressource via le header if ("directory".equalsIgnoreCase(resourceType)) { boolean dirCreated = ftp.makeDirectory(path); @@ -205,7 +197,6 @@ public class FTPResource { ? Response.created(URI.create(path)).build() : Response.status(400).entity("Erreur création fichier").build(); } - } catch (IOException e) { return Response.serverError().entity("Erreur FTP: " + e.getMessage()).build(); } finally { @@ -235,14 +226,11 @@ public class FTPResource { FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias); ftp.connect(config.getHost(), config.getPort()); ftp.login(user, pass); - // Appel à la méthode récursive pour supprimer la ressource boolean deleted = deleteRecursive(ftp, path); - return deleted ? Response.noContent().build() : Response.status(Response.Status.NOT_FOUND).entity("Ressource non trouvée").build(); - } catch (IOException e) { return Response.serverError().entity("Erreur FTP : " + e.getMessage()).build(); } finally { @@ -262,14 +250,12 @@ public class FTPResource { if (ftp.deleteFile(path)) { return true; } - // Si ce n'est pas un fichier, vérifie si c'est un répertoire FTPFile[] files = ftp.listFiles(path); if (files == null) { // Le chemin n'existe pas return false; } - // Supprime récursivement le contenu du répertoire for (FTPFile file : files) { String fullPath = path + "/" + file.getName(); @@ -283,7 +269,6 @@ public class FTPResource { } } } - // Supprime le répertoire lui-même return ftp.removeDirectory(path); } @@ -304,7 +289,6 @@ public class FTPResource { FTPServerConfig config = FTPServerRepository.getInstance().getServer(alias); ftp.connect(config.getHost(), config.getPort()); ftp.login(user, pass); - System.out.print(oldPath + " " + newPath); boolean success = ftp.rename(oldPath, newPath); return success