ds

package
v0.30.7 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 22 Imported by: 1

Documentation

Index

Constants

View Source
const (
	TypeIDSeparator   string = ":"
	InstanceSeparator string = "|"
	RelationSeparator string = "#"
)
View Source
const DefaultHash string = `0`

Variables

View Source
var (
	ErrObjectNotFound                    = cerr.NewAsertoError("E20031", codes.NotFound, http.StatusNotFound, "object not found")
	ErrRelationNotFound                  = cerr.NewAsertoError("E20032", codes.NotFound, http.StatusNotFound, "relation not found")
	ErrPermissionNotFound                = cerr.NewAsertoError("E20033", codes.NotFound, http.StatusNotFound, "permission not found")
	ErrInvalidRequest                    = cerr.NewAsertoError("E20040", codes.InvalidArgument, http.StatusBadRequest, "invalid request instance")
	ErrInvalidArgumentObject             = cerr.NewAsertoError("E20041", codes.InvalidArgument, http.StatusBadRequest, "object invalid argument")
	ErrInvalidArgumentRelation           = cerr.NewAsertoError("E20042", codes.InvalidArgument, http.StatusBadRequest, "relation invalid argument")
	ErrInvalidArgumentObjectIdentifier   = cerr.NewAsertoError("E20043", codes.InvalidArgument, http.StatusBadRequest, "object identifier invalid argument")
	ErrInvalidArgumentRelationIdentifier = cerr.NewAsertoError("E20044", codes.InvalidArgument, http.StatusBadRequest, "relation identifier invalid argument")
	ErrInvalidArgumentObjectTypeSelector = cerr.NewAsertoError("E20045", codes.InvalidArgument, http.StatusBadRequest, "object type selector invalid argument")
	ErrNoCompleteObjectIdentifier        = cerr.NewAsertoError("E20050", codes.FailedPrecondition, http.StatusPreconditionFailed, "relation identifier no complete object identifier")
	ErrGraphDirectionality               = cerr.NewAsertoError("E20051", codes.InvalidArgument, http.StatusPreconditionFailed, "unable to determine graph directionality")
)

Functions

func BoolToByte

func BoolToByte(b bool) []byte

func ByteToInt32

func ByteToInt32(b []byte) int32

func Check added in v0.30.0

func Check(i *dsr3.CheckRequest) *check

func CheckPermission

func CheckPermission(i *dsr3.CheckPermissionRequest) *checkPermission

func CheckRelation

func CheckRelation(i *dsr3.CheckRelationRequest) *checkRelation

func CreateUserSet added in v0.21.2

func CreateUserSet(ctx context.Context, tx *bolt.Tx, subject *dsc3.ObjectIdentifier) ([]*dsc3.ObjectIdentifier, error)

CreateUserSet, create the computed user set of a subject.

func GetGraph

func GetGraph(i *dsr3.GetGraphRequest) *getGraph

func GetRelation added in v0.30.0

func GetRelation(i *dsr3.GetRelationRequest) *relation

func GetRelations added in v0.30.0

func GetRelations(i *dsr3.GetRelationsRequest) *relation

func Iff added in v0.30.0

func Iff[T any](condition bool, trueVal, falseVal T) T

func Int32ToByte

func Int32ToByte(i int32) []byte

func Int32ToStr

func Int32ToStr(i int32) string

func Int64ToByte

func Int64ToByte(i int64) []byte

func IsDefaultHash

func IsDefaultHash(h string) bool

func IsNotSet

func IsNotSet(s string) bool

func IsSet

func IsSet(s string) bool

func Manifest added in v0.30.0

func Manifest(metadata *dsm3.Metadata) *manifest

func Object

func Object(i *dsc3.Object) *object

func ObjectIdentifier

func ObjectIdentifier(i *dsc3.ObjectIdentifier) *objectIdentifier

func ObjectSelector

func ObjectSelector(i *dsc3.ObjectIdentifier) *objectSelector

func Relation

func Relation(i *dsc3.Relation) *relation

func StrToInt32

func StrToInt32(s string) int32

func UUIDToByte

func UUIDToByte(s string) []byte

func Uint32ToByte

func Uint32ToByte(i uint32) []byte

func Uint64ToByte

func Uint64ToByte(i uint64) []byte

Types

type Direction

type Direction int
const (
	SubjectToObject Direction = 0
	ObjectToSubject Direction = 1
)

type GraphWalker

type GraphWalker struct {
	// contains filtered or unexported fields
}

func (*GraphWalker) Fetch added in v0.21.2

func (w *GraphWalker) Fetch() error

func (*GraphWalker) Filter added in v0.21.2

func (w *GraphWalker) Filter() error

func (*GraphWalker) Results

func (w *GraphWalker) Results() ([]*dsc3.ObjectDependency, error)

type RelationFilter added in v0.21.5

type RelationFilter func(*dsc3.Relation) bool

Jump to

Keyboard shortcuts

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