mirror of
https://github.com/owncast/owncast.git
synced 2024-11-29 03:29:03 +03:00
API for setting a list of blocked usernames. For #782
This commit is contained in:
parent
83ad6db394
commit
61e07bf945
3 changed files with 49 additions and 17 deletions
|
@ -539,7 +539,19 @@ func SetCustomStyles(w http.ResponseWriter, r *http.Request) {
|
|||
data.SetCustomStyles(customStyles.Value.(string))
|
||||
|
||||
controllers.WriteSimpleResponse(w, true, "custom styles updated")
|
||||
}
|
||||
|
||||
// SetUsernameBlocklist will set the list of usernames we do not allow to use.
|
||||
func SetUsernameBlocklist(w http.ResponseWriter, r *http.Request) {
|
||||
usernames, success := getValueFromRequest(w, r)
|
||||
if !success {
|
||||
controllers.WriteSimpleResponse(w, false, "unable to update custom styles")
|
||||
return
|
||||
}
|
||||
|
||||
data.SetUsernameBlocklist(usernames.Value.(string))
|
||||
|
||||
controllers.WriteSimpleResponse(w, true, "blocklist updated")
|
||||
}
|
||||
|
||||
func requirePOST(w http.ResponseWriter, r *http.Request) bool {
|
||||
|
|
|
@ -56,10 +56,11 @@ func GetServerConfig(w http.ResponseWriter, r *http.Request) {
|
|||
Enabled: data.GetDirectoryEnabled(),
|
||||
InstanceURL: data.GetServerURL(),
|
||||
},
|
||||
S3: data.GetS3Config(),
|
||||
ExternalActions: data.GetExternalActions(),
|
||||
SupportedCodecs: transcoder.GetCodecs(ffmpeg),
|
||||
VideoCodec: data.GetVideoCodec(),
|
||||
S3: data.GetS3Config(),
|
||||
ExternalActions: data.GetExternalActions(),
|
||||
SupportedCodecs: transcoder.GetCodecs(ffmpeg),
|
||||
VideoCodec: data.GetVideoCodec(),
|
||||
UsernameBlocklist: data.GetUsernameBlocklist(),
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
|
@ -70,19 +71,20 @@ func GetServerConfig(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
type serverConfigAdminResponse struct {
|
||||
InstanceDetails webConfigResponse `json:"instanceDetails"`
|
||||
FFmpegPath string `json:"ffmpegPath"`
|
||||
StreamKey string `json:"streamKey"`
|
||||
WebServerPort int `json:"webServerPort"`
|
||||
RTMPServerPort int `json:"rtmpServerPort"`
|
||||
S3 models.S3 `json:"s3"`
|
||||
VideoSettings videoSettings `json:"videoSettings"`
|
||||
LatencyLevel int `json:"latencyLevel"`
|
||||
YP yp `json:"yp"`
|
||||
ChatDisabled bool `json:"chatDisabled"`
|
||||
ExternalActions []models.ExternalAction `json:"externalActions"`
|
||||
SupportedCodecs []string `json:"supportedCodecs"`
|
||||
VideoCodec string `json:"videoCodec"`
|
||||
InstanceDetails webConfigResponse `json:"instanceDetails"`
|
||||
FFmpegPath string `json:"ffmpegPath"`
|
||||
StreamKey string `json:"streamKey"`
|
||||
WebServerPort int `json:"webServerPort"`
|
||||
RTMPServerPort int `json:"rtmpServerPort"`
|
||||
S3 models.S3 `json:"s3"`
|
||||
VideoSettings videoSettings `json:"videoSettings"`
|
||||
LatencyLevel int `json:"latencyLevel"`
|
||||
YP yp `json:"yp"`
|
||||
ChatDisabled bool `json:"chatDisabled"`
|
||||
ExternalActions []models.ExternalAction `json:"externalActions"`
|
||||
SupportedCodecs []string `json:"supportedCodecs"`
|
||||
VideoCodec string `json:"videoCodec"`
|
||||
UsernameBlocklist string `json:"usernameBlocklist"`
|
||||
}
|
||||
|
||||
type videoSettings struct {
|
||||
|
|
|
@ -40,6 +40,7 @@ const chatDisabledKey = "chat_disabled"
|
|||
const externalActionsKey = "external_actions"
|
||||
const customStylesKey = "custom_styles"
|
||||
const videoCodecKey = "video_codec"
|
||||
const blockedUsernamesKey = "blocked_usernames"
|
||||
|
||||
// GetExtraPageBodyContent will return the user-supplied body content.
|
||||
func GetExtraPageBodyContent() string {
|
||||
|
@ -552,3 +553,20 @@ func FindHighestVideoQualityIndex(qualities []models.StreamOutputVariant) int {
|
|||
|
||||
return indexedQualities[0].index
|
||||
}
|
||||
|
||||
// GetUsernameBlocklist will return the blocked usernames as a comma seperated string.
|
||||
func GetUsernameBlocklist() string {
|
||||
usernameString, err := _datastore.GetString(blockedUsernamesKey)
|
||||
|
||||
if err != nil {
|
||||
log.Traceln(blockedUsernamesKey, err)
|
||||
return ""
|
||||
}
|
||||
|
||||
return usernameString
|
||||
}
|
||||
|
||||
// SetUsernameBlocklist set the username blocklist as a comma seperated string.
|
||||
func SetUsernameBlocklist(usernames string) error {
|
||||
return _datastore.SetString(serverMetadataTagsKey, usernames)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue