1package storage
2
3import (
4 "io"
5 "io/fs"
6)
7
8// Object is an interface for objects that can be stored.
9type Object interface {
10 io.Seeker
11 fs.File
12 Name() string
13}
14
15// Storage is an interface for storing and retrieving objects.
16type Storage interface {
17 Open(name string) (Object, error)
18 Stat(name string) (fs.FileInfo, error)
19 Put(name string, r io.Reader) error
20 Delete(name string) error
21 Exists(name string) (bool, error)
22 Rename(oldName, newName string) error
23}