AuthorizationGo

package module
v0.1.1-0...-6a5a3fb Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2023 License: MIT Imports: 2 Imported by: 0

README

Role Base Access Control (RBAC) Using Golang and PGSQL

Install

First get AuthorizationGo

go get github.com/SoegiDev/AuthorizationGo

Set Env

Create .env
env = {testing} or {development} or {production}
DbUser = {userDB}
DbPassword = {passDB}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPermissionInUse     = errors.New("cannot delete assigned permission")
	ErrPermissionNotFound  = errors.New("permission not found")
	ErrRoleAlreadyAssigned = errors.New("this role is already assigned to the user")
	ErrRoleInUse           = errors.New("cannot delete assigned role")
	ErrRoleNotFound        = errors.New("role not found")
)

Functions

This section is empty.

Types

type AuthOption

type AuthOption struct {
	TablesPrefix string
	DB           *gorm.DB
}

type AuthorizationX

type AuthorizationX struct {
	DB *gorm.DB
}

Authority helps deal with permissions

func New

func New(authOps AuthOption) *AuthorizationX

Initialization AuthorizationX

func Resolve

func Resolve() *AuthorizationX

func (*AuthorizationX) AssignPermissions

func (a *AuthorizationX) AssignPermissions(roleName string, permNames []string) error

func (*AuthorizationX) AssignRole

func (a *AuthorizationX) AssignRole(userID uint, roleName string) error

func (*AuthorizationX) CheckPermission

func (a *AuthorizationX) CheckPermission(userID uint, permName string) (bool, error)

func (*AuthorizationX) CheckRole

func (a *AuthorizationX) CheckRole(userID uint, roleName string) (bool, error)

func (*AuthorizationX) CheckRolePermission

func (a *AuthorizationX) CheckRolePermission(roleName string, permName string) (bool, error)

func (*AuthorizationX) CreatePermission

func (a *AuthorizationX) CreatePermission(permName string) error

func (*AuthorizationX) CreateRole

func (a *AuthorizationX) CreateRole(roleName string) error

Create Role User

func (*AuthorizationX) DeletePermission

func (a *AuthorizationX) DeletePermission(permName string) error

func (*AuthorizationX) DeleteRole

func (a *AuthorizationX) DeleteRole(roleName string) error

func (*AuthorizationX) GetPermissions

func (a *AuthorizationX) GetPermissions() ([]string, error)

func (*AuthorizationX) GetRoles

func (a *AuthorizationX) GetRoles() ([]string, error)

func (*AuthorizationX) GetUserRoles

func (a *AuthorizationX) GetUserRoles(userID uint) ([]string, error)

func (*AuthorizationX) RevokePermission

func (a *AuthorizationX) RevokePermission(userID uint, permName string) error

func (*AuthorizationX) RevokeRole

func (a *AuthorizationX) RevokeRole(userID uint, roleName string) error

func (*AuthorizationX) RevokeRolePermission

func (a *AuthorizationX) RevokeRolePermission(roleName string, permName string) error

type Permission

type Permission struct {
	ID   uint
	Name string
}

func (Permission) TableName

func (p Permission) TableName() string

type Role

type Role struct {
	ID   uint
	Name string
}

func (Role) TableName

func (r Role) TableName() string

type RolePermission

type RolePermission struct {
	ID           uint
	RoleID       uint
	PermissionID uint
}

func (RolePermission) TableName

func (r RolePermission) TableName() string

type UserRole

type UserRole struct {
	ID     uint
	UserID uint
	RoleID uint
}

func (UserRole) TableName

func (u UserRole) TableName() string

Jump to

Keyboard shortcuts

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