permissions

package
v0.0.0-...-2cf57f6 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2020 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AppCreate = NewPermission("app:v1alpha1:create", NamespaceUser, NamespaceOrg)
	AppUpdate = NewPermission("app:v1alpha1:update", NamespaceUser, NamespaceOrg)
	AppDelete = NewPermission("app:v1alpha1:delete", NamespaceUser, NamespaceOrg)
	AppList   = NewPermission("app:v1alpha1:list", NamespaceUser, NamespaceOrg)
	AppStatus = NewPermission("app:v1alpha1:status", NamespaceUser, NamespaceOrg)

	AppPermissions = []*Permission{AppCreate, AppUpdate, AppDelete, AppList, AppStatus}
)
View Source
var (
	// OrgCreate -> create organization
	OrgCreate = NewPermission("org:v1alpha1:create")

	// OrgList -> list joining organizations
	OrgList = NewPermission("org:v1alpha1:list")

	// OrgListAll -> list all organizations
	OrgListAll = NewPermission("org:v1alpha1:list_all")

	// OrgGet -> get organization
	OrgGet = NewPermission("org:v1alpha1:get", NamespaceOrg)

	// OrgDelete -> delete organization
	OrgDelete = NewPermission("org:v1alpha1:delete", NamespaceOrg)

	// OrgUpdate -> update info of organization
	OrgUpdate = NewPermission("org:v1alpha1:update", NamespaceOrg)

	// OrgMemberManagement -> manage members in a organization
	OrgMemberManagement = NewPermission("org:v1alpha1:member_management", NamespaceOrg)

	// OrgMemberList -> list members in a organization
	OrgMemberList = NewPermission("org:v1alpha1:member_list", NamespaceOrg)

	// UserOrgGetRoleBinding -> get role bindings for user/org
	UserOrgGetRoleBinding = NewPermission("userorg:v1alpha1:get_role_binding")

	OrgPermissions = []*Permission{OrgCreate, OrgList, OrgListAll, OrgDelete, OrgUpdate, OrgMemberManagement, OrgMemberList}
)
View Source
var (
	TokenIssue    = NewPermission("token:v1alpha1:issue", NamespaceUser, NamespaceOrg)
	TokenDelete   = NewPermission("token:v1alpha1:delete", NamespaceUser, NamespaceOrg)
	TokenValidate = NewPermission("token:v1alpha:validate")

	TokenPermissions = []*Permission{TokenIssue, TokenDelete}
)
View Source
var (
	UserCreate = NewPermission("user:v1alpha1:create")
	UserGetAll = NewPermission("user:v1alpha1:get_all")
	UserDelete = NewPermission("user:v1alpha1:delete", NamespaceUser)
	UserGet    = NewPermission("user:v1alpha1:get", NamespaceUser)
	UserUpdate = NewPermission("user:v1alpha1:update", NamespaceUser)

	UserPermissions = []*Permission{UserCreate, UserGet, UserDelete, UserUpdate, UserGetAll}
)

Functions

This section is empty.

Types

type NamespaceType

type NamespaceType string
var (
	NamespaceUser NamespaceType = "user"
	NamespaceOrg  NamespaceType = "organization"
)

type Permission

type Permission struct {
	Name       string          `json:"name" yaml:"name"`
	Namespaces []NamespaceType `json:"namespaces" yaml:"namespaces"`
}

func NewPermission

func NewPermission(name string, namespaces ...NamespaceType) *Permission

func (*Permission) Namespaced

func (p *Permission) Namespaced(nsType NamespaceType) bool

type Role

type Role struct {
	Permissions []*Permission `json:"permissions" yaml:"permissions"`
}

Jump to

Keyboard shortcuts

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