Return error in API response. Return all fields in message+user query

This commit is contained in:
Gabe Kangas 2022-01-18 15:38:23 -08:00
parent cf24a6aa81
commit 3b0dafba9a
No known key found for this signature in database
GPG key ID: 9A56337728BC81EA
3 changed files with 9 additions and 4 deletions

View file

@ -68,13 +68,15 @@ func UpdateUserEnabled(w http.ResponseWriter, r *http.Request) {
if err := decoder.Decode(&request); err != nil {
log.Errorln(err)
controllers.WriteSimpleResponse(w, false, "")
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
// Disable/enable the user
if err := user.SetEnabled(request.UserID, request.Enabled); err != nil {
log.Errorln("error changing user enabled status", err)
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
// Hide/show the user's chat messages if disabling.
@ -82,6 +84,8 @@ func UpdateUserEnabled(w http.ResponseWriter, r *http.Request) {
if !request.Enabled {
if err := chat.SetMessageVisibilityForUserID(request.UserID, request.Enabled); err != nil {
log.Errorln("error changing user messages visibility", err)
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
}

View file

@ -296,9 +296,9 @@ func SetMessageVisibilityForUserID(userID string, visible bool) error {
_historyCache = nil
}()
// Get a list of IDs from this user within the 5hr window to send to the connected clients to hide
// Get a list of IDs to send to the connected clients to hide
ids := make([]string, 0)
query := fmt.Sprintf("SELECT messages.id, user_id, body, eventType, hidden_at, timestamp, display_name, display_color, created_at, disabled_at, previous_names, namechanged_at FROM messages INNER JOIN users ON messages.user_id = users.id WHERE user_id IS '%s'", userID)
query := fmt.Sprintf("SELECT messages.id, user_id, body, title, subtitle, image, link, eventType, hidden_at, timestamp, display_name, display_color, created_at, disabled_at, previous_names, namechanged_at, scopes FROM messages INNER JOIN users ON messages.user_id = users.id WHERE user_id IS '%s'", userID)
messages := getChat(query)
if len(messages) == 0 {
@ -306,7 +306,7 @@ func SetMessageVisibilityForUserID(userID string, visible bool) error {
}
for _, message := range messages {
ids = append(ids, message.(events.Event).ID)
ids = append(ids, message.(events.UserMessageEvent).ID)
}
// Tell the clients to hide/show these messages.

View file

@ -279,6 +279,7 @@ func Start() error {
// Enable/disable a user
http.HandleFunc("/api/chat/users/setenabled", middleware.RequireUserModerationScopeAccesstoken(admin.UpdateUserEnabled))
// Configure Federation features
// enable/disable federation features