diff --git a/drivers/base/base.go b/drivers/base/base.go new file mode 100644 index 00000000..68027f41 --- /dev/null +++ b/drivers/base/base.go @@ -0,0 +1,61 @@ +package base + +import "github.com/Xhofe/alist/model" + +type Base struct{} + +func (b Base) Config() DriverConfig { + return DriverConfig{} +} + +func (b Base) Items() []Item { + return nil +} + +func (b Base) Save(account *model.Account, old *model.Account) error { + return ErrNotImplement +} + +func (b Base) File(path string, account *model.Account) (*model.File, error) { + return nil, ErrNotImplement +} + +func (b Base) Files(path string, account *model.Account) ([]model.File, error) { + return nil, ErrNotImplement +} + +func (b Base) Link(args Args, account *model.Account) (*Link, error) { + return nil, ErrNotImplement +} + +func (b Base) Path(path string, account *model.Account) (*model.File, []model.File, error) { + return nil, nil, ErrNotImplement +} + +func (b Base) Preview(path string, account *model.Account) (interface{}, error) { + return nil, ErrNotImplement +} + +func (b Base) MakeDir(path string, account *model.Account) error { + return ErrNotImplement +} + +func (b Base) Move(src string, dst string, account *model.Account) error { + return ErrNotImplement +} + +func (b Base) Rename(src string, dst string, account *model.Account) error { + return ErrNotImplement +} + +func (b Base) Copy(src string, dst string, account *model.Account) error { + return ErrNotImplement +} + +func (b Base) Delete(path string, account *model.Account) error { + return ErrNotImplement +} + +func (b Base) Upload(file *model.FileStream, account *model.Account) error { + return ErrNotImplement +} diff --git a/drivers/template/driver.go b/drivers/template/driver.go index a597702a..d77fe7a1 100644 --- a/drivers/template/driver.go +++ b/drivers/template/driver.go @@ -9,6 +9,7 @@ import ( ) type Template struct { + base.Base } func (driver Template) Config() base.DriverConfig { @@ -111,39 +112,40 @@ func (driver Template) Path(path string, account *model.Account) (*model.File, [ return nil, files, nil } -func (driver Template) Preview(path string, account *model.Account) (interface{}, error) { - //TODO preview interface if driver support - return nil, base.ErrNotImplement -} - -func (driver Template) MakeDir(path string, account *model.Account) error { - //TODO make dir - return base.ErrNotImplement -} - -func (driver Template) Move(src string, dst string, account *model.Account) error { - //TODO move file/dir - return base.ErrNotImplement -} - -func (driver Template) Rename(src string, dst string, account *model.Account) error { - //TODO rename file/dir - return base.ErrNotImplement -} - -func (driver Template) Copy(src string, dst string, account *model.Account) error { - //TODO copy file/dir - return base.ErrNotImplement -} - -func (driver Template) Delete(path string, account *model.Account) error { - //TODO delete file/dir - return base.ErrNotImplement -} - -func (driver Template) Upload(file *model.FileStream, account *model.Account) error { - //TODO upload file - return base.ErrNotImplement -} +// Optional function +//func (driver Template) Preview(path string, account *model.Account) (interface{}, error) { +// //TODO preview interface if driver support +// return nil, base.ErrNotImplement +//} +// +//func (driver Template) MakeDir(path string, account *model.Account) error { +// //TODO make dir +// return base.ErrNotImplement +//} +// +//func (driver Template) Move(src string, dst string, account *model.Account) error { +// //TODO move file/dir +// return base.ErrNotImplement +//} +// +//func (driver Template) Rename(src string, dst string, account *model.Account) error { +// //TODO rename file/dir +// return base.ErrNotImplement +//} +// +//func (driver Template) Copy(src string, dst string, account *model.Account) error { +// //TODO copy file/dir +// return base.ErrNotImplement +//} +// +//func (driver Template) Delete(path string, account *model.Account) error { +// //TODO delete file/dir +// return base.ErrNotImplement +//} +// +//func (driver Template) Upload(file *model.FileStream, account *model.Account) error { +// //TODO upload file +// return base.ErrNotImplement +//} var _ base.Driver = (*Template)(nil)