package store import ( "context" "github.com/minio/minio-go" "io" "net/http" ) type Backend interface { Store(ctx context.Context, filename string, data io.Reader, size int64) (string, error) Get(ctx context.Context, fileName string) ([]byte, string, error) Delete(ctx context.Context, fileName string) error ComposeObject(ctx context.Context,pathS []string,filePath string) error RemoveObject(ctx context.Context,filePath string) error Stat(filename string) (minio.ObjectInfo, error) } type FileInfo interface { FullName() string Name() string Size() int64 Hash() string } type Uploader interface { Upload(ctx context.Context, r *http.Request, key string) ([]FileInfo, error) }