zrok/drives/sync/model.go
2024-01-11 13:19:20 -05:00

27 lines
502 B
Go

package sync
import (
"io"
"os"
"time"
)
type Object struct {
Path string
IsDir bool
Size int64
Modified time.Time
ETag string
}
type Target interface {
Inventory() ([]*Object, error)
Dir(path string) ([]*Object, error)
Mkdir(path string) error
ReadStream(path string) (io.ReadCloser, error)
WriteStream(path string, stream io.Reader, mode os.FileMode) error
Move(src, dest string) error
Rm(path string) error
SetModificationTime(path string, mtime time.Time) error
}