github.com/resonatecoop/user-api@v1.0.0-13.0.20220915120639-05dc9c04014a/mock/rbac.go (about) 1 package mock 2 3 import ( 4 "context" 5 6 "github.com/resonatecoop/user-api/model" 7 ) 8 9 // RBAC Mock 10 type RBAC struct { 11 EnforceRoleFn func(context.Context, model.AccessRole) bool 12 EnforceUserFn func(context.Context, int64) bool 13 EnforceTenantFn func(context.Context, int32) bool 14 EnforceTenantAdminFn func(context.Context, int32) bool 15 IsLowerRoleFn func(context.Context, model.AccessRole) bool 16 EnforceTenantAndRoleFn func(context.Context, model.AccessRole, int32) bool 17 } 18 19 // EnforceRole mock 20 func (a *RBAC) EnforceRole(c context.Context, role model.AccessRole) bool { 21 return a.EnforceRoleFn(c, role) 22 } 23 24 // EnforceUser mock 25 func (a *RBAC) EnforceUser(c context.Context, id int64) bool { 26 return a.EnforceUserFn(c, id) 27 } 28 29 // EnforceTenant mock 30 func (a *RBAC) EnforceTenant(c context.Context, id int32) bool { 31 return a.EnforceTenantFn(c, id) 32 } 33 34 // EnforceTenantAdmin mock 35 func (a *RBAC) EnforceTenantAdmin(c context.Context, id int32) bool { 36 return a.EnforceTenantAdminFn(c, id) 37 } 38 39 // EnforceTenantAndRole mock 40 func (a *RBAC) EnforceTenantAndRole(c context.Context, role model.AccessRole, id int32) bool { 41 return a.EnforceTenantAndRoleFn(c, role, id) 42 } 43 44 // IsLowerRole mock 45 func (a *RBAC) IsLowerRole(c context.Context, role model.AccessRole) bool { 46 return a.IsLowerRoleFn(c, role) 47 }