Documentation ¶
Overview ¶
Package commands contains the code that handles each endpoint.
Index ¶
- Constants
- type CreateStoreCommand
- type DeleteStoreCommand
- type ExpandQuery
- type GetStoreQuery
- type ListObjectsQuery
- type ListObjectsQueryOption
- func WithCheckOptions(checkOptions []graph.LocalCheckerOption) ListObjectsQueryOption
- func WithListObjectsDeadline(deadline time.Duration) ListObjectsQueryOption
- func WithListObjectsMaxResults(max uint32) ListObjectsQueryOption
- func WithLogger(l logger.Logger) ListObjectsQueryOption
- func WithMaxConcurrentReads(limit uint32) ListObjectsQueryOption
- func WithResolveNodeBreadthLimit(limit uint32) ListObjectsQueryOption
- func WithResolveNodeLimit(limit uint32) ListObjectsQueryOption
- type ListObjectsResponse
- type ListObjectsResult
- type ListStoresQuery
- type ReadAssertionsQuery
- type ReadAuthorizationModelQuery
- type ReadAuthorizationModelsQuery
- type ReadChangesQuery
- type ReadQuery
- type WriteAssertionsCommand
- type WriteAuthorizationModelCommand
- type WriteCommand
Constants ¶
const (
IndirectWriteErrorReason = "Attempting to write directly to an indirect only relationship"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateStoreCommand ¶
type CreateStoreCommand struct {
// contains filtered or unexported fields
}
func NewCreateStoreCommand ¶
func NewCreateStoreCommand( storesBackend storage.StoresBackend, logger logger.Logger, ) *CreateStoreCommand
func (*CreateStoreCommand) Execute ¶
func (s *CreateStoreCommand) Execute(ctx context.Context, req *openfgav1.CreateStoreRequest) (*openfgav1.CreateStoreResponse, error)
type DeleteStoreCommand ¶
type DeleteStoreCommand struct {
// contains filtered or unexported fields
}
func NewDeleteStoreCommand ¶
func NewDeleteStoreCommand( storesBackend storage.StoresBackend, logger logger.Logger, ) *DeleteStoreCommand
func (*DeleteStoreCommand) Execute ¶
func (s *DeleteStoreCommand) Execute(ctx context.Context, req *openfgav1.DeleteStoreRequest) (*openfgav1.DeleteStoreResponse, error)
type ExpandQuery ¶
type ExpandQuery struct {
// contains filtered or unexported fields
}
ExpandQuery resolves a target TupleKey into a UsersetTree by expanding type definitions.
func NewExpandQuery ¶
func NewExpandQuery(datastore storage.OpenFGADatastore, logger logger.Logger) *ExpandQuery
NewExpandQuery creates a new ExpandQuery using the supplied backends for retrieving data.
func (*ExpandQuery) Execute ¶
func (q *ExpandQuery) Execute(ctx context.Context, req *openfgav1.ExpandRequest) (*openfgav1.ExpandResponse, error)
type GetStoreQuery ¶
type GetStoreQuery struct {
// contains filtered or unexported fields
}
func NewGetStoreQuery ¶
func NewGetStoreQuery(storesBackend storage.StoresBackend, logger logger.Logger) *GetStoreQuery
func (*GetStoreQuery) Execute ¶
func (q *GetStoreQuery) Execute(ctx context.Context, req *openfgav1.GetStoreRequest) (*openfgav1.GetStoreResponse, error)
type ListObjectsQuery ¶
type ListObjectsQuery struct {
// contains filtered or unexported fields
}
func NewListObjectsQuery ¶ added in v1.3.0
func NewListObjectsQuery(ds storage.RelationshipTupleReader, opts ...ListObjectsQueryOption) *ListObjectsQuery
func (*ListObjectsQuery) Execute ¶
func (q *ListObjectsQuery) Execute( ctx context.Context, req *openfgav1.ListObjectsRequest, ) (*ListObjectsResponse, error)
Execute the ListObjectsQuery, returning a list of object IDs up to a maximum of q.listObjectsMaxResults or until q.listObjectsDeadline is hit, whichever happens first.
func (*ListObjectsQuery) ExecuteStreamed ¶
func (q *ListObjectsQuery) ExecuteStreamed(ctx context.Context, req *openfgav1.StreamedListObjectsRequest, srv openfgav1.OpenFGAService_StreamedListObjectsServer) (*reverseexpand.ResolutionMetadata, error)
ExecuteStreamed executes the ListObjectsQuery, returning a stream of object IDs. It ignores the value of q.listObjectsMaxResults and returns all available results until q.listObjectsDeadline is hit
type ListObjectsQueryOption ¶ added in v1.3.0
type ListObjectsQueryOption func(d *ListObjectsQuery)
func WithCheckOptions ¶ added in v1.3.1
func WithCheckOptions(checkOptions []graph.LocalCheckerOption) ListObjectsQueryOption
func WithListObjectsDeadline ¶ added in v1.3.0
func WithListObjectsDeadline(deadline time.Duration) ListObjectsQueryOption
func WithListObjectsMaxResults ¶ added in v1.3.0
func WithListObjectsMaxResults(max uint32) ListObjectsQueryOption
func WithLogger ¶ added in v1.3.0
func WithLogger(l logger.Logger) ListObjectsQueryOption
func WithMaxConcurrentReads ¶ added in v1.3.0
func WithMaxConcurrentReads(limit uint32) ListObjectsQueryOption
WithMaxConcurrentReads see server.WithMaxConcurrentReadsForListObjects
func WithResolveNodeBreadthLimit ¶ added in v1.3.0
func WithResolveNodeBreadthLimit(limit uint32) ListObjectsQueryOption
WithResolveNodeBreadthLimit see server.WithResolveNodeBreadthLimit
func WithResolveNodeLimit ¶ added in v1.3.0
func WithResolveNodeLimit(limit uint32) ListObjectsQueryOption
WithResolveNodeLimit see server.WithResolveNodeLimit
type ListObjectsResponse ¶ added in v1.3.2
type ListObjectsResponse struct { Objects []string ResolutionMetadata reverseexpand.ResolutionMetadata }
type ListObjectsResult ¶ added in v1.1.1
type ListStoresQuery ¶
type ListStoresQuery struct {
// contains filtered or unexported fields
}
func NewListStoresQuery ¶
func NewListStoresQuery(storesBackend storage.StoresBackend, logger logger.Logger, encoder encoder.Encoder) *ListStoresQuery
func (*ListStoresQuery) Execute ¶
func (q *ListStoresQuery) Execute(ctx context.Context, req *openfgav1.ListStoresRequest) (*openfgav1.ListStoresResponse, error)
type ReadAssertionsQuery ¶
type ReadAssertionsQuery struct {
// contains filtered or unexported fields
}
func NewReadAssertionsQuery ¶
func NewReadAssertionsQuery(backend storage.AssertionsBackend, logger logger.Logger) *ReadAssertionsQuery
func (*ReadAssertionsQuery) Execute ¶
func (q *ReadAssertionsQuery) Execute(ctx context.Context, store, authorizationModelID string) (*openfgav1.ReadAssertionsResponse, error)
type ReadAuthorizationModelQuery ¶
type ReadAuthorizationModelQuery struct {
// contains filtered or unexported fields
}
ReadAuthorizationModelQuery retrieves a single type definition from a storage backend.
func NewReadAuthorizationModelQuery ¶
func NewReadAuthorizationModelQuery(backend storage.AuthorizationModelReadBackend, logger logger.Logger) *ReadAuthorizationModelQuery
func (*ReadAuthorizationModelQuery) Execute ¶
func (q *ReadAuthorizationModelQuery) Execute(ctx context.Context, req *openfgav1.ReadAuthorizationModelRequest) (*openfgav1.ReadAuthorizationModelResponse, error)
type ReadAuthorizationModelsQuery ¶
type ReadAuthorizationModelsQuery struct {
// contains filtered or unexported fields
}
func NewReadAuthorizationModelsQuery ¶
func NewReadAuthorizationModelsQuery(backend storage.AuthorizationModelReadBackend, logger logger.Logger, encoder encoder.Encoder) *ReadAuthorizationModelsQuery
func (*ReadAuthorizationModelsQuery) Execute ¶
func (q *ReadAuthorizationModelsQuery) Execute(ctx context.Context, req *openfgav1.ReadAuthorizationModelsRequest) (*openfgav1.ReadAuthorizationModelsResponse, error)
type ReadChangesQuery ¶
type ReadChangesQuery struct {
// contains filtered or unexported fields
}
func NewReadChangesQuery ¶
func NewReadChangesQuery(backend storage.ChangelogBackend, logger logger.Logger, encoder encoder.Encoder, horizonOffset int) *ReadChangesQuery
NewReadChangesQuery creates a ReadChangesQuery with specified `ChangelogBackend` and `typeDefinitionReadBackend` to use for storage
func (*ReadChangesQuery) Execute ¶
func (q *ReadChangesQuery) Execute(ctx context.Context, req *openfgav1.ReadChangesRequest) (*openfgav1.ReadChangesResponse, error)
Execute the ReadChangesQuery, returning paginated `openfga.TupleChange`(s) and a possibly non-empty continuation token.
type ReadQuery ¶
type ReadQuery struct {
// contains filtered or unexported fields
}
A ReadQuery can be used to read one or many tuplesets Each tupleset specifies keys of a set of relation tuples. The set can include a single tuple key, or all tuples with a given object ID or userset in a type, optionally constrained by a relation name.
func NewReadQuery ¶
func NewReadQuery(datastore storage.OpenFGADatastore, logger logger.Logger, encoder encoder.Encoder) *ReadQuery
NewReadQuery creates a ReadQuery using the provided OpenFGA datastore implementation.
func (*ReadQuery) Execute ¶
func (q *ReadQuery) Execute(ctx context.Context, req *openfgav1.ReadRequest) (*openfgav1.ReadResponse, error)
Execute the ReadQuery, returning paginated `openfga.Tuple`(s) that match the tuple. Return all tuples if the tuple is nil or empty.
type WriteAssertionsCommand ¶
type WriteAssertionsCommand struct {
// contains filtered or unexported fields
}
func NewWriteAssertionsCommand ¶
func NewWriteAssertionsCommand( datastore storage.OpenFGADatastore, logger logger.Logger, ) *WriteAssertionsCommand
func (*WriteAssertionsCommand) Execute ¶
func (w *WriteAssertionsCommand) Execute(ctx context.Context, req *openfgav1.WriteAssertionsRequest) (*openfgav1.WriteAssertionsResponse, error)
type WriteAuthorizationModelCommand ¶
type WriteAuthorizationModelCommand struct {
// contains filtered or unexported fields
}
WriteAuthorizationModelCommand performs updates of the store authorization model.
func NewWriteAuthorizationModelCommand ¶
func NewWriteAuthorizationModelCommand( backend storage.TypeDefinitionWriteBackend, logger logger.Logger, maxAuthorizationModelSizeInBytes int, ) *WriteAuthorizationModelCommand
func (*WriteAuthorizationModelCommand) Execute ¶
func (w *WriteAuthorizationModelCommand) Execute(ctx context.Context, req *openfgav1.WriteAuthorizationModelRequest) (*openfgav1.WriteAuthorizationModelResponse, error)
Execute the command using the supplied request.
type WriteCommand ¶
type WriteCommand struct {
// contains filtered or unexported fields
}
WriteCommand is used to Write and Delete tuples. Instances may be safely shared by multiple goroutines.
func NewWriteCommand ¶
func NewWriteCommand(datastore storage.OpenFGADatastore, logger logger.Logger) *WriteCommand
NewWriteCommand creates a WriteCommand with specified storage.TupleBackend to use for storage.
func (*WriteCommand) Execute ¶
func (c *WriteCommand) Execute(ctx context.Context, req *openfgav1.WriteRequest) (*openfgav1.WriteResponse, error)
Execute deletes and writes the specified tuples. Deletes are applied first, then writes.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package reverseexpand contains the code that handles the ReverseExpand API
|
Package reverseexpand contains the code that handles the ReverseExpand API |