internal

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AddLabels           = goenum.NewEnum[Permission]("AddLabels")
	AddTopic            = goenum.NewEnum[Permission]("AddTopic")
	ViewMergeRequest    = goenum.NewEnum[Permission]("ViewMergeRequest")
	ApproveMergeRequest = goenum.NewEnum[Permission]("ApproveMergeRequest")
	DeleteMergeRequest  = goenum.NewEnum[Permission]("DeleteMergeRequest")
)

定义权限

View Source
var (
	Issues        = goenum.NewEnum[Module]("Issues", []Permission{AddLabels, AddTopic}, "/issues/")
	MergeRequests = goenum.NewEnum[Module]("MergeRequests", []Permission{ViewMergeRequest, ApproveMergeRequest, DeleteMergeRequest}, "/merge/")
)

定义模块

View Source
var (
	Reporter  = goenum.NewEnum[Role]("Reporter", ViewMergeRequest)
	Developer = goenum.NewEnum[Role]("Developer", AddLabels, AddTopic, ViewMergeRequest)
	Owner     = goenum.NewEnum[Role]("Owner", AddLabels, AddTopic, ViewMergeRequest, ApproveMergeRequest, DeleteMergeRequest) // 可以考虑给Owner单独定义一个All的权限
)

定义角色

Functions

This section is empty.

Types

type Module

type Module struct {
	goenum.Enum
	// contains filtered or unexported fields
}

func (Module) BasePath

func (m Module) BasePath() string

func (Module) GetPerms

func (m Module) GetPerms() []Permission

func (Module) Init

func (m Module) Init(args ...any) any

type Permission

type Permission struct {
	goenum.Enum
}

type Role

type Role struct {
	goenum.Enum
	// contains filtered or unexported fields
}

Role 参考 https://docs.gitlab.com/ee/user/permissions.html

func (Role) HasPerm

func (r Role) HasPerm(p Permission) bool

func (Role) Init

func (r Role) Init(args ...any) any

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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