2020-10-10 19:41:58 -04:00
|
|
|
package common
|
|
|
|
|
|
|
|
|
|
import (
|
2021-11-27 14:20:47 -05:00
|
|
|
"path/filepath"
|
2020-10-10 19:41:58 -04:00
|
|
|
"strings"
|
|
|
|
|
)
|
|
|
|
|
|
2021-11-27 14:20:47 -05:00
|
|
|
// PlugnTriggerExists returns whether a plugin trigger exists (ignoring the existence of any within the 20_events plugin)
|
|
|
|
|
func PlugnTriggerExists(triggerName string) bool {
|
2022-10-22 00:55:17 -04:00
|
|
|
pluginPath := MustGetEnv("PLUGIN_PATH")
|
|
|
|
|
pluginPathPrefix := filepath.Join(pluginPath, "enabled")
|
|
|
|
|
glob := filepath.Join(pluginPathPrefix, "*", triggerName)
|
2021-11-27 14:20:47 -05:00
|
|
|
exists := false
|
|
|
|
|
files, _ := filepath.Glob(glob)
|
|
|
|
|
for _, file := range files {
|
2022-10-22 00:55:17 -04:00
|
|
|
plugin := strings.Trim(strings.TrimPrefix(strings.TrimSuffix(file, "/"+triggerName), pluginPathPrefix), "/")
|
2021-11-27 14:20:47 -05:00
|
|
|
if plugin != "20_events" {
|
|
|
|
|
exists = true
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return exists
|
|
|
|
|
}
|