diff --git a/.gitignore b/.gitignore index bc78471..dfaae32 100644 --- a/.gitignore +++ b/.gitignore @@ -482,3 +482,6 @@ $RECYCLE.BIN/ # Vim temporary swap files *.swp + +*.sh +publish-bins/ diff --git a/Commands/DeleteCommand.cs b/Commands/DeleteCommand.cs index b6c0b27..2ac2a03 100644 --- a/Commands/DeleteCommand.cs +++ b/Commands/DeleteCommand.cs @@ -10,28 +10,52 @@ namespace TBDel.Commands var dbService = new DbService(); if (args.Length > 1 && uint.TryParse(args[1], out uint id)) { - Console.WriteLine($"Deleting entry with ID: {id}"); - bool fileDeleted = await dbService.RemoveFileEntryAsync(id); - bool folderDeleted = await dbService.RemoveFolderEntryAsync(id); - - if (fileDeleted || folderDeleted) - { - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine("Entry deleted successfully."); - Console.ResetColor(); - } - else + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine($"Are you sure you want to permanently delete entry with ID {id}? (y/N)"); + Console.ResetColor(); + var input = Console.ReadLine(); + if (input != "y") { Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("Something went wrong. Entry not found."); + Console.WriteLine("Operation cancelled."); Console.ResetColor(); + return; } - } - else - { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("Invalid or missing ID argument."); - Console.ResetColor(); + + if (File.Exists(args[1])) + { + File.Delete(args[1]); + if (await dbService.RemoveFileEntryAsync(id)) + { + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("File deleted successfully."); + Console.ResetColor(); + } + else + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Something went wrong while deleting the file."); + Console.ResetColor(); + } + } + else if (Directory.Exists(args[1])) + { + Directory.Delete(args[1]); + if (await dbService.RemoveFolderEntryAsync(id)) + { + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("Directory deleted successfully."); + Console.ResetColor(); + } + else + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Something went wrong while deleting the directory."); + Console.ResetColor(); + } + } + + } } } diff --git a/Commands/HelpCommand.cs b/Commands/HelpCommand.cs index 62b36bc..e056411 100644 --- a/Commands/HelpCommand.cs +++ b/Commands/HelpCommand.cs @@ -20,7 +20,7 @@ public static class HelpCommand Console.WriteLine("Usage: tbdel [arguments]"); Console.WriteLine("Available commands:"); Console.WriteLine(" add Add a file or folder to the list"); - Console.WriteLine(" delete Deletes a file or folder from the list"); + Console.WriteLine(" delete Deletes a file or folder"); Console.WriteLine(" deleteall Deletes all items in the list"); Console.WriteLine(" list Lists all items in the list"); Console.WriteLine(" help Shows this help message");