diff --git a/jfapi.go b/jfapi.go index 892cf5a..9b979ee 100644 --- a/jfapi.go +++ b/jfapi.go @@ -54,7 +54,8 @@ func (jf *Jellyfin) timeoutHandler() { } } -func (jf *Jellyfin) init(server, client, version, device, deviceId string) error { +func newJellyfin(server, client, version, device, deviceId string) (*Jellyfin, error) { + jf := &Jellyfin{} jf.server = server jf.client = client jf.version = version @@ -84,7 +85,7 @@ func (jf *Jellyfin) init(server, client, version, device, deviceId string) error } jf.cacheLength = 30 jf.cacheExpiry = time.Now() - return nil + return jf, nil } func (jf *Jellyfin) authenticate(username, password string) (map[string]interface{}, int, error) { diff --git a/main.go b/main.go index 493eb2d..0ff2b4a 100644 --- a/main.go +++ b/main.go @@ -43,8 +43,8 @@ type appContext struct { jellyfinLogin bool users []User invalidTokens []string - jf Jellyfin - authJf Jellyfin + jf *Jellyfin + authJf *Jellyfin datePattern string timePattern string storage Storage @@ -266,14 +266,14 @@ func main() { } server := app.config.Section("jellyfin").Key("server").String() - app.jf.init(server, "jfa-go", app.version, "hrfee-arch", "hrfee-arch") + app.jf, _ = newJellyfin(server, "jfa-go", app.version, "hrfee-arch", "hrfee-arch") var status int _, status, err = app.jf.authenticate(app.config.Section("jellyfin").Key("username").String(), app.config.Section("jellyfin").Key("password").String()) if status != 200 || err != nil { app.err.Fatalf("Failed to authenticate with Jellyfin @ %s: Code %d", server, status) } app.info.Printf("Authenticated with %s", server) - app.authJf.init(server, "jfa-go", app.version, "auth", "auth") + app.authJf, _ = newJellyfin(server, "jfa-go", app.version, "auth", "auth") app.loadStrftime() diff --git a/setup.go b/setup.go index 0e44a6d..4c6c3df 100644 --- a/setup.go +++ b/setup.go @@ -13,8 +13,7 @@ type testReq struct { func (app *appContext) TestJF(gc *gin.Context) { var req testReq gc.BindJSON(&req) - tempjf := Jellyfin{} - tempjf.init(req.Host, "jfa-go-setup", app.version, "auth", "auth") + tempjf, _ := newJellyfin(req.Host, "jfa-go-setup", app.version, "auth", "auth") tempjf.noFail = true _, status, err := tempjf.authenticate(req.Username, req.Password) if !(status == 200 || status == 204) || err != nil {