API + Data changes to support split up of stream keys and admin passwords

This commit is contained in:
Gabe Kangas
2022-11-22 22:08:25 -08:00
parent 1645451faa
commit c9e3ccad45
11 changed files with 116 additions and 37 deletions

View File

@@ -198,8 +198,8 @@ func SetExtraPageContent(w http.ResponseWriter, r *http.Request) {
controllers.WriteSimpleResponse(w, true, "changed")
}
// SetStreamKey will handle the web config request to set the server stream key.
func SetStreamKey(w http.ResponseWriter, r *http.Request) {
// SetAdminPassword will handle the web config request to set the server admin password.
func SetAdminPassword(w http.ResponseWriter, r *http.Request) {
if !requirePOST(w, r) {
return
}
@@ -209,7 +209,7 @@ func SetStreamKey(w http.ResponseWriter, r *http.Request) {
return
}
if err := data.SetStreamKey(configValue.Value.(string)); err != nil {
if err := data.SetAdminPassword(configValue.Value.(string)); err != nil {
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
@@ -789,3 +789,27 @@ func getValuesFromRequest(w http.ResponseWriter, r *http.Request) ([]ConfigValue
return values, true
}
// SetStreamKeys will set the valid stream keys.
func SetStreamKeys(w http.ResponseWriter, r *http.Request) {
if !requirePOST(w, r) {
return
}
configValues, success := getValuesFromRequest(w, r)
if !success {
return
}
streamKeyStrings := make([]string, 0)
for _, key := range configValues {
streamKeyStrings = append(streamKeyStrings, key.Value.(string))
}
if err := data.SetStreamKeys(streamKeyStrings); err != nil {
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
controllers.WriteSimpleResponse(w, true, "changed")
}

View File

@@ -49,7 +49,8 @@ func GetServerConfig(w http.ResponseWriter, r *http.Request) {
AppearanceVariables: data.GetCustomColorVariableValues(),
},
FFmpegPath: ffmpeg,
StreamKey: data.GetStreamKey(),
AdminPassword: data.GetAdminPassword(),
StreamKeys: data.GetStreamKeys(),
WebServerPort: config.WebServerPort,
WebServerIP: config.WebServerIP,
RTMPServerPort: data.GetRTMPPortNumber(),
@@ -98,7 +99,8 @@ func GetServerConfig(w http.ResponseWriter, r *http.Request) {
type serverConfigAdminResponse struct {
InstanceDetails webConfigResponse `json:"instanceDetails"`
FFmpegPath string `json:"ffmpegPath"`
StreamKey string `json:"streamKey"`
AdminPassword string `json:"adminPassword"`
StreamKeys []string `json:"streamKeys"`
WebServerPort int `json:"webServerPort"`
WebServerIP string `json:"webServerIP"`
RTMPServerPort int `json:"rtmpServerPort"`