Help us shape the future of Go! Take the 2026 Go Developer Survey

nextcloud

package
v2.52.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetNextcloudServerMock

func GetNextcloudServerMock(called *[]string) http.Handler

GetNextcloudServerMock returns a handler that pretends to be a remote Nextcloud server

func New

func New(m map[string]interface{}, _ events.Stream, _ *zerolog.Logger) (storage.FS, error)

New returns an implementation to of the storage.FS interface that talks to a Nextcloud instance over http.

func TestingHTTPClient

func TestingHTTPClient(handler http.Handler) (*http.Client, func())

TestingHTTPClient thanks to https://itnext.io/how-to-stub-requests-to-remote-hosts-with-go-6c2c1db32bf2 Ideally, this function would live in tests/helpers, but if we put it there, it gets excluded by .dockerignore, and the Docker build fails (see https://github.com/cs3org/reva/issues/1999) So putting it here for now - open to suggestions if someone knows a better way to inject this.

Types

type Action

type Action struct {
	// contains filtered or unexported fields
}

Action describes a REST request to forward to the Nextcloud backend

type Response

type Response struct {
	// contains filtered or unexported fields
}

Response contains data for the Nextcloud mock server to respond and to switch to a new server state

type StorageDriver

type StorageDriver struct {
	// contains filtered or unexported fields
}

StorageDriver implements the storage.FS interface and connects with a StorageDriver server as its backend

func NewStorageDriver

func NewStorageDriver(c *StorageDriverConfig) (*StorageDriver, error)

NewStorageDriver returns a new NextcloudStorageDriver

func (*StorageDriver) AddGrant

func (nc *StorageDriver) AddGrant(ctx context.Context, ref *provider.Reference, g *provider.Grant) error

AddGrant as defined in the storage.FS interface

func (*StorageDriver) AddLabel added in v2.44.0

func (nc *StorageDriver) AddLabel(ctx context.Context, ref *provider.Reference, userID *user.UserId, label string) error

AddLabel adds a label to a resource

func (*StorageDriver) CommitUpload added in v2.52.0

CommitUpload as defined in the storage.FS interface

func (*StorageDriver) CreateDir

func (nc *StorageDriver) CreateDir(ctx context.Context, ref *provider.Reference) error

CreateDir as defined in the storage.FS interface

func (*StorageDriver) CreateHome

func (nc *StorageDriver) CreateHome(ctx context.Context) error

CreateHome as defined in the storage.FS interface

func (*StorageDriver) CreateReference

func (nc *StorageDriver) CreateReference(ctx context.Context, path string, targetURI *url.URL) error

CreateReference as defined in the storage.FS interface

func (*StorageDriver) CreateStorageSpace

CreateStorageSpace creates a storage space

func (*StorageDriver) Delete

func (nc *StorageDriver) Delete(ctx context.Context, ref *provider.Reference) error

Delete as defined in the storage.FS interface

func (*StorageDriver) DeleteStorageSpace

func (nc *StorageDriver) DeleteStorageSpace(ctx context.Context, req *provider.DeleteStorageSpaceRequest) error

DeleteStorageSpace deletes a storage space

func (*StorageDriver) DenyGrant

func (nc *StorageDriver) DenyGrant(ctx context.Context, ref *provider.Reference, g *provider.Grantee) error

DenyGrant as defined in the storage.FS interface

func (*StorageDriver) Download

func (nc *StorageDriver) Download(ctx context.Context, ref *provider.Reference, openReaderfunc func(*provider.ResourceInfo) bool) (*provider.ResourceInfo, io.ReadCloser, error)

Download as defined in the storage.FS interface

func (*StorageDriver) DownloadRevision

func (nc *StorageDriver) DownloadRevision(ctx context.Context, ref *provider.Reference, key string, openReaderfunc func(*provider.ResourceInfo) bool) (*provider.ResourceInfo, io.ReadCloser, error)

DownloadRevision as defined in the storage.FS interface

func (*StorageDriver) EmptyRecycle

func (nc *StorageDriver) EmptyRecycle(ctx context.Context, ref *provider.Reference) error

EmptyRecycle as defined in the storage.FS interface

func (*StorageDriver) GetHome

func (nc *StorageDriver) GetHome(ctx context.Context) (string, error)

GetHome as defined in the storage.FS interface

func (*StorageDriver) GetLock

func (nc *StorageDriver) GetLock(ctx context.Context, ref *provider.Reference) (*provider.Lock, error)

GetLock returns an existing lock on the given reference

func (*StorageDriver) GetMD

func (nc *StorageDriver) GetMD(ctx context.Context, ref *provider.Reference, mdKeys []string, fieldMask []string) (*provider.ResourceInfo, error)

GetMD as defined in the storage.FS interface TODO forward fieldMask

func (*StorageDriver) GetPathByID

func (nc *StorageDriver) GetPathByID(ctx context.Context, id *provider.ResourceId) (string, error)

GetPathByID as defined in the storage.FS interface

func (*StorageDriver) GetQuota

func (nc *StorageDriver) GetQuota(ctx context.Context, ref *provider.Reference) (uint64, uint64, uint64, error)

GetQuota as defined in the storage.FS interface

func (*StorageDriver) InitiateUpload

func (nc *StorageDriver) InitiateUpload(ctx context.Context, ref *provider.Reference, uploadLength int64, metadata map[string]string) (map[string]string, error)

