permkind

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//up to 16 major permission kinds
	Read    PermissionKind = (1 << iota)
	Write                  = (1 << iota)
	Delete                 = (1 << iota)
	Use                    = (1 << iota)
	Consume                = (1 << iota)
	Provide                = (1 << iota)
	See                    = (1 << iota)

	//up to 16 minor permission kinds for each major one
	Update      = Write + (1 << 16)
	Create      = Write + (2 << 16)
	WriteStream = Write + (4 << 16)
)

Variables

View Source
var (
	PERMISSION_KINDS = []struct {
		PermissionKind PermissionKind
		Name           string
	}{
		{Read, "read"},
		{Write, "write"},
		{Delete, "delete"},
		{Use, "use"},
		{Consume, "consume"},
		{Provide, "provide"},
		{See, "see"},

		{Update, "update"},
		{Create, "create"},
		{WriteStream, "write-stream"},
	}

	PERMISSION_KIND_NAMES = utils.MapSlice(PERMISSION_KINDS, func(e struct {
		PermissionKind PermissionKind
		Name           string
	}) string {
		return e.Name
	})
)

Functions

func IsPermissionKindName

func IsPermissionKindName(s string) bool

Types

type InternalPermissionTypename

type InternalPermissionTypename string
const (
	LTHREAD_PERM_TYPENAME          InternalPermissionTypename = "threads"
	HTTP_PERM_TYPENAME             InternalPermissionTypename = "http"
	WEBSOCKET_PERM_TYPENAME        InternalPermissionTypename = "websocket"
	DNS_PERM_TYPENAME              InternalPermissionTypename = "dns"
	TCP_PERM_TYPENAME              InternalPermissionTypename = "tcp"
	FS_PERM_TYPENAME               InternalPermissionTypename = "filesystem"
	GLOBAL_VAR_PERM_TYPENAME       InternalPermissionTypename = "global-var"
	CMD_PERM_TYPENAME              InternalPermissionTypename = "command"
	ENV_PERM_TYPENAME              InternalPermissionTypename = "env"
	SYSGRAPH_PERM_TYPENAME         InternalPermissionTypename = "system-graph"
	VALUE_VISIBILITY_PERM_TYPENAME InternalPermissionTypename = "value-visibility"
)

type PermissionKind

type PermissionKind int

func PermissionKindFromString

func PermissionKindFromString(s string) (PermissionKind, bool)

func (PermissionKind) Includes

func (k PermissionKind) Includes(otherKind PermissionKind) bool

func (PermissionKind) IsMajor

func (k PermissionKind) IsMajor() bool

func (PermissionKind) IsMinor

func (k PermissionKind) IsMinor() bool

func (PermissionKind) Major

func (k PermissionKind) Major() PermissionKind

func (PermissionKind) String

func (kind PermissionKind) String() string

Jump to

Keyboard shortcuts

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