Documentation ¶
Index ¶
- Constants
- Variables
- func BoolToByte(b bool) []byte
- func ByteToInt32(b []byte) int32
- func CheckPermission(i *dsr2.CheckPermissionRequest) *checkPermission
- func CheckRelation(i *dsr2.CheckRelationRequest) *checkRelation
- func CreateUserSet(ctx context.Context, tx *bolt.Tx, subject *dsc2.ObjectIdentifier) ([]*dsc2.ObjectIdentifier, error)
- func ExpandRelation(relTypes []*dsc2.RelationType, relation string) []string
- func GetGraph(i *dsr2.GetGraphRequest) *getGraph
- func Int32ToByte(i int32) []byte
- func Int32ToStr(i int32) string
- func Int64ToByte(i int64) []byte
- func IsDefaultHash(h string) bool
- func IsNotSet(s string) bool
- func IsSet(s string) bool
- func Object(i *dsc2.Object) *object
- func ObjectDependency(i *dsc2.ObjectDependency) *objectDependency
- func ObjectIdentifier(i *dsc2.ObjectIdentifier) *objectIdentifier
- func ObjectSelector(i *dsc2.ObjectIdentifier) *objectSelector
- func ObjectType(i *dsc2.ObjectType) *objectType
- func ObjectTypeIdentifier(i *dsc2.ObjectTypeIdentifier) *objectTypeIdentifier
- func ObjectTypeSelector(i *dsc2.ObjectTypeIdentifier) *objectTypeSelector
- func Permission(i *dsc2.Permission) *permission
- func PermissionIdentifier(i *dsc2.PermissionIdentifier) *permissionIdentifier
- func Relation(i *dsc2.Relation) *relation
- func RelationIdentifier(i *dsc2.RelationIdentifier) *relationIdentifier
- func RelationSelector(i *dsc2.RelationIdentifier) *relationSelector
- func RelationType(i *dsc2.RelationType) *relationType
- func RelationTypeIdentifier(i *dsc2.RelationTypeIdentifier) *relationTypeIdentifier
- func RelationTypeSelector(i *dsc2.RelationTypeIdentifier) *relationTypeSelector
- func ResolvePermission(ctx context.Context, tx *bolt.Tx, objectType, permission string) ([]string, error)
- func ResolveRelation(ctx context.Context, tx *bolt.Tx, objectType, relation string) ([]string, error)
- func StrToInt32(s string) int32
- func UUIDToByte(s string) []byte
- func Uint32ToByte(i uint32) []byte
- func Uint64ToByte(i uint64) []byte
- type Direction
- type GraphWalker
- type RelationFilter
Constants ¶
View Source
const ( TypeIDSeparator string = ":" InstanceSeparator string = "|" )
View Source
const DefaultHash string = `0`
Variables ¶
View Source
var ( // TODO renumber errors. ErrObjectTypeNotFound = cerr.NewAsertoError("E20031", codes.NotFound, http.StatusNotFound, "object type not found") ErrObjectNotFound = cerr.NewAsertoError("E20032", codes.NotFound, http.StatusNotFound, "object not found") ErrRelationNotFound = cerr.NewAsertoError("E20033", codes.NotFound, http.StatusNotFound, "relation not found") ErrRelationTypeNotFound = cerr.NewAsertoError("E20033", codes.NotFound, http.StatusNotFound, "relation type not found") ErrInvalidArgumentObjectTypeIdentifier = cerr.NewAsertoError("E20034", codes.InvalidArgument, http.StatusBadRequest, "object type identifier invalid argument") ErrInvalidArgumentRelationTypeIdentifier = cerr.NewAsertoError("E20034", codes.InvalidArgument, http.StatusBadRequest, "relation type identifier invalid argument") ErrInvalidArgumentObjectIdentifier = cerr.NewAsertoError("E20035", codes.InvalidArgument, http.StatusBadRequest, "object identifier invalid argument") ErrInvalidArgumentRelationIdentifier = cerr.NewAsertoError("E20036", codes.InvalidArgument, http.StatusBadRequest, "relation identifier invalid argument") ErrInvalidArgumentObjectTypeSelector = cerr.NewAsertoError("E20037", codes.InvalidArgument, http.StatusBadRequest, "object type selector invalid argument") ErrNoCompleteObjectIdentifier = cerr.NewAsertoError("E20038", codes.FailedPrecondition, http.StatusPreconditionFailed, "relation identifier no complete object identifier") ErrInvalidArgumentPermissionIdentifier = cerr.NewAsertoError("E20039", codes.InvalidArgument, http.StatusBadRequest, "permission identifier invalid argument") ErrInvalidArgumentObjectType = cerr.NewAsertoError("E20040", codes.InvalidArgument, http.StatusBadRequest, "object type invalid argument") ErrInvalidArgumentRelationType = cerr.NewAsertoError("E20041", codes.InvalidArgument, http.StatusBadRequest, "relation type invalid argument") ErrInvalidArgumentPermission = cerr.NewAsertoError("E20042", codes.InvalidArgument, http.StatusBadRequest, "permission invalid argument") ErrInvalidArgumentObject = cerr.NewAsertoError("E20042", codes.InvalidArgument, http.StatusBadRequest, "object invalid argument") ErrInvalidArgumentRelation = cerr.NewAsertoError("E20042", codes.InvalidArgument, http.StatusBadRequest, "relation invalid argument") ErrGraphDirectionality = cerr.NewAsertoError("E20043", codes.InvalidArgument, http.StatusPreconditionFailed, "unable to determine graph directionality") )
Functions ¶
func BoolToByte ¶
func ByteToInt32 ¶
func CheckPermission ¶
func CheckPermission(i *dsr2.CheckPermissionRequest) *checkPermission
func CheckRelation ¶
func CheckRelation(i *dsr2.CheckRelationRequest) *checkRelation
func CreateUserSet ¶ added in v0.21.2
func CreateUserSet(ctx context.Context, tx *bolt.Tx, subject *dsc2.ObjectIdentifier) ([]*dsc2.ObjectIdentifier, error)
CreateUserSet, create the computed user set of a subject.
func ExpandRelation ¶
func ExpandRelation(relTypes []*dsc2.RelationType, relation string) []string
ExpandRelation, expand relation to include covering relation within the object_type.
func GetGraph ¶
func GetGraph(i *dsr2.GetGraphRequest) *getGraph
func Int32ToByte ¶
func Int32ToStr ¶
func Int64ToByte ¶
func IsDefaultHash ¶
func ObjectDependency ¶
func ObjectDependency(i *dsc2.ObjectDependency) *objectDependency
func ObjectIdentifier ¶
func ObjectIdentifier(i *dsc2.ObjectIdentifier) *objectIdentifier
func ObjectSelector ¶
func ObjectSelector(i *dsc2.ObjectIdentifier) *objectSelector
func ObjectType ¶
func ObjectType(i *dsc2.ObjectType) *objectType
func ObjectTypeIdentifier ¶
func ObjectTypeIdentifier(i *dsc2.ObjectTypeIdentifier) *objectTypeIdentifier
func ObjectTypeSelector ¶
func ObjectTypeSelector(i *dsc2.ObjectTypeIdentifier) *objectTypeSelector
func Permission ¶
func Permission(i *dsc2.Permission) *permission
func PermissionIdentifier ¶
func PermissionIdentifier(i *dsc2.PermissionIdentifier) *permissionIdentifier
func RelationIdentifier ¶
func RelationIdentifier(i *dsc2.RelationIdentifier) *relationIdentifier
func RelationSelector ¶
func RelationSelector(i *dsc2.RelationIdentifier) *relationSelector
func RelationType ¶
func RelationType(i *dsc2.RelationType) *relationType
func RelationTypeIdentifier ¶
func RelationTypeIdentifier(i *dsc2.RelationTypeIdentifier) *relationTypeIdentifier
func RelationTypeSelector ¶
func RelationTypeSelector(i *dsc2.RelationTypeIdentifier) *relationTypeSelector
func ResolvePermission ¶
func ResolvePermission(ctx context.Context, tx *bolt.Tx, objectType, permission string) ([]string, error)
ResolvePermission, resolves the permission to covering relations, within the scope of the object_type.
func ResolveRelation ¶
func ResolveRelation(ctx context.Context, tx *bolt.Tx, objectType, relation string) ([]string, error)
ResolveRelation, resolves the relation to covering relations within the scope of the object_type.
func StrToInt32 ¶
func UUIDToByte ¶
func Uint32ToByte ¶
func Uint64ToByte ¶
Types ¶
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() ([]*dsc2.ObjectDependency, error)
type RelationFilter ¶ added in v0.21.5
Click to show internal directories.
Click to hide internal directories.