diff --git a/controllers/status.go b/controllers/status.go index fe51374b7..95c58654f 100644 --- a/controllers/status.go +++ b/controllers/status.go @@ -6,6 +6,7 @@ import ( "github.com/owncast/owncast/core" "github.com/owncast/owncast/router/middleware" + "github.com/owncast/owncast/utils" ) // GetStatus gets the status of the server. @@ -13,9 +14,28 @@ func GetStatus(w http.ResponseWriter, r *http.Request) { middleware.EnableCors(&w) status := core.GetStatus() - w.Header().Set("Content-Type", "application/json") + response := webStatusResponse{ + Online: status.Online, + ViewerCount: status.ViewerCount, + LastConnectTime: status.LastConnectTime, + LastDisconnectTime: status.LastDisconnectTime, + VersionNumber: status.VersionNumber, + StreamTitle: status.StreamTitle, + } - if err := json.NewEncoder(w).Encode(status); err != nil { + w.Header().Set("Content-Type", "application/json") + if err := json.NewEncoder(w).Encode(response); err != nil { InternalErrorHandler(w, err) } } + +type webStatusResponse struct { + Online bool `json:"online"` + ViewerCount int `json:"viewerCount"` + + LastConnectTime utils.NullTime `json:"lastConnectTime"` + LastDisconnectTime utils.NullTime `json:"lastDisconnectTime"` + + VersionNumber string `json:"versionNumber"` + StreamTitle string `json:"streamTitle"` +} \ No newline at end of file