-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuser.go
More file actions
32 lines (26 loc) · 1.2 KB
/
user.go
File metadata and controls
32 lines (26 loc) · 1.2 KB
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
package rbac
import (
"github.com/flannel-dev-lab/RBAC/database"
"github.com/flannel-dev-lab/RBAC/vars"
)
// UserObject Interface to expose user operations
type UserObject struct {
DBService database.DatabaseService
}
// AddUser (RC-04) Core RBAC: Creates a new RBAC user
func (userObject *UserObject) AddUser(userName string) (vars.User, error) {
return userObject.DBService.AddUser(userName)
}
// DeleteUser (RC-26) Core RBAC: Deletes an existing user from RBAC, Deletes Sessions and User assignments
func (userObject *UserObject) DeleteUser(userName string) (bool, error) {
return userObject.DBService.DeleteUser(userName)
}
// AssignedRoles (RC-09) Core RBAC: Returns a set of roles assigned to a given user
func (userObject *UserObject) AssignedRoles(userId int) ([]vars.Role, error) {
return userObject.DBService.AssignedRoles(userId)
}
// UserOperationOnObject This function returns the set of operations a given user is permitted to perform on a given
// object, obtained either directly or through his/her assigned roles.
func (userObject *UserObject) UserOperationOnObject(userId int, objectName string) ([]vars.Operation, error) {
return userObject.DBService.UserOperationOnObject(userId, objectName)
}