Documentation
¶
Overview ¶
Package memory implements a memory storage backend for the fertilesoil storage interface. This is not meant to be the most useful nor the most performant storage backend, but rather a reference implementation which is useful for testing and development.
Index ¶
- type Driver
- func (t *Driver) CreateDirectory(ctx context.Context, d *v1.Directory) (*v1.Directory, error)
- func (t *Driver) CreateRoot(ctx context.Context, d *v1.Directory) (*v1.Directory, error)
- func (t *Driver) DeleteDirectory(ctx context.Context, id v1.DirectoryID) ([]*v1.Directory, error)
- func (t *Driver) GetChildren(ctx context.Context, id v1.DirectoryID, options ...storage.Option) ([]v1.DirectoryID, error)
- func (t *Driver) GetDirectory(ctx context.Context, id v1.DirectoryID, options ...storage.Option) (*v1.Directory, error)
- func (t *Driver) GetParents(ctx context.Context, id v1.DirectoryID, options ...storage.Option) ([]v1.DirectoryID, error)
- func (t *Driver) GetParentsUntilAncestor(ctx context.Context, child, ancestor v1.DirectoryID, options ...storage.Option) ([]v1.DirectoryID, error)
- func (t *Driver) ListRoots(ctx context.Context, options ...storage.Option) ([]v1.DirectoryID, error)
- func (t *Driver) UpdateDirectory(ctx context.Context, d *v1.Directory) error
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
func NewDirectoryDriver ¶
func (*Driver) CreateDirectory ¶
CreateDirectory creates a directory. ID is generated by the database, it will be ignored if given.
func (*Driver) CreateRoot ¶
CreateRoot creates a root directory. Root directories are directories that have no parent directory. ID is generated by the database, it will be ignored if given.
func (*Driver) DeleteDirectory ¶
DeleteDirectory deletes a directory.
func (*Driver) GetChildren ¶
func (t *Driver) GetChildren( ctx context.Context, id v1.DirectoryID, options ...storage.Option, ) ([]v1.DirectoryID, error)
GetChildren gets all child directories of a directory.
func (*Driver) GetDirectory ¶
func (t *Driver) GetDirectory( ctx context.Context, id v1.DirectoryID, options ...storage.Option, ) (*v1.Directory, error)
GetDirectory gets a directory by ID.
func (*Driver) GetParents ¶
func (t *Driver) GetParents( ctx context.Context, id v1.DirectoryID, options ...storage.Option, ) ([]v1.DirectoryID, error)
GetParents gets all parent directories of a directory.
func (*Driver) GetParentsUntilAncestor ¶
func (t *Driver) GetParentsUntilAncestor( ctx context.Context, child, ancestor v1.DirectoryID, options ...storage.Option, ) ([]v1.DirectoryID, error)
GetParentsUntilAncestor gets all parent directories of a directory until the ancestor directory is reached.