Manager refactor, part 1 (#4298)

* Move BackupDatabase and AnonymiseDatabase to internal/manager
* Rename config.Instance to config.Config
* Rename FFMPEG
* Rework manager and initialization process
* Fix Makefile
* Tweak phasher
* Fix config races
* Fix setup error not clearing
This commit is contained in:
DingDongSoLong4
2023-11-28 04:56:46 +02:00
committed by GitHub
parent fc1fc20df4
commit b78771dbcd
45 changed files with 1230 additions and 1213 deletions

View File

@@ -14,12 +14,13 @@ import (
"github.com/stashapp/stash/pkg/logger"
"github.com/stashapp/stash/pkg/session"
"github.com/stashapp/stash/pkg/utils"
"github.com/stashapp/stash/ui"
)
const returnURLParam = "returnURL"
func getLoginPage(loginUIBox fs.FS) []byte {
data, err := fs.ReadFile(loginUIBox, "login.html")
func getLoginPage() []byte {
data, err := fs.ReadFile(ui.LoginUIBox, "login.html")
if err != nil {
panic(err)
}
@@ -31,8 +32,8 @@ type loginTemplateData struct {
Error string
}
func serveLoginPage(loginUIBox fs.FS, w http.ResponseWriter, r *http.Request, returnURL string, loginError string) {
loginPage := string(getLoginPage(loginUIBox))
func serveLoginPage(w http.ResponseWriter, r *http.Request, returnURL string, loginError string) {
loginPage := string(getLoginPage())
prefix := getProxyPrefix(r)
loginPage = strings.ReplaceAll(loginPage, "/%BASE_URL%", prefix)
@@ -57,7 +58,7 @@ func serveLoginPage(loginUIBox fs.FS, w http.ResponseWriter, r *http.Request, re
utils.ServeStaticContent(w, r, buffer.Bytes())
}
func handleLogin(loginUIBox fs.FS) http.HandlerFunc {
func handleLogin() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
returnURL := r.URL.Query().Get(returnURLParam)
@@ -71,11 +72,11 @@ func handleLogin(loginUIBox fs.FS) http.HandlerFunc {
return
}
serveLoginPage(loginUIBox, w, r, returnURL, "")
serveLoginPage(w, r, returnURL, "")
}
}
func handleLoginPost(loginUIBox fs.FS) http.HandlerFunc {
func handleLoginPost() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
url := r.FormValue(returnURLParam)
if url == "" {
@@ -92,7 +93,7 @@ func handleLoginPost(loginUIBox fs.FS) http.HandlerFunc {
if errors.As(err, &invalidCredentialsError) {
// serve login page with an error
serveLoginPage(loginUIBox, w, r, url, "Username or password is invalid")
serveLoginPage(w, r, url, "Username or password is invalid")
return
}