package main
import (
"os"
"path/filepath"
"github.com/navidrome/navidrome/plugins/pdk/go/host"
"github.com/navidrome/navidrome/plugins/pdk/go/pdk"
)
func callRead() int32 {
path := filepath.Join(host.StorageGetStoragePath(), pdk.InputString())
content, err := os.ReadFile(path)
if err != nil {
pdk.SetErrorString("failed to read file: " + err.Error())
return 1
}
pdk.Output(content)
return 0
}
type WriteInput struct {
Path string `json:"path"`
Contents string `json:"contents"`
}
func callWrite() int32 {
var config WriteInput
err := pdk.InputJSON(&config)
if err != nil {
pdk.SetErrorString("failed to parse json: " + err.Error())
return 1
}
path := filepath.Join(host.StorageGetStoragePath(), config.Path)
err = os.WriteFile(path, []byte(config.Contents), 0600)
if err != nil {
pdk.SetErrorString("failed to write file: " + err.Error())
return 1
}
return 0
}
func main() {}