@@ -5,39 +5,38 @@ import (
55 "github.com/gin-gonic/gin"
66)
77
8- // registerAdminRoutes defines all routes accessible to admin users
8+ // registerAdminRoutes defines all routes accessible ONLY to admin users
9+ // Template operations have been moved to creator routes (accessible by both admins and creators)
910func registerAdminRoutes (g * gin.RouterGroup , authHandler * handlers.AuthHandler , proxmoxHandler * handlers.ProxmoxHandler , cloningHandler * handlers.CloningHandler , dashboardHandler * handlers.DashboardHandler ) {
10- // GET Requests
11+ // Admin dashboard and cluster management
1112 g .GET ("/dashboard" , dashboardHandler .GetAdminDashboardStatsHandler )
1213 g .GET ("/cluster" , proxmoxHandler .GetClusterResourceUsageHandler )
13- g .GET ("/users" , proxmoxHandler .GetUsersHandler )
14- g .GET ("/groups" , proxmoxHandler .GetGroupsHandler )
15- g .GET ("/vms" , proxmoxHandler .GetVMsHandler )
1614 g .GET ("/vnets" , proxmoxHandler .GetUsedVNetsHandler )
15+ g .GET ("/vms" , proxmoxHandler .GetVMsHandler )
1716 g .GET ("/pods" , cloningHandler .AdminGetPodsHandler )
18- g .GET ("/templates" , cloningHandler .AdminGetTemplatesHandler )
19- g .GET ("/templates/unpublished" , cloningHandler .GetUnpublishedTemplatesHandler )
20- g .GET ("/templates/vms" , proxmoxHandler .GetVMTemplatesHandler )
21- g .GET ("/templates/proxmox" , proxmoxHandler .GetProxmoxTemplatePoolsHandler )
2217
23- // POST Requests
18+ // User management (admin only)
19+ g .GET ("/users" , proxmoxHandler .GetUsersHandler )
2420 g .POST ("/users/create" , authHandler .CreateUsersHandler )
2521 g .POST ("/users/delete" , authHandler .DeleteUsersHandler )
2622 g .POST ("/user/groups" , proxmoxHandler .SetUserGroupsHandler )
23+
24+ // Group management (admin only)
25+ g .GET ("/groups" , proxmoxHandler .GetGroupsHandler )
2726 g .POST ("/groups/create" , proxmoxHandler .CreateGroupsHandler )
2827 g .POST ("/group/members/add" , proxmoxHandler .AddUsersHandler )
2928 g .POST ("/group/members/remove" , proxmoxHandler .RemoveUsersHandler )
3029 g .POST ("/group/edit" , proxmoxHandler .EditGroupHandler )
3130 g .POST ("/groups/delete" , proxmoxHandler .DeleteGroupsHandler )
31+
32+ // VM management (admin only)
3233 g .POST ("/vm/start" , proxmoxHandler .StartVMHandler )
3334 g .POST ("/vm/shutdown" , proxmoxHandler .ShutdownVMHandler )
3435 g .POST ("/vm/reboot" , proxmoxHandler .RebootVMHandler )
36+
37+ // Pod management (admin only)
3538 g .POST ("/pods/delete" , cloningHandler .AdminDeletePodHandler )
36- g .POST ("/template/publish" , cloningHandler .PublishTemplateHandler )
37- g .POST ("/template/create" , proxmoxHandler .CreateTemplateHandler )
38- g .POST ("/template/edit" , cloningHandler .EditTemplateHandler )
39- g .POST ("/template/delete" , cloningHandler .DeleteTemplateHandler )
40- g .POST ("/template/visibility" , cloningHandler .ToggleTemplateVisibilityHandler )
41- g .POST ("/template/image/upload" , cloningHandler .UploadTemplateImageHandler )
39+
40+ // Bulk template deployment (admin only)
4241 g .POST ("/templates/clone" , cloningHandler .AdminCloneTemplateHandler )
4342}
0 commit comments