basic structure

This commit is contained in:
微凉
2021-10-26 22:28:37 +08:00
parent d68a4048da
commit fb7e67724d
25 changed files with 615 additions and 45 deletions

28
drivers/driver.go Normal file
View File

@ -0,0 +1,28 @@
package drivers
import "github.com/Xhofe/alist/model"
type Driver interface {
Path(path string, account *model.Account) (*model.File, []*model.File, error)
Link(path string, account *model.Account) (string,error)
Save(account model.Account)
}
var driversMap = map[string]Driver{}
func RegisterDriver(name string, driver Driver) {
driversMap[name] = driver
}
func GetDriver(name string) (driver Driver, ok bool) {
driver, ok = driversMap[name]
return
}
func GetDriverNames() []string {
names := make([]string, 0)
for k, _ := range driversMap {
names = append(names, k)
}
return names
}