This commit is contained in:
julien 2025-07-03 14:35:39 +02:00
parent 86fbed85a9
commit 94b9e74b08

View File

@ -4,18 +4,18 @@ import (
"app/shelfly/internal/download"
"app/shelfly/internal/library"
"app/shelfly/internal/login"
"app/shelfly/internal/models"
"app/shelfly/internal/users"
"app/shelfly/renders"
"encoding/base64"
"fmt"
"golang.org/x/crypto/bcrypt"
"log"
"net/http"
"os"
"path/filepath"
"strings"
"time"
"golang.org/x/crypto/bcrypt"
"app/shelfly/internal/models"
"github.com/gorilla/mux"
"golang.org/x/net/webdav"
@ -35,6 +35,7 @@ func checkUserCredentials(db *gorm.DB, email string, password string) bool {
err := bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password))
return err == nil
}
type spaHandler struct {
staticPath string
indexPath string
@ -231,8 +232,31 @@ r.HandleFunc("/media/{partID:[0-9]+}", renders.MediaDetail(bd)).Methods("GET")
r.HandleFunc("/hls/{partID:[0-9]+}/{file}", renders.HLSStream(bd)).Methods("GET")
r.HandleFunc("/hls/{partID:[0-9]+}/", renders.HLSStream(bd)).Methods("GET")
//API Scan folder
// —————— JSON API routes ——————
r.HandleFunc("/api/dashboard", renders.DashboardJSON(db)).Methods("GET")
r.HandleFunc("/api/menu-library", renders.MenuLibraryJSON(db)).Methods("GET")
r.HandleFunc("/api/settings", renders.SettingsJSON()).Methods("GET")
r.HandleFunc("/api/library", renders.LibraryJSON()).Methods("GET")
r.HandleFunc("/api/godownloader/download", renders.GoDownloadJSON()).Methods("GET")
r.HandleFunc("/api/godownloader/linkcollectors", renders.GoDownloadLinkCollectorsJSON()).Methods("GET")
r.HandleFunc("/api/godownloader/settings/delete", renders.GoDownloadSettingDeleteJSON(db)).Methods("POST")
r.HandleFunc("/api/godownloader/settings/toggle", renders.GoDownloadSettingToggleActiveJSON(db)).Methods("POST")
r.HandleFunc("/api/godownloader/settings", renders.GoDownloadSettingJSON(db)).Methods("GET", "POST")
r.HandleFunc("/api/godownloader/settings/table", renders.GoDownloadPartialTableJSON(db)).Methods("GET")
r.HandleFunc("/api/godownloader2", renders.GoDownload2JSON(db)).Methods("GET")
r.HandleFunc("/api/add-job", renders.HandleAddJobJSON(db)).Methods("POST")
r.HandleFunc("/api/jobs/list", renders.HandleListJobsPartialJSON(db)).Methods("GET")
r.HandleFunc("/api/add-jobs-multiple", renders.HandleAddJobsMultipleJSON(db)).Methods("POST")
r.HandleFunc("/api/stream", renders.StreamHandlerJSON()).Methods("GET")
r.HandleFunc("/api/pathmedia/{id}", renders.PathMediaJSON(db)).Methods("GET")
r.HandleFunc("/api/media/detail/{partID}", renders.MediaDetailJSON(db)).Methods("GET")
}
// func RoutesProtected(r *mux.Router, db *gorm.DB) {
// // —————— HTML routes ——————
// r.HandleFunc("/login", Login).Methods("GET")