Documentation ¶
Index ¶
- Constants
- Variables
- func AreQueryAndSubjectEqual(en *v1.Entity, permission string, s2 *v1.Subject) bool
- func AreRelationReferencesEqual(s1, s2 *v1.RelationReference) bool
- func AreSubjectsEqual(s1, s2 *v1.Subject) bool
- func E(e string) (*v1.Entity, error)
- func EAR(ear string) (*v1.EntityAndRelation, error)
- func EAREqual(s1, s2 *v1.EntityAndRelation) bool
- func EntityAndRelationToString(entity *v1.Entity, relation string) string
- func EntityToString(entity *v1.Entity) string
- func IsDirectSubject(subject *v1.Subject) bool
- func IsEntityAndSubjectEquals(t *v1.Tuple) bool
- func IsRelationComputed(relation string) bool
- func IsSubjectValid(subject *v1.Subject) bool
- func NormalizeRelation(relation string) string
- func ReferenceToString(ref *v1.RelationReference) string
- func RelationReference(ref string) *v1.RelationReference
- func SplitRelation(relation string) (a []string)
- func SubjectToEAR(subject *v1.Subject) *v1.EntityAndRelation
- func SubjectToString(subject *v1.Subject) string
- func ToString(tup *v1.Tuple) string
- func Tuple(tuple string) (*v1.Tuple, error)
- func ValidateSubjectType(subject *v1.Subject, relationTypes []string) (err error)
Constants ¶
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>" )
const (
ELLIPSIS = "..." // ellipsis string
)
const (
SEPARATOR = "." // separator string used to concatenate entity and relation
)
Variables ¶
Functions ¶
func AreQueryAndSubjectEqual ¶
AreQueryAndSubjectEqual checks if a query and a subject are equal
func AreRelationReferencesEqual ¶
func AreRelationReferencesEqual(s1, s2 *v1.RelationReference) bool
AreRelationReferencesEqual checks if two relation references are equal or not
func AreSubjectsEqual ¶
AreSubjectsEqual checks if two subjects are equal
func EAR ¶
func EAR(ear string) (*v1.EntityAndRelation, error)
EAR function parses a string to create a v1.EntityAndRelation object.
func EAREqual ¶
func EAREqual(s1, s2 *v1.EntityAndRelation) bool
EAREqual checks if two subjects are equal
func EntityAndRelationToString ¶
EntityAndRelationToString converts an EntityAndRelation object to string format
func EntityToString ¶
EntityToString converts an Entity object to string format
func IsDirectSubject ¶
IsDirectSubject checks if the given subject is of type "user"
func IsEntityAndSubjectEquals ¶
IsEntityAndSubjectEquals checks if the entity and subject of a Tuple object are equal
func IsRelationComputed ¶
IsRelationComputed checks if a relation is computed or not
func IsSubjectValid ¶
IsSubjectValid checks if a subject is valid or not
func NormalizeRelation ¶
NormalizeRelation normalizes the relation, treating ellipsis as an empty string
func ReferenceToString ¶
func ReferenceToString(ref *v1.RelationReference) string
ReferenceToString -
func RelationReference ¶
func RelationReference(ref string) *v1.RelationReference
RelationReference parses a relation reference string and returns a RelationReference object.
func SplitRelation ¶
SplitRelation splits a relation string by the separator "." and returns the result as a slice
func SubjectToEAR ¶
func SubjectToEAR(subject *v1.Subject) *v1.EntityAndRelation
SubjectToEAR converts a Subject object to an EntityAndRelation object
func SubjectToString ¶
SubjectToString converts a Subject object to string format.
Types ¶
This section is empty.