InventoryManager.pm 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package OpenSim::InventoryServer::InventoryManager;
  2. use strict;
  3. use Carp;
  4. use OpenSim::Utility;
  5. use OpenSim::InventoryServer::Config;
  6. sub saveInventoryFolder {
  7. my $folder = shift;
  8. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_folder},
  9. $folder->{"folderID"},
  10. $folder->{"agentID"},
  11. $folder->{"parentFolderID"},
  12. $folder->{"folderName"},
  13. $folder->{"type"},
  14. $folder->{"version"});
  15. }
  16. sub saveInventoryItem {
  17. my $item = shift;
  18. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_item},
  19. $item->{"inventoryID"},
  20. $item->{"assetID"},
  21. $item->{"type"},
  22. $item->{"parentFolderID"},
  23. $item->{"avatarID"},
  24. $item->{"inventoryName"},
  25. $item->{"inventoryDescription"},
  26. $item->{"inventoryNextPermissions"},
  27. $item->{"inventoryCurrentPermissions"},
  28. $item->{"assetType"},
  29. $item->{"invType"},
  30. $item->{"creatorID"},
  31. $item->{"inventoryBasePermissions"},
  32. $item->{"inventoryEveryOnePermissions"});
  33. }
  34. sub getRootFolder {
  35. my $agent_id = shift;
  36. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_root_folder},
  37. &OpenSim::Utility::ZeroUUID(),
  38. $agent_id);
  39. my $count = @$result;
  40. if ($count > 0) {
  41. return $result->[0];
  42. } else {
  43. return undef;
  44. }
  45. }
  46. sub getChildrenFolders {
  47. my $parent_id = shift;
  48. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_children_folders}, $parent_id);
  49. return $result;
  50. }
  51. sub getUserInventoryFolders {
  52. my $agent_id = shift;
  53. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_folders},
  54. $agent_id);
  55. return $result;
  56. }
  57. sub getUserInventoryItems {
  58. my $agent_id = shift;
  59. my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_items},
  60. $agent_id);
  61. return $result;
  62. }
  63. sub deleteInventoryItem {
  64. my $item_id = shift;
  65. &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{delete_inventory_item},
  66. $item_id);
  67. }
  68. sub moveInventoryFolder {
  69. my $info = shift;
  70. &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{move_inventory_folder},
  71. $info->{parentID}->{UUID}, # TODO: not good
  72. $info->{folderID}->{UUID}, # TODO: not good UUID should be extracted in the higher level
  73. );
  74. }
  75. 1;