[pve-devel] r5144 - in pve-access-control/trunk: . PVE/API2

svn-commits at proxmox.com svn-commits at proxmox.com
Tue Sep 14 11:35:52 CEST 2010


Author: dietmar
Date: 2010-09-14 09:35:52 +0000 (Tue, 14 Sep 2010)
New Revision: 5144

Added:
   pve-access-control/trunk/PVE/API2/AccessControl.pm
Modified:
   pve-access-control/trunk/ChangeLog
   pve-access-control/trunk/PVE/API2/Makefile
Log:

	* PVE/API2/AccessControl.pm: moved from pve-manager



Modified: pve-access-control/trunk/ChangeLog
===================================================================
--- pve-access-control/trunk/ChangeLog	2010-09-14 09:22:31 UTC (rev 5143)
+++ pve-access-control/trunk/ChangeLog	2010-09-14 09:35:52 UTC (rev 5144)
@@ -1,5 +1,7 @@
 2010-09-14  Proxmox Support Team  <support at proxmox.com>
 
+	* PVE/API2/AccessControl.pm: moved from pve-manager
+
 	* PVE/: create correct directory hierarchy
 
 	* Makefile (install): use 'verifyapi'

Added: pve-access-control/trunk/PVE/API2/AccessControl.pm
===================================================================
--- pve-access-control/trunk/PVE/API2/AccessControl.pm	                        (rev 0)
+++ pve-access-control/trunk/PVE/API2/AccessControl.pm	2010-09-14 09:35:52 UTC (rev 5144)
@@ -0,0 +1,74 @@
+package PVE::API2::AccessControl;
+
+use strict;
+use warnings;
+
+use PVE::SafeSyslog;
+use Apache2::Const qw(:http);
+
+use PVE::RESTHandler;
+use PVE::API2::User;
+use PVE::API2::Group;
+use PVE::API2::Role;
+use PVE::API2::ACL;
+
+use base qw(PVE::RESTHandler);
+
+__PACKAGE__->register_method ({
+    subclass => "PVE::API2::User",  
+    path => 'users',
+});
+
+__PACKAGE__->register_method ({
+    subclass => "PVE::API2::Group",  
+    path => 'groups',
+});
+
+__PACKAGE__->register_method ({
+    subclass => "PVE::API2::Role",  
+    path => 'roles',
+});
+
+__PACKAGE__->register_method ({
+    subclass => "PVE::API2::ACL",  
+    path => 'acl',
+});
+
+__PACKAGE__->register_method ({
+    name => 'index', 
+    path => '', 
+    method => 'GET',
+    description => "Directory index.",
+    parameters => {
+    	additionalProperties => 0,
+	properties => {},
+    },
+    returns => {
+	type => 'array',
+	items => {
+	    type => "object",
+	    properties => {
+		subdir => { type => 'string' },
+	    },
+	},
+	links => [ { rel => 'child', href => "{subdir}" } ],
+    },
+    code => sub {
+	my ($param) = @_;
+    
+	my $res = [];
+
+	my $ma = __PACKAGE__->method_attributes();
+
+	foreach my $info (@$ma) {
+	    next if !$info->{subclass};
+
+	    my $subpath = $info->{match_re}->[0];
+
+	    push @$res, { subdir => $subpath };
+	}
+
+	return $res;
+    }});
+
+1;

Modified: pve-access-control/trunk/PVE/API2/Makefile
===================================================================
--- pve-access-control/trunk/PVE/API2/Makefile	2010-09-14 09:22:31 UTC (rev 5143)
+++ pve-access-control/trunk/PVE/API2/Makefile	2010-09-14 09:35:52 UTC (rev 5144)
@@ -1,8 +1,9 @@
 
-API2_SOURCES= 		\
-	ACL.pm		\
-	Role.pm		\
-	Group.pm	\
+API2_SOURCES= 		 \
+	AccessControl.pm \
+	ACL.pm		 \
+	Role.pm		 \
+	Group.pm	 \
 	User.pm
 
 .PHONY: install



More information about the pve-devel mailing list