rbac

package
v0.0.0-...-2fc7590 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2019 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

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

Service is RBAC application service

func New

func New(udb model.UserDB) *Service

New creates new RBAC service

func (*Service) AccountCreate

func (s *Service) AccountCreate(c *gin.Context, roleID, companyID, locationID int) bool

AccountCreate performs auth check when creating a new account Location admin cannot create accounts, needs to be fixed on EnforceLocation function

func (*Service) EnforceCompany

func (s *Service) EnforceCompany(c *gin.Context, ID int) bool

EnforceCompany checks whether the request to apply change to company data is done by the user belonging to the that company and that the user has role CompanyAdmin. If user has admin role, the check for company doesnt need to pass.

func (*Service) EnforceLocation

func (s *Service) EnforceLocation(c *gin.Context, ID int) bool

EnforceLocation checks whether the request to change location data is done by the user belonging to the requested location

func (*Service) EnforceRole

func (s *Service) EnforceRole(c *gin.Context, r model.AccessRole) bool

EnforceRole authorizes request by AccessRole

func (*Service) EnforceUser

func (s *Service) EnforceUser(c *gin.Context, ID int) bool

EnforceUser checks whether the request to change user data is done by the same user

func (*Service) IsLowerRole

func (s *Service) IsLowerRole(c *gin.Context, r model.AccessRole) bool

IsLowerRole checks whether the requesting user has higher role than the user it wants to change Used for account creation/deletion

Jump to

Keyboard shortcuts

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