-
Notifications
You must be signed in to change notification settings - Fork 0
/
rbac.go
53 lines (43 loc) 路 1.39 KB
/
rbac.go
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package mock
import (
"github.com/labstack/echo"
"github.com/johncoleman83/cerebrum/pkg/utl/models"
)
// RBAC Mock
type RBAC struct {
UserFn func(echo.Context) *models.AuthUser
EnforceRoleFn func(echo.Context, models.AccessRole) error
EnforceUserFn func(echo.Context, uint) error
EnforceAccountFn func(echo.Context, uint) error
EnforceTeamFn func(echo.Context, uint) error
AccountCreateFn func(echo.Context, models.AccessRole, uint, uint) error
IsLowerRoleFn func(echo.Context, models.AccessRole) error
}
// User mock
func (a *RBAC) User(c echo.Context) *models.AuthUser {
return a.UserFn(c)
}
// EnforceRole mock
func (a *RBAC) EnforceRole(c echo.Context, role models.AccessRole) error {
return a.EnforceRoleFn(c, role)
}
// EnforceUser mock
func (a *RBAC) EnforceUser(c echo.Context, id uint) error {
return a.EnforceUserFn(c, id)
}
// EnforceAccount mock
func (a *RBAC) EnforceAccount(c echo.Context, id uint) error {
return a.EnforceAccountFn(c, id)
}
// EnforceTeam mock
func (a *RBAC) EnforceTeam(c echo.Context, id uint) error {
return a.EnforceTeamFn(c, id)
}
// AccountCreate mock
func (a *RBAC) AccountCreate(c echo.Context, roleID models.AccessRole, accountID, teamID uint) error {
return a.AccountCreateFn(c, roleID, accountID, teamID)
}
// IsLowerRole mock
func (a *RBAC) IsLowerRole(c echo.Context, role models.AccessRole) error {
return a.IsLowerRoleFn(c, role)
}