mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2024-11-16 20:49:16 +08:00
31 lines
791 B
Go
31 lines
791 B
Go
|
package cloud_storage
|
||
|
|
||
|
import (
|
||
|
"github.com/1Panel-dev/1Panel/constant"
|
||
|
"github.com/1Panel-dev/1Panel/utils/cloud_storage/client"
|
||
|
)
|
||
|
|
||
|
type CloudStorageClient interface {
|
||
|
ListBuckets() ([]interface{}, error)
|
||
|
Exist(path string) (bool, error)
|
||
|
Delete(path string) (bool, error)
|
||
|
Upload(src, target string) (bool, error)
|
||
|
Download(src, target string) (bool, error)
|
||
|
}
|
||
|
|
||
|
func NewCloudStorageClient(vars map[string]interface{}) (CloudStorageClient, error) {
|
||
|
if vars["type"] == constant.S3 {
|
||
|
return client.NewS3Client(vars)
|
||
|
}
|
||
|
if vars["type"] == constant.OSS {
|
||
|
return client.NewOssClient(vars)
|
||
|
}
|
||
|
if vars["type"] == constant.Sftp {
|
||
|
return client.NewSftpClient(vars)
|
||
|
}
|
||
|
if vars["type"] == constant.MinIo {
|
||
|
return client.NewMinIoClient(vars)
|
||
|
}
|
||
|
return nil, constant.ErrNotSupportType
|
||
|
}
|