mirror of
https://github.com/Awuqing/BackupX.git
synced 2026-09-05 15:37:03 +08:00
first commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package notify
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func asString(value any) string {
|
||||
text, _ := value.(string)
|
||||
return strings.TrimSpace(text)
|
||||
}
|
||||
|
||||
func asInt(value any) int {
|
||||
switch actual := value.(type) {
|
||||
case int:
|
||||
return actual
|
||||
case int64:
|
||||
return int(actual)
|
||||
case float64:
|
||||
return int(actual)
|
||||
case string:
|
||||
parsed, _ := strconv.Atoi(strings.TrimSpace(actual))
|
||||
return parsed
|
||||
default:
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
func splitCommaValues(value string) []string {
|
||||
items := strings.Split(value, ",")
|
||||
result := make([]string, 0, len(items))
|
||||
for _, item := range items {
|
||||
trimmed := strings.TrimSpace(item)
|
||||
if trimmed != "" {
|
||||
result = append(result, trimmed)
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func validateRequiredConfig(config map[string]any, fields ...string) error {
|
||||
for _, field := range fields {
|
||||
if strings.TrimSpace(asString(config[field])) == "" {
|
||||
return fmt.Errorf("%s is required", field)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user