filecache

package
v2.21.0 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

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

Cache represents a oc10-style file cache

func New

func New(driver string, sqldb *sql.DB) (*Cache, error)

New returns a new Cache instance connecting to the given sql.DB

func NewMysql

func NewMysql(dsn string) (*Cache, error)

NewMysql returns a new Cache instance connecting to a MySQL database

func (*Cache) Copy

func (c *Cache) Copy(ctx context.Context, storage interface{}, sourcePath, targetPath string) (int, error)

Copy creates a copy of the specified entry at the target path

func (*Cache) CreateStorage

func (c *Cache) CreateStorage(ctx context.Context, id string) (int, error)

CreateStorage creates a new storage and returns its numeric id

func (*Cache) Delete

func (c *Cache) Delete(ctx context.Context, storage interface{}, user, path, trashPath string) error

Delete removes the specified storage/path from the cache

func (*Cache) DeleteRecycleItem

func (c *Cache) DeleteRecycleItem(ctx context.Context, user, path string, timestamp int) error

DeleteRecycleItem deletes the specified item from the trash

func (*Cache) EmptyRecycle

func (c *Cache) EmptyRecycle(ctx context.Context, user string) error

EmptyRecycle clears the recycle bin for the given user

func (*Cache) Get

func (c *Cache) Get(ctx context.Context, s interface{}, p string) (*File, error)

Get returns the cache entry for the specified storage/path

func (*Cache) GetNumericStorageID

func (c *Cache) GetNumericStorageID(ctx context.Context, id string) (int, error)

GetNumericStorageID returns the database id for the given storage

func (*Cache) GetRecycleItem

func (c *Cache) GetRecycleItem(ctx context.Context, user, path string, timestamp int) (*TrashItem, error)

GetRecycleItem returns the specified recycle item

func (*Cache) GetStorage

func (c *Cache) GetStorage(ctx context.Context, numeridID interface{}) (*Storage, error)

GetStorage returns the storage with the given numeric id

func (*Cache) GetStorageOwner

func (c *Cache) GetStorageOwner(ctx context.Context, numericID interface{}) (string, error)

GetStorageOwner returns the username of the owner of the given storage

func (*Cache) GetStorageOwnerByFileID

func (c *Cache) GetStorageOwnerByFileID(ctx context.Context, numericID interface{}) (string, error)

GetStorageOwnerByFileID returns the username of the owner of the given entry

func (*Cache) InsertOrUpdate

func (c *Cache) InsertOrUpdate(ctx context.Context, storage interface{}, data map[string]interface{}, allowEmptyParent bool) (int, error)

InsertOrUpdate creates or updates a cache entry

func (*Cache) List

func (c *Cache) List(ctx context.Context, storage interface{}, p string) ([]*File, error)

List returns the list of entries below the given path

func (*Cache) ListStorages

func (c *Cache) ListStorages(ctx context.Context, onlyHome bool) ([]*Storage, error)

ListStorages returns the list of numeric ids of all storages Optionally only home storages are considered

func (*Cache) Move

func (c *Cache) Move(ctx context.Context, storage interface{}, sourcePath, targetPath string) error

Move moves the specified entry to the target path

func (*Cache) Path

func (c *Cache) Path(ctx context.Context, id interface{}) (string, error)

Path returns the path for the specified entry

func (*Cache) Permissions

func (c *Cache) Permissions(ctx context.Context, storage interface{}, p string) (*provider.ResourcePermissions, error)

Permissions returns the permissions for the specified storage/path

func (*Cache) Purge

func (c *Cache) Purge(ctx context.Context, storage interface{}, path string) error

Purge removes the specified storage/path from the cache without putting it into the trash

func (*Cache) PurgeRecycleItem

func (c *Cache) PurgeRecycleItem(ctx context.Context, user, path string, timestamp int, isVersionFile bool) error

PurgeRecycleItem deletes the specified item from the filecache and the trash

func (*Cache) SetEtag

func (c *Cache) SetEtag(ctx context.Context, storage interface{}, path, etag string) error

SetEtag set a new etag for the specified item

type File

type File struct {
	ID              int
	Storage         int
	Parent          int
	MimePart        int
	MimeType        int
	MimeTypeString  string
	Size            int
	MTime           int
	StorageMTime    int
	UnencryptedSize int
	Permissions     int
	Encrypted       bool
	Path            string
	Name            string
	Etag            string
	Checksum        string
}

File represents an entry of the file cache

type Scannable

type Scannable interface {
	Scan(...interface{}) error
}

Scannable describes the interface providing a Scan method

type Storage

type Storage struct {
	ID        string
	NumericID int
}

Storage represents a storage entry in the database

type TrashItem

type TrashItem struct {
	ID        int
	Name      string
	User      string
	Path      string
	Timestamp int
}

TrashItem represents a trash item of the file cache

Jump to

Keyboard shortcuts

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