From 4be8524d8071890df6f32f1396bc61122defb71f Mon Sep 17 00:00:00 2001 From: Andy Hsu Date: Thu, 23 Feb 2023 22:00:17 +0800 Subject: [PATCH] feat: add alert for driver --- cmd/lang.go | 9 +++++++++ drivers/aliyundrive/meta.go | 1 + drivers/aliyundrive_open/meta.go | 4 ++-- internal/driver/config.go | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cmd/lang.go b/cmd/lang.go index ce68c8c5..8d816ca2 100644 --- a/cmd/lang.go +++ b/cmd/lang.go @@ -78,10 +78,19 @@ func writeFile(name string, data interface{}) { func generateDriversJson() { drivers := make(Drivers) drivers["drivers"] = make(KV[interface{}]) + drivers["config"] = make(KV[interface{}]) driverInfoMap := op.GetDriverInfoMap() for k, v := range driverInfoMap { drivers["drivers"][k] = convert(k) items := make(KV[interface{}]) + config := map[string]string{} + if v.Config.Alert != "" { + alert := strings.SplitN(v.Config.Alert, "|", 2) + if len(alert) > 1 { + config["alert"] = alert[1] + } + } + drivers["config"][k] = config for i := range v.Additional { item := v.Additional[i] items[item.Name] = convert(item.Name) diff --git a/drivers/aliyundrive/meta.go b/drivers/aliyundrive/meta.go index 0bfdcd5f..18b8cf4d 100644 --- a/drivers/aliyundrive/meta.go +++ b/drivers/aliyundrive/meta.go @@ -18,6 +18,7 @@ type Addition struct { var config = driver.Config{ Name: "Aliyundrive", DefaultRoot: "root", + Alert: "warning|Deprecated, no longer maintained and will be removed in a future version", } func init() { diff --git a/drivers/aliyundrive_open/meta.go b/drivers/aliyundrive_open/meta.go index 6bf3b5cf..48f3328c 100644 --- a/drivers/aliyundrive_open/meta.go +++ b/drivers/aliyundrive_open/meta.go @@ -11,8 +11,8 @@ type Addition struct { OrderBy string `json:"order_by" type:"select" options:"name,size,updated_at,created_at"` OrderDirection string `json:"order_direction" type:"select" options:"ASC,DESC"` OauthTokenURL string `json:"oauth_token_url" default:"https://api.nn.ci/alist/ali_open/token"` - ClientID string `json:"client_id" required:"false"` - ClientSecret string `json:"client_secret" required:"false"` + ClientID string `json:"client_id" required:"false" help:"Keep it empty if you don't have one"` + ClientSecret string `json:"client_secret" required:"false" help:"Keep it empty if you don't have one"` } var config = driver.Config{ diff --git a/internal/driver/config.go b/internal/driver/config.go index c3db1754..53a3fdb6 100644 --- a/internal/driver/config.go +++ b/internal/driver/config.go @@ -9,7 +9,8 @@ type Config struct { NoUpload bool `json:"no_upload"` NeedMs bool `json:"need_ms"` // if need get message from user, such as validate code DefaultRoot string `json:"default_root"` - CheckStatus bool + CheckStatus bool `json:"-"` + Alert string `json:"alert"` //info,success,warning,danger } func (c Config) MustProxy() bool {