jfa-go/setup.go

27 lines
815 B
Go
Raw Normal View History

2020-08-02 01:05:35 +02:00
package main
import (
"github.com/gin-gonic/gin"
"github.com/hrfee/jfa-go/common"
"github.com/hrfee/jfa-go/mediabrowser"
2020-08-02 01:05:35 +02:00
)
type testReq struct {
Host string `json:"jfHost"`
Username string `json:"jfUser"`
Password string `json:"jfPassword"`
}
func (app *appContext) TestJF(gc *gin.Context) {
2020-08-02 01:05:35 +02:00
var req testReq
gc.BindJSON(&req)
tempjf, _ := mediabrowser.NewServer(mediabrowser.JellyfinServer, req.Host, "jfa-go-setup", app.version, "auth", "auth", common.NewTimeoutHandler("authJF", req.Host, true), 30)
_, status, err := tempjf.Authenticate(req.Username, req.Password)
2020-08-02 01:05:35 +02:00
if !(status == 200 || status == 204) || err != nil {
app.info.Printf("Auth failed with code %d (%s)", status, err)
2020-08-02 01:05:35 +02:00
gc.JSON(401, map[string]bool{"success": false})
return
}
gc.JSON(200, map[string]bool{"success": true})
}