mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 03:06:05 +08:00
Added MoveItems, which is most useful upon viewer-delete inventory operation. Moving a batch of items is a 1-time operation. Made it async anyway, so that the viewer doesn't wait in case the DB layer is dumb (which is the case currently).
This commit is contained in:
@@ -125,8 +125,8 @@ namespace OpenSim.Server.Handlers.Inventory
|
||||
"POST", "/NewFolder/", m_InventoryService.AddFolder, CheckAuthSession));
|
||||
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestDeserialiseTrustedHandler<InventoryFolderBase, bool>(
|
||||
"POST", "/CreateFolder/", m_InventoryService.AddFolder, CheckTrustSource));
|
||||
new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
|
||||
"POST", "/CreateFolder/", m_InventoryService.AddFolder, CheckAuthSession));
|
||||
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestDeserialiseSecureHandler<InventoryItemBase, bool>(
|
||||
@@ -137,9 +137,13 @@ namespace OpenSim.Server.Handlers.Inventory
|
||||
"POST", "/AddNewItem/", m_InventoryService.AddItem, CheckTrustSource));
|
||||
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>>(
|
||||
"POST", "/GetItems/", GetFolderItems, CheckTrustSource));
|
||||
new RestDeserialiseSecureHandler<Guid, List<InventoryItemBase>>(
|
||||
"POST", "/GetItems/", GetFolderItems, CheckAuthSession));
|
||||
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestDeserialiseSecureHandler<List<InventoryItemBase>, bool>(
|
||||
"POST", "/MoveItems/", MoveItems, CheckAuthSession));
|
||||
|
||||
// for persistent active gestures
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>>
|
||||
@@ -256,6 +260,15 @@ namespace OpenSim.Server.Handlers.Inventory
|
||||
return m_InventoryService.DeleteItems(UUID.Zero, uuids);
|
||||
}
|
||||
|
||||
public bool MoveItems(List<InventoryItemBase> items)
|
||||
{
|
||||
// oops we lost the user info here. Bad bad handlers
|
||||
// let's peek at one item
|
||||
UUID ownerID = UUID.Zero;
|
||||
if (items.Count > 0)
|
||||
ownerID = items[0].Owner;
|
||||
return m_InventoryService.MoveItems(ownerID, items);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user