aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm
blob: 97111b769e0a52da44e461a75c70edd144374904 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package OpenSim::InventoryServer::InventoryManager;

use strict;
use Carp;
use OpenSim::Utility;
use OpenSim::InventoryServer::Config;

sub saveInventoryFolder {
	my $folder = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_folder},
		$folder->{"folderID"},
		$folder->{"agentID"},
		$folder->{"parentFolderID"},
		$folder->{"folderName"},
		$folder->{"type"},
		$folder->{"version"});
}

sub saveInventoryItem {
	my $item = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_item},
		$item->{"inventoryID"},
		$item->{"assetID"},
		$item->{"type"},
		$item->{"parentFolderID"},
		$item->{"avatarID"},
		$item->{"inventoryName"},
		$item->{"inventoryDescription"},
		$item->{"inventoryNextPermissions"},
		$item->{"inventoryCurrentPermissions"},
		$item->{"assetType"},
		$item->{"invType"},
		$item->{"creatorID"},
		$item->{"inventoryBasePermissions"},
		$item->{"inventoryEveryOnePermissions"});
}

sub getRootFolder {
	my $agent_id = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_root_folder},
		&OpenSim::Utility::ZeroUUID(),
		$agent_id);
	my $count = @$result;
	if ($count > 0) {
		return $result->[0];
	} else {
		return undef;
	}
}

sub getChildrenFolders {
	my $parent_id = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_children_folders}, $parent_id);
	return $result;
}

sub getUserInventoryFolders {
	my $agent_id = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_folders},
		$agent_id);
	return $result;
}

sub getUserInventoryItems {
	my $agent_id = shift;
	my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_items},
		$agent_id);
	return $result;
}

sub deleteInventoryItem {
	my $item_id = shift;
	&OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{delete_inventory_item},
		$item_id);
}

sub moveInventoryFolder {
	my $info = shift;
	&OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{move_inventory_folder},
		$info->{parentID}->{UUID}, # TODO: not good
		$info->{folderID}->{UUID}, # TODO: not good UUID should be extracted in the higher level
		);
}

1;