package plugins
import (
"context"
"github.com/navidrome/navidrome/log"
)
const CapabilityLifecycle Capability = "Lifecycle"
const FuncOnInit = "nd_on_init"
func init() {
registerCapability(
CapabilityLifecycle,
FuncOnInit,
)
}
func callPluginInit(ctx context.Context, instance *plugin) {
if !hasCapability(instance.capabilities, CapabilityLifecycle) {
return
}
log.Debug(ctx, "Calling plugin init function", "plugin", instance.name)
err := callPluginFunctionNoInput(ctx, instance, FuncOnInit)
if err != nil {
log.Error(ctx, "Plugin init function failed", "plugin", instance.name, err)
return
}
log.Debug(ctx, "Plugin init function completed", "plugin", instance.name)
}