permissions

package
v0.13.2 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterStore

func RegisterStore(s Store)

func Service

func Service() (v service.Service)

Types

type GetRoleArgument

type GetRoleArgument struct {
	Name string `json:"name"`
}

type GetUserRolesArgument

type GetUserRolesArgument struct {
	UserId string `json:"userId"`
}

type GetUserRolesResult

type GetUserRolesResult struct {
	Roles []*Role `json:"roles"`
}

type RemoveRoleArgument

type RemoveRoleArgument struct {
	Name string `json:"name"`
}

type Role

type Role struct {
	Name      string         `json:"name"`
	Parent    string         `json:"parent"`
	Children  []*Role        `json:"children"`
	Resources map[string]int `json:"resources"`
}

func FindRole

func FindRole(roles []*Role, name string) (role *Role, has bool)

func (*Role) AddChild

func (r *Role) AddChild(child *Role)

type Store

type Store interface {
	Build(options StoreOptions) (err error)
	Role(ctx context.Context, name string) (role *Role, err error)
	Roles(ctx context.Context) (roles []*Role, err error)
	SaveRole(ctx context.Context, role *Role) (err error)
	RemoveRole(ctx context.Context, name string) (err error)
	UserRoles(ctx context.Context, userId string) (roles []*Role, err error)
	UserBindRoles(ctx context.Context, userId string, roleNames ...string) (err error)
	UserUnbindRoles(ctx context.Context, userId string, roleNames ...string) (err error)
	Close() (err error)
}

type StoreOptions

type StoreOptions struct {
	Log    logs.Logger
	Config configures.Config
}

type UserBindRolesArgument

type UserBindRolesArgument struct {
	UserId string   `json:"userId"`
	Roles  []string `json:"roles"`
}

type UserUnbindRolesArgument

type UserUnbindRolesArgument struct {
	UserId string   `json:"userId"`
	Roles  []string `json:"roles"`
}

Jump to

Keyboard shortcuts

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