mirror of
https://github.com/navidrome/navidrome.git
synced 2025-07-14 15:41:18 +03:00
* chore: .gitignore any navidrome binary Signed-off-by: Deluan <deluan@navidrome.org> * feat: implement internal authentication handling in middleware Signed-off-by: Deluan <deluan@navidrome.org> * feat(manager): add SubsonicRouter to Manager for API routing Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): add SubsonicAPI Host service for plugins and an example plugin Signed-off-by: Deluan <deluan@navidrome.org> * fix lint Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): refactor path handling in SubsonicAPI to extract endpoint correctly Signed-off-by: Deluan <deluan@navidrome.org> * docs(plugins): add SubsonicAPI service documentation to README Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): implement permission checks for SubsonicAPI service Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): enhance SubsonicAPI service initialization with atomic router handling Signed-off-by: Deluan <deluan@navidrome.org> * refactor(plugins): better encapsulated dependency injection Signed-off-by: Deluan <deluan@navidrome.org> * refactor(plugins): rename parameter in WithInternalAuth for clarity Signed-off-by: Deluan <deluan@navidrome.org> * docs(plugins): update SubsonicAPI permissions section in README for clarity and detail Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): enhance SubsonicAPI permissions output with allowed usernames and admin flag Signed-off-by: Deluan <deluan@navidrome.org> * feat(plugins): add schema reference to example plugins Signed-off-by: Deluan <deluan@navidrome.org> * remove import alias Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org>
45 lines
957 B
Go
45 lines
957 B
Go
//go:build wasip1
|
|
|
|
// Code generated by protoc-gen-go-plugin. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go-plugin v0.1.0
|
|
// protoc v5.29.3
|
|
// source: host/subsonicapi/subsonicapi.proto
|
|
|
|
package subsonicapi
|
|
|
|
import (
|
|
context "context"
|
|
wasm "github.com/knqyf263/go-plugin/wasm"
|
|
_ "unsafe"
|
|
)
|
|
|
|
type subsonicAPIService struct{}
|
|
|
|
func NewSubsonicAPIService() SubsonicAPIService {
|
|
return subsonicAPIService{}
|
|
}
|
|
|
|
//go:wasmimport env call
|
|
func _call(ptr uint32, size uint32) uint64
|
|
|
|
func (h subsonicAPIService) Call(ctx context.Context, request *CallRequest) (*CallResponse, error) {
|
|
buf, err := request.MarshalVT()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
ptr, size := wasm.ByteToPtr(buf)
|
|
ptrSize := _call(ptr, size)
|
|
wasm.Free(ptr)
|
|
|
|
ptr = uint32(ptrSize >> 32)
|
|
size = uint32(ptrSize)
|
|
buf = wasm.PtrToByte(ptr, size)
|
|
|
|
response := new(CallResponse)
|
|
if err = response.UnmarshalVT(buf); err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
}
|