authority

package
v0.1.18 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2023 License: Apache-2.0 Imports: 15 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(uuid string, perms [][]string) error

AddPermForRole

func AuthorityNameScope

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

AuthorityNameScope

func AuthorityTypeScope

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

AuthorityTypeScope

func AuthorityUuidScope added in v0.0.7

func AuthorityUuidScope(uuid string) func(db *gorm.DB) *gorm.DB

AuthorityUuidScope

func Copy

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

Copy 复制

func CopyAuthority

func CopyAuthority(ctx *gin.Context)

CopyAuthority 拷贝角色

func Create

func Create(req *CreateAuthorityRequest) (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 ParentIdScope added in v0.1.17

func ParentIdScope(id uint) func(db *gorm.DB) *gorm.DB

ParentIdScope

func Update

func Update(id uint, req *UpdateAuthorityRequest) error

func UpdateAuthority

func UpdateAuthority(ctx *gin.Context)

UpdateAuthority 更新角色信息

Types

type Authority

type Authority struct {
	gorm.Model
	BaseAuthority
	Uuid string `json:"uuid" gorm:"uniqueIndex;not null;type:varchar(64);comment:角色标识" binding:"required"`

	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 BaseAuthority

type BaseAuthority struct {
	AuthorityName string `json:"authorityName" gorm:"comment:角色名"`
	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 CreateAuthorityRequest added in v0.0.7

type CreateAuthorityRequest struct {
	Uuid  string     `json:"uuid"`
	Perms [][]string `json:"perms" gorm:"-"`
	BaseAuthority
}

func (*CreateAuthorityRequest) Request added in v0.0.7

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

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
	AuthorityName string `json:"authorityName" form:"authorityName"`
	AuthorityType int    `json:"authorityType" form:"authorityType"`
}

type Response

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

func FindInId

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

func FindInUuid added in v0.0.7

func FindInUuid(db *gorm.DB, uuids []string) ([]*Response, error)

func First added in v0.1.17

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

First

func (*Response) First

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

type UpdateAuthorityRequest added in v0.0.7

type UpdateAuthorityRequest struct {
	Perms [][]string `json:"perms" gorm:"-"`
	BaseAuthority
}

func (*UpdateAuthorityRequest) Request added in v0.0.7

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

Jump to

Keyboard shortcuts

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