mirror of
https://github.com/OpenListTeam/OpenList.git
synced 2025-09-19 20:26:26 +08:00
add(trunk): base interface
This commit is contained in:
37
layers/file/manage.go
Normal file
37
layers/file/manage.go
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
)
|
||||||
|
|
||||||
|
// UserFileServer 文件服务接口 #################################################################
|
||||||
|
type UserFileServer interface {
|
||||||
|
// ListFile 列举文件 =======================================================================
|
||||||
|
ListFile(ctx context.Context, path []string, opt *ListFileOption) ([]*UserFileObject, error)
|
||||||
|
// FindFile 搜索文件 =======================================================================
|
||||||
|
FindFile(ctx context.Context, path []string, opt *FindFileOption) ([]*UserFileObject, error)
|
||||||
|
// Download 获取文件 =======================================================================
|
||||||
|
Download(ctx context.Context, path []string, opt *ListFileOption) ([]*LinkFileObject, error)
|
||||||
|
// Uploader 上传文件 =======================================================================
|
||||||
|
Uploader(ctx context.Context, path []string, opt *ListFileOption) ([]*BackFileAction, error)
|
||||||
|
// KillFile 删除文件 =======================================================================
|
||||||
|
KillFile(ctx context.Context, path []string, opt *KillFileOption) ([]*BackFileAction, error)
|
||||||
|
// CopyFile 复制文件 =======================================================================
|
||||||
|
CopyFile(ctx context.Context, sources []string, targets []string) ([]*BackFileAction, error)
|
||||||
|
// MoveFile 移动文件 =======================================================================
|
||||||
|
MoveFile(ctx context.Context, sources []string, targets []string) ([]*BackFileAction, error)
|
||||||
|
// MakeFile 搜索文件 =======================================================================
|
||||||
|
MakeFile(ctx context.Context, path []string, opt *MakeFileOption) ([]*BackFileAction, error)
|
||||||
|
// MakePath 搜索文件 =======================================================================
|
||||||
|
MakePath(ctx context.Context, path []string, opt *MakeFileOption) ([]*BackFileAction, error)
|
||||||
|
// FSRename 命名文件 =======================================================================
|
||||||
|
FSRename(ctx context.Context, path []string, targetName []string) ([]*BackFileAction, error)
|
||||||
|
// PermFile 设置权限 =======================================================================
|
||||||
|
PermFile(ctx context.Context, path []string, opt *PermissionFile) ([]*BackFileAction, error)
|
||||||
|
// NewShare 创建分享 =======================================================================
|
||||||
|
NewShare(ctx context.Context, path []string, opt *NewShareAction) ([]*BackFileAction, error)
|
||||||
|
// GetShare 获取分享 =======================================================================
|
||||||
|
GetShare(ctx context.Context, path []string, opt *NewShareAction) ([]*UserFileObject, error)
|
||||||
|
// DelShare 删除分享 =======================================================================
|
||||||
|
DelShare(ctx context.Context, path []string, opt *NewShareAction) ([]*BackFileAction, error)
|
||||||
|
}
|
48
layers/file/object.go
Normal file
48
layers/file/object.go
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
package file
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type UserFileObject struct {
|
||||||
|
showName []string // 文件名称
|
||||||
|
showPath []string // 文件路径
|
||||||
|
realName []string // 真实名称
|
||||||
|
realPath []string // 真实路径
|
||||||
|
fileSize int64 // 文件大小
|
||||||
|
fileTime time.Time // 修改时间
|
||||||
|
fileType bool // 文件类型
|
||||||
|
fileMask int16 // 文件权限
|
||||||
|
checksum int32 // 密码校验
|
||||||
|
encrypts int16 // 文件状态
|
||||||
|
}
|
||||||
|
type PermissionFile struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type LinkFileObject struct {
|
||||||
|
download []string // 下载链接
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListFileOption struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type FindFileOption struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type KillFileOption struct {
|
||||||
|
}
|
||||||
|
type MakeFileOption struct {
|
||||||
|
}
|
||||||
|
type BackFileAction struct {
|
||||||
|
success bool // 是否成功
|
||||||
|
message string // 错误信息
|
||||||
|
}
|
||||||
|
type NewShareAction struct {
|
||||||
|
BackFileAction
|
||||||
|
shareID string // 分享编码
|
||||||
|
pubUrls string // 公开链接
|
||||||
|
passkey string // 分析密码
|
||||||
|
expired time.Time // 过期时间
|
||||||
|
}
|
||||||
|
type HostFileObject struct {
|
||||||
|
UserFileObject
|
||||||
|
}
|
Reference in New Issue
Block a user