Documentation
¶
Overview ¶
Package reverseexpand contains the code that handles the ReverseExpand API
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConditionalResultStatus ¶
type ConditionalResultStatus int
const ( RequiresFurtherEvalStatus ConditionalResultStatus = iota NoFurtherEvalStatus )
type ResolutionMetadata ¶
type ResolutionMetadata struct {
QueryCount *uint32
}
func NewResolutionMetadata ¶
func NewResolutionMetadata() *ResolutionMetadata
type ReverseExpandQuery ¶
type ReverseExpandQuery struct {
// contains filtered or unexported fields
}
func NewReverseExpandQuery ¶
func NewReverseExpandQuery(ds storage.RelationshipTupleReader, ts *typesystem.TypeSystem, opts ...ReverseExpandQueryOption) *ReverseExpandQuery
func (*ReverseExpandQuery) Execute ¶
func (c *ReverseExpandQuery) Execute( ctx context.Context, req *ReverseExpandRequest, resultChan chan<- *ReverseExpandResult, resolutionMetadata *ResolutionMetadata, ) error
Execute yields all the objects of the provided objectType that the given user has, possibly, a specific relation with and sends those objects to resultChan. It MUST guarantee no duplicate objects sent.
type ReverseExpandQueryOption ¶
type ReverseExpandQueryOption func(d *ReverseExpandQuery)
func WithResolveNodeBreadthLimit ¶
func WithResolveNodeBreadthLimit(limit uint32) ReverseExpandQueryOption
func WithResolveNodeLimit ¶
func WithResolveNodeLimit(limit uint32) ReverseExpandQueryOption
type ReverseExpandRequest ¶
type ReverseExpandResult ¶
type ReverseExpandResult struct {
Object string
ResultStatus ConditionalResultStatus
}
type UserRef ¶
type UserRef struct {
// Types that are assignable to Ref
// *UserRef_Object
// *UserRef_TypedWildcard
// *UserRef_ObjectRelation
Ref IsUserRef
}
type UserRefObject ¶
func (*UserRefObject) GetObjectType ¶
func (u *UserRefObject) GetObjectType() string
func (*UserRefObject) String ¶
func (u *UserRefObject) String() string
type UserRefObjectRelation ¶
type UserRefObjectRelation struct {
ObjectRelation *openfgav1.ObjectRelation
}
func (*UserRefObjectRelation) GetObjectType ¶
func (u *UserRefObjectRelation) GetObjectType() string
func (*UserRefObjectRelation) String ¶
func (u *UserRefObjectRelation) String() string
type UserRefTypedWildcard ¶
type UserRefTypedWildcard struct {
Type string
}
func (*UserRefTypedWildcard) GetObjectType ¶
func (u *UserRefTypedWildcard) GetObjectType() string
func (*UserRefTypedWildcard) String ¶
func (u *UserRefTypedWildcard) String() string
Click to show internal directories.
Click to hide internal directories.