Documentation
¶
Index ¶
- func DefaultPermissions() []models.Permission
- func DefaultRoles() []models.Role
- type RBAC
- func (r *RBAC) AssignPermissionToRole(roleID, permissionID string) error
- func (r *RBAC) AssignRoleToUser(userID, roleID string) error
- func (r *RBAC) CreatePermission(permission *models.Permission) error
- func (r *RBAC) CreateRole(role *models.Role) error
- func (r *RBAC) DeletePermission(id string) error
- func (r *RBAC) DeleteRole(id string) error
- func (r *RBAC) GetPermissionByID(id string) (*models.Permission, error)
- func (r *RBAC) GetPermissionBySlug(slug string) (*models.Permission, error)
- func (r *RBAC) GetRoleByID(id string) (*models.Role, error)
- func (r *RBAC) GetRoleBySlug(slug string) (*models.Role, error)
- func (r *RBAC) GetUserPermissions(userID string) ([]string, error)
- func (r *RBAC) GetUserRoles(userID string) ([]models.Role, error)
- func (r *RBAC) GivePermissionToUser(userID, permissionID string) error
- func (r *RBAC) ListPermissions() ([]models.Permission, error)
- func (r *RBAC) ListRoles() ([]models.Role, error)
- func (r *RBAC) RemovePermissionFromRole(roleID, permissionID string) error
- func (r *RBAC) RemoveRoleFromUser(userID, roleID string) error
- func (r *RBAC) RevokePermissionFromUser(userID, permissionID string) error
- func (r *RBAC) SeedDefaultData() error
- func (r *RBAC) UpdatePermission(permission *models.Permission) error
- func (r *RBAC) UpdateRole(role *models.Role) error
- func (r *RBAC) UserHasPermission(userID, permissionSlug string) (bool, error)
- func (r *RBAC) UserHasRole(userID, roleSlug string) (bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultPermissions ¶
func DefaultPermissions() []models.Permission
DefaultPermissions returns default system permissions
Types ¶
type RBAC ¶
type RBAC struct {
// contains filtered or unexported fields
}
RBAC manages role-based access control
func (*RBAC) AssignPermissionToRole ¶
AssignPermissionToRole assigns a permission to a role
func (*RBAC) AssignRoleToUser ¶
AssignRoleToUser assigns a role to a user
func (*RBAC) CreatePermission ¶
func (r *RBAC) CreatePermission(permission *models.Permission) error
CreatePermission creates a new permission
func (*RBAC) CreateRole ¶
CreateRole creates a new role
func (*RBAC) DeletePermission ¶
DeletePermission deletes a permission
func (*RBAC) GetPermissionByID ¶
func (r *RBAC) GetPermissionByID(id string) (*models.Permission, error)
GetPermissionByID retrieves a permission by its ID
func (*RBAC) GetPermissionBySlug ¶
func (r *RBAC) GetPermissionBySlug(slug string) (*models.Permission, error)
GetPermissionBySlug retrieves a permission by its slug
func (*RBAC) GetRoleByID ¶
GetRoleByID retrieves a role by its ID
func (*RBAC) GetRoleBySlug ¶
GetRoleBySlug retrieves a role by its slug
func (*RBAC) GetUserPermissions ¶
GetUserPermissions returns all permissions (direct + from roles) for a user
func (*RBAC) GetUserRoles ¶
GetUserRoles returns all roles assigned to a user
func (*RBAC) GivePermissionToUser ¶
GivePermissionToUser gives a direct permission to a user
func (*RBAC) ListPermissions ¶
func (r *RBAC) ListPermissions() ([]models.Permission, error)
ListPermissions lists all permissions
func (*RBAC) RemovePermissionFromRole ¶
RemovePermissionFromRole removes a permission from a role
func (*RBAC) RemoveRoleFromUser ¶
RemoveRoleFromUser removes a role from a user
func (*RBAC) RevokePermissionFromUser ¶
RevokePermissionFromUser revokes a direct permission from a user
func (*RBAC) SeedDefaultData ¶
SeedDefaultData creates default roles and permissions
func (*RBAC) UpdatePermission ¶
func (r *RBAC) UpdatePermission(permission *models.Permission) error
UpdatePermission updates a permission
func (*RBAC) UpdateRole ¶
UpdateRole updates a role
func (*RBAC) UserHasPermission ¶
UserHasPermission checks if a user has a specific permission