Files
OliveTin/internal/config/config_helpers.go
James Read 8f6b384fe6 Notification support (#183)
* feature: #158 shellAfterComplete support for notifications

* fmt: reduce cyclo
2023-10-25 21:32:18 +00:00

45 lines
876 B
Go

package config
// FindAction will return a action if there is a match on Title
func (cfg *Config) FindAction(actionTitle string) *Action {
for _, action := range cfg.Actions {
if action.Title == actionTitle {
return &action
}
}
return nil
}
// FindArg will return an arg if there is a match on Name
func (action *Action) FindArg(name string) *ActionArgument {
if name == "stdout" || name == "exitCode" {
return &ActionArgument{
Name: name,
Type: "very_dangerous_raw_string",
}
}
return action.findArg(name)
}
func (action *Action) findArg(name string) *ActionArgument {
for _, arg := range action.Arguments {
if arg.Name == name {
return &arg
}
}
return nil
}
func (cfg *Config) FindAcl(aclTitle string) *AccessControlList {
for _, acl := range cfg.AccessControlLists {
if acl.Name == aclTitle {
return &acl
}
}
return nil
}