chore(go): move stream keys to use generated type. For #3778

This commit is contained in:
Gabe Kangas
2025-01-18 16:38:59 -08:00
parent b3947ef7ea
commit e78d62ce63
8 changed files with 29 additions and 32 deletions

View File

@@ -916,31 +916,27 @@ func SetStreamKeys(w http.ResponseWriter, r *http.Request) {
return
}
type streamKeysRequest struct {
Value []models.StreamKey `json:"value"`
}
decoder := json.NewDecoder(r.Body)
var streamKeys streamKeysRequest
var streamKeys generated.SetStreamKeysJSONRequestBody
if err := decoder.Decode(&streamKeys); err != nil {
webutils.WriteSimpleResponse(w, false, "unable to update stream keys with provided values")
return
}
if len(streamKeys.Value) == 0 {
if streamKeys.Value == nil || len(*streamKeys.Value) == 0 {
webutils.WriteSimpleResponse(w, false, "must provide at least one valid stream key")
return
}
for _, streamKey := range streamKeys.Value {
if streamKey.Key == "" {
for _, streamKey := range *streamKeys.Value {
if *streamKey.Key == "" {
webutils.WriteSimpleResponse(w, false, "stream key cannot be empty")
return
}
}
configRepository := configrepository.Get()
if err := configRepository.SetStreamKeys(streamKeys.Value); err != nil {
if err := configRepository.SetStreamKeys(*streamKeys.Value); err != nil {
webutils.WriteSimpleResponse(w, false, err.Error())
return
}

View File

@@ -9,6 +9,7 @@ import (
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/persistence/configrepository"
"github.com/owncast/owncast/utils"
"github.com/owncast/owncast/webserver/handlers/generated"
"github.com/owncast/owncast/webserver/router/middleware"
log "github.com/sirupsen/logrus"
)
@@ -118,7 +119,7 @@ type serverConfigAdminResponse struct {
ExternalActions []models.ExternalAction `json:"externalActions"`
ForbiddenUsernames []string `json:"forbiddenUsernames"`
SuggestedUsernames []string `json:"suggestedUsernames"`
StreamKeys []models.StreamKey `json:"streamKeys"`
StreamKeys []generated.StreamKey `json:"streamKeys"`
VideoSettings videoSettings `json:"videoSettings"`
RTMPServerPort int `json:"rtmpServerPort"`
WebServerPort int `json:"webServerPort"`