Plugin settings (#4143)

* Add backend support for plugin settings
* Add plugin settings config
* Add UI support for plugin settings
This commit is contained in:
WithoutPants
2023-10-18 14:09:13 +11:00
committed by GitHub
parent 06d8353f4f
commit 2b8718100b
24 changed files with 445 additions and 57 deletions

View File

@@ -24,14 +24,15 @@ import (
)
type Plugin struct {
ID string `json:"id"`
Name string `json:"name"`
Description *string `json:"description"`
URL *string `json:"url"`
Version *string `json:"version"`
Tasks []*PluginTask `json:"tasks"`
Hooks []*PluginHook `json:"hooks"`
UI PluginUI `json:"ui"`
ID string `json:"id"`
Name string `json:"name"`
Description *string `json:"description"`
URL *string `json:"url"`
Version *string `json:"version"`
Tasks []*PluginTask `json:"tasks"`
Hooks []*PluginHook `json:"hooks"`
UI PluginUI `json:"ui"`
Settings []PluginSetting `json:"settings"`
Enabled bool `json:"enabled"`
}
@@ -44,6 +45,15 @@ type PluginUI struct {
CSS []string `json:"css"`
}
type PluginSetting struct {
Name string `json:"name"`
// defaults to string
Type PluginSettingTypeEnum `json:"type"`
// defaults to key name
DisplayName string `json:"displayName"`
Description string `json:"description"`
}
type ServerConfig interface {
GetHost() string
GetPort() int