From f93dcb6bf55031e0a2c9cf8d82197adf233b0fc1 Mon Sep 17 00:00:00 2001 From: Madpeter <57852827+Madpeterz@users.noreply.github.com> Date: Wed, 1 Jun 2022 16:20:37 +0100 Subject: [PATCH] add new inventory commands from main --- SecondBotEvents/Commands/Inventory.cs | 62 +++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/SecondBotEvents/Commands/Inventory.cs b/SecondBotEvents/Commands/Inventory.cs index e80bd72..4b15e87 100644 --- a/SecondBotEvents/Commands/Inventory.cs +++ b/SecondBotEvents/Commands/Inventory.cs @@ -424,5 +424,67 @@ namespace SecondBotEvents.Commands } return BasicReply(HelperInventory.MapFolderInventoryJson(getClient(), folder), "InventoryContents", new [] { folderUUID }); } + + [About("creates a folder in a folder")] + [ReturnHints("Ok")] + [ReturnHintsFailure("invaild parent folder UUID")] + [ReturnHintsFailure("new folder name is too short, must be longer than 3 characters.")] + [ArgHints("parentFolder", "UUID of folder to create a subfolder in")] + [ArgHints("folderName", "name of the new folder")] + public object CreateInventoryFolder(string parentFolder, string folderName, string token) + { + if (UUID.TryParse(parentFolder, out UUID parentFolderUUID) == false) + { + return Failure("invaild parent folder UUID", "CreateInventoryFolder", new[] { parentFolder }); + } + if (folderName.Length < 3) + { + return Failure("new folder name is too short, must be longer than 3 characters.", "CreateInventoryFolder", new[] { folderName }); + } + UUID folder = getClient().Inventory.CreateFolder(parentFolderUUID, folderName); + string uuid = folder.ToString(); + return BasicReply("Ok", "CreateInventoryFolder", new string[] { uuid }); + } + + + [About("moves an item to another folder")] + [ReturnHints("ok")] + [ReturnHintsFailure("invaild item uuid")] + [ReturnHintsFailure("invaild folder uuid")] + [ArgHints("item", "UUID of item to move")] + [ArgHints("folder", "UUID of destination folder")] + public object MoveInventoryItem(string item, string folder) + { + if (UUID.TryParse(item, out UUID itemUUID) == false) + { + return Failure("invaild item uuid", "MoveInventoryItem", new[] { item, folder }); + } + if (UUID.TryParse(folder, out UUID folderUUID) == false) + { + return Failure("invaild folder uuid", "MoveInventoryItem", new[] { item, folder }); + } + getClient().Inventory.MoveItem(itemUUID, folderUUID); + return BasicReply("Ok", "MoveInventoryItem", new string[] { item }); + } + + [About("moves a folder to another folder")] + [ReturnHints("ok")] + [ReturnHintsFailure("invaild source folder uuid")] + [ReturnHintsFailure("invaild dest folder uuid")] + [ArgHints("sourceFolder", "UUID of folder to move")] + [ArgHints("destFolder", "UUID of destination folder")] + public object MoveInventoryFolder(string sourceFolder, string destFolder) + { + if (UUID.TryParse(sourceFolder, out UUID sourceFolderUUID) == false) + { + return Failure("invaild source folder uuid", "MoveInventoryFolder", new[] { sourceFolder, destFolder }); + } + if (UUID.TryParse(destFolder, out UUID destFolderUUID) == false) + { + return Failure("invaild dest folder uuid", "MoveInventoryFolder", new[] { sourceFolder, destFolder }); + } + getClient().Inventory.MoveFolder(sourceFolderUUID, destFolderUUID); + return BasicReply("Ok", "MoveInventoryFolder", new string[] { sourceFolder, destFolder }); + } } }