mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-04 15:49:49 +00:00
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package model
|
|
|
|
import (
|
|
"github.com/GopeedLab/gopeed/pkg/base"
|
|
enginewebview "github.com/GopeedLab/gopeed/pkg/download/engine/webview"
|
|
"io/fs"
|
|
)
|
|
|
|
type Storage string
|
|
|
|
const (
|
|
StorageMem Storage = "mem"
|
|
StorageBolt Storage = "bolt"
|
|
)
|
|
|
|
type StartConfig struct {
|
|
Network string `json:"network"`
|
|
Address string `json:"address"`
|
|
RefreshInterval int `json:"refreshInterval"`
|
|
Storage Storage `json:"storage"`
|
|
StorageDir string `json:"storageDir"`
|
|
WhiteDownloadDirs []string `json:"whiteDownloadDirs"`
|
|
ApiToken string `json:"apiToken"`
|
|
DownloadConfig *base.DownloaderStoreConfig `json:"downloadConfig"`
|
|
WebViewRPCConfig *enginewebview.RPCConfig `json:"webViewRpcConfig,omitempty"`
|
|
|
|
ProductionMode bool
|
|
WebViewProvider enginewebview.Provider `json:"-"`
|
|
|
|
WebEnable bool
|
|
WebFS fs.FS
|
|
WebAuth *WebAuth
|
|
}
|
|
|
|
func (cfg *StartConfig) Init() *StartConfig {
|
|
if cfg.Network == "" {
|
|
cfg.Network = "tcp"
|
|
}
|
|
if cfg.Address == "" {
|
|
cfg.Address = "127.0.0.1:0"
|
|
}
|
|
if cfg.RefreshInterval == 0 {
|
|
cfg.RefreshInterval = 350
|
|
}
|
|
if cfg.Storage == "" {
|
|
cfg.Storage = StorageBolt
|
|
}
|
|
if cfg.StorageDir == "" {
|
|
cfg.StorageDir = "./"
|
|
}
|
|
return cfg
|
|
}
|
|
|
|
type WebAuth struct {
|
|
Username string
|
|
Password string
|
|
}
|