✨ basic structure
This commit is contained in:
28
drivers/driver.go
Normal file
28
drivers/driver.go
Normal 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
|
||||
}
|
Reference in New Issue
Block a user