tuple

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ENTITY   = "%s:%s" // format string for entity in the form of "<type>:<id>"
	RELATION = "#%s"   // format string for relation in the form of "#<relation>"
)
View Source
const (
	ELLIPSIS = "..." // ellipsis string
)
View Source
const (
	SEPARATOR = "." // separator string used to concatenate entity and relation
)
View Source
const (
	USER = "user" // type string for user
)

Variables

View Source
var (
	ErrInvalidEntity            = errors.New("invalid entity")
	ErrInvalidTuple             = errors.New("invalid tuple")
	ErrInvalidEntityAndRelation = errors.New("invalid entity and relation")
)

Functions

func AreSubjectsEqual

func AreSubjectsEqual(s1, s2 *base.Subject) bool

AreSubjectsEqual checks if two subjects are equal

func E

func E(e string) (*base.Entity, error)

E parses an Entity string and returns an Entity object

func EAR

func EAR(ear string) (*base.EntityAndRelation, error)

EAR parses an EntityAndRelation string and returns an EntityAndRelation object

func EntityAndRelationToString

func EntityAndRelationToString(entityAndRelation *base.EntityAndRelation) string

EntityAndRelationToString converts an EntityAndRelation object to string format

func EntityToString

func EntityToString(entity *base.Entity) string

EntityToString converts an Entity object to string format

func IsEntityAndSubjectEquals

func IsEntityAndSubjectEquals(t *base.Tuple) bool

IsEntityAndSubjectEquals checks if the entity and subject of a Tuple object are equal

func IsRelationComputed

func IsRelationComputed(relation string) bool

IsRelationComputed checks if a relation is computed or not

func IsSubjectUser

func IsSubjectUser(subject *base.Subject) bool

IsSubjectUser checks if the given subject is of type "user"

func IsSubjectValid

func IsSubjectValid(subject *base.Subject) bool

IsSubjectValid checks if a subject is valid or not

func SetSubjectRelationToEllipsisIfNonUserAndNoRelation added in v0.4.0

func SetSubjectRelationToEllipsisIfNonUserAndNoRelation(subject *base.Subject) *base.Subject

SetSubjectRelationToEllipsisIfNonUserAndNoRelation sets the relation of a subject to an ellipsis if the subject is not of type "user" and the relation is empty

func SplitRelation

func SplitRelation(relation string) (a []string)

SplitRelation splits a relation string by the separator "." and returns the result as a slice

func SubjectToString

func SubjectToString(subject *base.Subject) string

SubjectToString converts a Subject object to string format

func Tuple

func Tuple(tuple string) (*base.Tuple, error)

Tuple parses a tuple string and returns a Tuple object

func ValidateSubjectType

func ValidateSubjectType(subject *base.Subject, relationTypes []string) (err error)

ValidateSubjectType validates if the subject type and relation are present in the list of allowed relation types

Types

This section is empty.

Jump to

Keyboard shortcuts

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