stash/pkg/plugin/args.go
WithoutPants 0c2a2190e5
Plugin API improvements (#4603)
* Accept plain map for runPluginTask
* Support running plugin task without task name
* Add interface to run plugin operations
* Update RunPluginTask client mutation
2024-02-22 11:20:21 +11:00

26 lines
591 B
Go

package plugin
type OperationInput map[string]interface{}
type PluginArgInput struct {
Key string `json:"key"`
Value *PluginValueInput `json:"value"`
}
type PluginValueInput struct {
Str *string `json:"str"`
I *int `json:"i"`
B *bool `json:"b"`
F *float64 `json:"f"`
O []*PluginArgInput `json:"o"`
A []*PluginValueInput `json:"a"`
}
func applyDefaultArgs(args OperationInput, defaultArgs map[string]string) {
for k, v := range defaultArgs {
_, found := args[k]
if !found {
args[k] = v
}
}
}