tuple

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 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>"
	REFERENCE = "%s#%s" // format string for reference in the form of "<type>#<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 AreRelationReferencesEqual added in v0.4.2

func AreRelationReferencesEqual(s1, s2 *base.RelationReference) bool

AreRelationReferencesEqual checks if two relation references are equal or not

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 function parses an Entity string and returns an Entity object.

func EAR

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

EAR function parses a string to create a base.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 ReferenceToString added in v0.4.2

func ReferenceToString(ref *base.RelationReference) string

ReferenceToString -

func RelationReference added in v0.4.2

func RelationReference(ref string) *base.RelationReference

RelationReference parses a relation reference string and returns a RelationReference object.

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 ToString added in v0.4.5

func ToString(tup *base.Tuple) string

ToString function converts a Tuple object to a 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