27 lines
620 B
Go
27 lines
620 B
Go
package plugin
|
|
|
|
import (
|
|
"seanime/internal/constants"
|
|
"seanime/internal/events"
|
|
"seanime/internal/extension"
|
|
|
|
"github.com/dop251/goja"
|
|
"github.com/rs/zerolog"
|
|
)
|
|
|
|
func (a *AppContextImpl) BindApp(vm *goja.Runtime, logger *zerolog.Logger, ext *extension.Extension) {
|
|
appObj := vm.NewObject()
|
|
appObj.Set("getVersion", constants.Version)
|
|
appObj.Set("getVersionName", constants.VersionName)
|
|
|
|
appObj.Set("invalidateClientQuery", func(keys []string) {
|
|
wsEventManager, ok := a.wsEventManager.Get()
|
|
if !ok {
|
|
return
|
|
}
|
|
wsEventManager.SendEvent(events.InvalidateQueries, keys)
|
|
})
|
|
|
|
_ = vm.Set("$app", appObj)
|
|
}
|