* no unauthorized init
* more dynamic Preview element
This commit is contained in:
@ -15,7 +15,6 @@ const (
|
||||
TagNode = iota
|
||||
SettingsNode = iota
|
||||
ActorNode = iota
|
||||
InitNode = iota
|
||||
)
|
||||
|
||||
type actionStruct struct {
|
||||
@ -42,9 +41,6 @@ func ServerInit() {
|
||||
http.Handle(APIPREFIX+"/settings", oauth.ValidateToken(settingsHandler))
|
||||
http.Handle(APIPREFIX+"/actor", oauth.ValidateToken(actorHandler))
|
||||
|
||||
// initialization api calls to check if password is neccessaray
|
||||
http.Handle(APIPREFIX+"/init", http.HandlerFunc(initHandler))
|
||||
|
||||
// initialize oauth service and add corresponding auth routes
|
||||
oauth.InitOAuth()
|
||||
}
|
||||
@ -85,10 +81,6 @@ func settingsHandler(rw http.ResponseWriter, req *http.Request) {
|
||||
handlefunc(rw, req, SettingsNode)
|
||||
}
|
||||
|
||||
func initHandler(rw http.ResponseWriter, req *http.Request) {
|
||||
handlefunc(rw, req, InitNode)
|
||||
}
|
||||
|
||||
func handlefunc(rw http.ResponseWriter, req *http.Request, node int) {
|
||||
// only allow post requests
|
||||
if req.Method != "POST" {
|
||||
|
@ -1,39 +0,0 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"openmediacenter/apiGo/database/settings"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func AddInitHandlers() {
|
||||
passwordNeeded()
|
||||
}
|
||||
|
||||
func passwordNeeded() {
|
||||
AddHandler("loadInitialData", InitNode, nil, func() []byte {
|
||||
sett := settings.LoadSettings()
|
||||
|
||||
type InitialDataTypeResponse struct {
|
||||
DarkMode bool
|
||||
Pasword bool
|
||||
MediacenterName string
|
||||
VideoPath string
|
||||
}
|
||||
|
||||
regexMatchUrl := regexp.MustCompile("^http(|s):\\/\\/([0-9]){1,3}\\.([0-9]){1,3}\\.([0-9]){1,3}\\.([0-9]){1,3}:[0-9]{1,5}")
|
||||
videoUrl := regexMatchUrl.FindString(sett.VideoPath)
|
||||
serverVideoPath := strings.TrimPrefix(sett.VideoPath, videoUrl)
|
||||
|
||||
res := InitialDataTypeResponse{
|
||||
DarkMode: sett.DarkMode,
|
||||
Pasword: sett.Pasword != "-1",
|
||||
MediacenterName: sett.Mediacenter_name,
|
||||
VideoPath: serverVideoPath,
|
||||
}
|
||||
|
||||
str, _ := json.Marshal(res)
|
||||
return str
|
||||
})
|
||||
}
|
@ -1,9 +1,13 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"openmediacenter/apiGo/api/types"
|
||||
"openmediacenter/apiGo/database"
|
||||
"openmediacenter/apiGo/database/settings"
|
||||
"openmediacenter/apiGo/videoparser"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func AddSettingsHandlers() {
|
||||
@ -17,6 +21,30 @@ func getSettingsFromDB() {
|
||||
result := database.GetSettings()
|
||||
return jsonify(result)
|
||||
})
|
||||
AddHandler("loadInitialData", SettingsNode, nil, func() []byte {
|
||||
sett := settings.LoadSettings()
|
||||
|
||||
type InitialDataTypeResponse struct {
|
||||
DarkMode bool
|
||||
Pasword bool
|
||||
MediacenterName string
|
||||
VideoPath string
|
||||
}
|
||||
|
||||
regexMatchUrl := regexp.MustCompile("^http(|s):\\/\\/([0-9]){1,3}\\.([0-9]){1,3}\\.([0-9]){1,3}\\.([0-9]){1,3}:[0-9]{1,5}")
|
||||
videoUrl := regexMatchUrl.FindString(sett.VideoPath)
|
||||
serverVideoPath := strings.TrimPrefix(sett.VideoPath, videoUrl)
|
||||
|
||||
res := InitialDataTypeResponse{
|
||||
DarkMode: sett.DarkMode,
|
||||
Pasword: sett.Pasword != "-1",
|
||||
MediacenterName: sett.Mediacenter_name,
|
||||
VideoPath: serverVideoPath,
|
||||
}
|
||||
|
||||
str, _ := json.Marshal(res)
|
||||
return str
|
||||
})
|
||||
}
|
||||
|
||||
func saveSettingsToDB() {
|
||||
|
Reference in New Issue
Block a user