InitiateUpload as defined in the storage.FS interface

func (*StorageDriver) ListFolder

func (nc *StorageDriver) ListFolder(ctx context.Context, ref *provider.Reference, mdKeys, fieldMask []string) ([]*provider.ResourceInfo, error)

ListFolder as defined in the storage.FS interface

func (*StorageDriver) ListGrants

func (nc *StorageDriver) ListGrants(ctx context.Context, ref *provider.Reference) ([]*provider.Grant, error)

ListGrants as defined in the storage.FS interface

func (*StorageDriver) ListRecycle

func (nc *StorageDriver) ListRecycle(ctx context.Context, ref *provider.Reference, key string, relativePath string) ([]*provider.RecycleItem, error)

ListRecycle as defined in the storage.FS interface

func (*StorageDriver) ListRevisions

func (nc *StorageDriver) ListRevisions(ctx context.Context, ref *provider.Reference) ([]*provider.FileVersion, error)

ListRevisions as defined in the storage.FS interface

func (*StorageDriver) ListStorageSpaces

func (nc *StorageDriver) ListStorageSpaces(ctx context.Context, f []*provider.ListStorageSpacesRequest_Filter, unrestricted bool) ([]*provider.StorageSpace, error)

ListStorageSpaces as defined in the storage.FS interface

func (*StorageDriver) MarkProcessing added in v2.52.0

func (nc *StorageDriver) MarkProcessing(ctx context.Context, ref *provider.Reference, processing bool, sessionID string) error

MarkProcessing as defined in the storage.FS interface

func (*StorageDriver) Move

func (nc *StorageDriver) Move(ctx context.Context, oldRef, newRef *provider.Reference) (*storage.MoveResult, error)

Move as defined in the storage.FS interface

func (*StorageDriver) PurgeRecycleItem

func (nc *StorageDriver) PurgeRecycleItem(ctx context.Context, ref *provider.Reference, key, relativePath string) error

PurgeRecycleItem as defined in the storage.FS interface

func (*StorageDriver) RefreshLock

func (nc *StorageDriver) RefreshLock(ctx context.Context, ref *provider.Reference, lock *provider.Lock, existingLockID string) error

RefreshLock refreshes an existing lock on the given reference

func (*StorageDriver) RemoveGrant

func (nc *StorageDriver) RemoveGrant(ctx context.Context, ref *provider.Reference, g *provider.Grant) error

RemoveGrant as defined in the storage.FS interface

func (*StorageDriver) RemoveLabel added in v2.44.0

func (nc *StorageDriver) RemoveLabel(ctx context.Context, ref *provider.Reference, userID *user.UserId, label string) error

RemoveLabel removes a label from a resource

func (*StorageDriver) RestoreRecycleItem

func (nc *StorageDriver) RestoreRecycleItem(ctx context.Context, ref *provider.Reference, key, relativePath string, restoreRef *provider.Reference) error

RestoreRecycleItem as defined in the storage.FS interface

func (*StorageDriver) RestoreRevision

func (nc *StorageDriver) RestoreRevision(ctx context.Context, ref *provider.Reference, key string) error

RestoreRevision as defined in the storage.FS interface

func (*StorageDriver) SetArbitraryMetadata

func (nc *StorageDriver) SetArbitraryMetadata(ctx context.Context, ref *provider.Reference, md *provider.ArbitraryMetadata) error

SetArbitraryMetadata as defined in the storage.FS interface

func (*StorageDriver) SetHTTPClient

func (nc *StorageDriver) SetHTTPClient(c *http.Client)

SetHTTPClient sets the HTTP client

func (*StorageDriver) SetLock

func (nc *StorageDriver) SetLock(ctx context.Context, ref *provider.Reference, lock *provider.Lock) error

SetLock puts a lock on the given reference

func (*StorageDriver) Shutdown

func (nc *StorageDriver) Shutdown(ctx context.Context) error

Shutdown as defined in the storage.FS interface

func (*StorageDriver) TouchFile

func (nc *StorageDriver) TouchFile(ctx context.Context, ref *provider.Reference, markprocessing bool, mtime string) error

TouchFile as defined in the storage.FS interface

func (*StorageDriver) Unlock

func (nc *StorageDriver) Unlock(ctx context.Context, ref *provider.Reference, lock *provider.Lock) error

Unlock removes an existing lock from the given reference

func (*StorageDriver) UnsetArbitraryMetadata

func (nc *StorageDriver) UnsetArbitraryMetadata(ctx context.Context, ref *provider.Reference, keys []string) error

UnsetArbitraryMetadata as defined in the storage.FS interface

func (*StorageDriver) UpdateGrant

func (nc *StorageDriver) UpdateGrant(ctx context.Context, ref *provider.Reference, g *provider.Grant) error

UpdateGrant as defined in the storage.FS interface

func (*StorageDriver) UpdateStorageSpace

UpdateStorageSpace updates a storage space

func (*StorageDriver) Upload

Upload as defined in the storage.FS interface

type StorageDriverConfig

type StorageDriverConfig struct {
	EndPoint     string `mapstructure:"endpoint"` // e.g. "http://nc/apps/sciencemesh/~alice/"
	SharedSecret string `mapstructure:"shared_secret"`
	MockHTTP     bool   `mapstructure:"mock_http"`
}

StorageDriverConfig is the configuration struct for a NextcloudStorageDriver

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL