authority

package
v0.0.1-alpha16 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2021 License: Apache-2.0 Imports: 18 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrRoleNameInvalide = errors.New("角色名称已经被使用")
View Source
var Source = new(source)

Functions

func AddPermForRole

func AddPermForRole(id uint, perms [][]string) error

AddPermForRole

func AuthorityNameScope

func AuthorityNameScope(name string) func(db *gorm.DB) *gorm.DB

AuthorityNameScope 根据 name 查询 - name 名称

func AuthorityTypeScope

func AuthorityTypeScope(authorityType int) func(db *gorm.DB) *gorm.DB

AuthorityTypeScope 根据 type 查询 - authorityType 角色类型

func Copy

func Copy(id uint, req *AuthorityRequest) (uint, error)

Copy 复制

func CopyAuthority

func CopyAuthority(ctx *gin.Context)

CopyAuthority 拷贝角色

func Create

func Create(req *AuthorityRequest) (uint, error)

Create 添加

func CreateAuthority

func CreateAuthority(ctx *gin.Context)

CreateAuthority 创建角色

func DeleteAuthority

func DeleteAuthority(ctx *gin.Context)

DeleteAuthority 删除角色

func GetAdminAuthorityList

func GetAdminAuthorityList(ctx *gin.Context)

GetAdminAuthorityList 分页获取管理角色列表

func GetAdminRoleName

func GetAdminRoleName() string

GetAdminRoleName 获管理员角色名称

func GetAuthorityList

func GetAuthorityList(ctx *gin.Context)

GetAuthorityList 分页获取所有角色列表

func GetGeneralAuthorityList

func GetGeneralAuthorityList(ctx *gin.Context)

GetGeneralAuthorityList 分页获取用户角色列表

func GetMigration

func GetMigration() *gormigrate.Migration

func GetRoleIds

func GetRoleIds() ([]uint, error)

func GetTenancyAuthorityList

func GetTenancyAuthorityList(ctx *gin.Context)

GetTenancyAuthorityList 分页获取商户角色列表

func Group

func Group(group *gin.RouterGroup)

func IsAdminRole

func IsAdminRole(id uint) error

func Update

func Update(id uint, req *Authority) error

func UpdateAuthority

func UpdateAuthority(ctx *gin.Context)

UpdateAuthority 更新角色信息

Types

type Authority

type Authority struct {
	gorm.Model
	BaseAuthority
	Menus    []BaseMenu  `json:"menus" gorm:"many2many:authority_menus;"`
	Children []Authority `json:"children" gorm:"-"`
	Perms    [][]string  `json:"perms" gorm:"-"`
}

func GetSources

func GetSources() ([]*Authority, error)

func (*Authority) Create

func (item *Authority) Create(db *gorm.DB) (uint, error)

Create 添加

func (*Authority) Delete

func (item *Authority) Delete(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Delete 删除

func (*Authority) Update

func (item *Authority) Update(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Update 更新

type AuthorityCollection

type AuthorityCollection []Authority

type AuthorityRequest

type AuthorityRequest struct {
	BaseAuthority
}

func (*AuthorityRequest) Request

func (req *AuthorityRequest) Request(ctx *gin.Context) error

type BaseAuthority

type BaseAuthority struct {
	AuthorityName string `json:"authorityName" gorm:"comment:角色名" binding:"required"`
	AuthorityType int    `json:"authorityType" gorm:"comment:角色类型"`
	ParentId      uint   `json:"parentId" gorm:"default:0;comment:父角色ID"`
	DefaultRouter string `json:"defaultRouter" gorm:"comment:默认菜单;default:dashboard"`
}

type BaseMenu

type BaseMenu struct {
	gorm.Model
	Pid        uint        `gorm:"index:pid;column:pid;type:int unsigned;not null;default:0" json:"pid"`         // 父级id
	Path       string      `gorm:"column:path;type:varchar(512);not null" json:"path"`                           // 路径
	Icon       string      `gorm:"column:icon;type:varchar(32);default:''" json:"icon"`                          // 图标
	MenuName   string      `gorm:"column:menu_name;type:varchar(128);not null;default:''" json:"menu_name"`      // 按钮名
	Route      string      `gorm:"column:route;type:varchar(64);not null" json:"route"`                          // 路由名称
	Params     string      `gorm:"column:params;type:varchar(128);not null;default:''" json:"params"`            // 参数
	Sort       int8        `gorm:"column:sort;type:tinyint;not null;default:0" json:"sort"`                      // 排序
	Hidden     int         `gorm:"column:hidden;type:tinyint unsigned;not null;default:1" json:"hidden"`         // 是否显示
	IsTenancy  int         `gorm:"column:is_tenancy;type:tinyint unsigned;not null;default:1" json:"is_tenancy"` // 模块,1 平台, 2商户
	IsMenu     int         `gorm:"column:is_menu;type:tinyint unsigned;not null;default:1" json:"is_menu"`       // 类型,1菜单 2 权限
	Authoritys []Authority `json:"authoritys" gorm:"many2many:authority_menus;"`
	Children   []BaseMenu  `json:"children" gorm:"-"`
}

type PageResponse

type PageResponse struct {
	Item []*Response
}

Paginate 分页

func (*PageResponse) Find

func (res *PageResponse) Find(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

func (*PageResponse) Paginate

func (res *PageResponse) Paginate(db *gorm.DB, pageScope func(db *gorm.DB) *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) (int64, error)

type ReqPaginate

type ReqPaginate struct {
	orm.Paginate
	Name string `json:"name"`
}

type Response

type Response struct {
	orm.Model
	BaseAuthority
}

func FindByName

func FindByName(scopes ...func(db *gorm.DB) *gorm.DB) (*Response, error)

FindByName

func FindInId

func FindInId(db *gorm.DB, ids []uint) ([]*Response, error)

func (*Response) First

func (res *Response) First(db *gorm.DB, scopes ...func(db *gorm.DB) *gorm.DB) error

Jump to

Keyboard shortcuts

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