handler

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetupRoutes

func SetupRoutes(rbacHandler *RBACHandler, jwtSecret, internalSecret string) http.Handler

SetupRoutes configures all routes for the RBAC service using Go 1.22+ stdlib router.

Types

type RBACHandler

type RBACHandler struct {
	// contains filtered or unexported fields
}

RBACHandler handles all RBAC HTTP requests.

func NewRBACHandler

func NewRBACHandler(service *service.RBACService) *RBACHandler

NewRBACHandler creates a new RBAC handler.

func (*RBACHandler) AssignDefaultRoleInternal

func (h *RBACHandler) AssignDefaultRoleInternal(w http.ResponseWriter, r *http.Request)

AssignDefaultRoleInternal handles POST /internal/v1/users/{userId}/assign-default-role This is an internal endpoint for service-to-service communication (no auth required).

func (*RBACHandler) AssignPermissionToRole

func (h *RBACHandler) AssignPermissionToRole(w http.ResponseWriter, r *http.Request)

AssignPermissionToRole handles POST /api/v1/roles/{id}/permissions

func (*RBACHandler) AssignRoleByNameInternal

func (h *RBACHandler) AssignRoleByNameInternal(w http.ResponseWriter, r *http.Request)

AssignRoleByNameInternal handles POST /internal/v1/users/{userId}/assign-role This is an internal endpoint for service-to-service communication (no auth required). Request body: {"role_name": "user_admin"}

func (*RBACHandler) AssignRoleToUser

func (h *RBACHandler) AssignRoleToUser(w http.ResponseWriter, r *http.Request)

AssignRoleToUser handles POST /api/v1/users/{userId}/roles

func (*RBACHandler) CheckPermission

func (h *RBACHandler) CheckPermission(w http.ResponseWriter, r *http.Request)

CheckPermission handles POST /api/v1/check-permission

func (*RBACHandler) CheckPermissions

func (h *RBACHandler) CheckPermissions(w http.ResponseWriter, r *http.Request)

CheckPermissions handles POST /api/v1/check-permissions (batch)

func (*RBACHandler) CreatePermission

func (h *RBACHandler) CreatePermission(w http.ResponseWriter, r *http.Request)

CreatePermission handles POST /api/v1/permissions

func (*RBACHandler) CreateRole

func (h *RBACHandler) CreateRole(w http.ResponseWriter, r *http.Request)

CreateRole handles POST /api/v1/roles

func (*RBACHandler) DeleteRole

func (h *RBACHandler) DeleteRole(w http.ResponseWriter, r *http.Request)

DeleteRole handles DELETE /api/v1/roles/{id}

func (*RBACHandler) GetPermission

func (h *RBACHandler) GetPermission(w http.ResponseWriter, r *http.Request)

GetPermission handles GET /api/v1/permissions/{id}

func (*RBACHandler) GetRole

func (h *RBACHandler) GetRole(w http.ResponseWriter, r *http.Request)

GetRole handles GET /api/v1/roles/{id}

func (*RBACHandler) GetRoleHierarchy

func (h *RBACHandler) GetRoleHierarchy(w http.ResponseWriter, r *http.Request)

GetRoleHierarchy handles GET /api/v1/roles/{id}/hierarchy

func (*RBACHandler) GetRolePermissions

func (h *RBACHandler) GetRolePermissions(w http.ResponseWriter, r *http.Request)

GetRolePermissions handles GET /api/v1/roles/{id}/permissions

func (*RBACHandler) GetUserPermissions

func (h *RBACHandler) GetUserPermissions(w http.ResponseWriter, r *http.Request)

GetUserPermissions handles GET /api/v1/users/{userId}/permissions

func (*RBACHandler) GetUserPermissionsInternal

func (h *RBACHandler) GetUserPermissionsInternal(w http.ResponseWriter, r *http.Request)

GetUserPermissionsInternal handles GET /internal/v1/users/{userId}/permissions This is an internal endpoint for service-to-service communication (no authentication required).

func (*RBACHandler) GetUserRoles

func (h *RBACHandler) GetUserRoles(w http.ResponseWriter, r *http.Request)

GetUserRoles handles GET /api/v1/users/{userId}/roles

func (*RBACHandler) ListPermissions

func (h *RBACHandler) ListPermissions(w http.ResponseWriter, r *http.Request)

ListPermissions handles GET /api/v1/permissions

func (*RBACHandler) ListRoles

func (h *RBACHandler) ListRoles(w http.ResponseWriter, r *http.Request)

ListRoles handles GET /api/v1/roles

func (*RBACHandler) RemovePermissionFromRole

func (h *RBACHandler) RemovePermissionFromRole(w http.ResponseWriter, r *http.Request)

RemovePermissionFromRole handles DELETE /api/v1/roles/{roleId}/permissions/{permissionId}

func (*RBACHandler) RemoveRoleFromUser

func (h *RBACHandler) RemoveRoleFromUser(w http.ResponseWriter, r *http.Request)

RemoveRoleFromUser handles DELETE /api/v1/users/{userId}/roles/{roleId}

func (*RBACHandler) UpdateRole

func (h *RBACHandler) UpdateRole(w http.ResponseWriter, r *http.Request)

UpdateRole handles PUT /api/v1/roles/{id}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL