Add user detail API + modal. Closes #2002

This commit is contained in:
Gabe Kangas
2022-07-20 20:42:23 -07:00
parent 82a0b492a5
commit f3a16be0dd
21 changed files with 543 additions and 60 deletions

View File

@@ -1,6 +1,8 @@
package chat
import (
"context"
"database/sql"
"fmt"
"strings"
"time"
@@ -300,6 +302,29 @@ func GetChatHistory() []interface{} {
return m
}
// GetMessagesFromUser returns chat messages that were sent by a specific user.
func GetMessagesFromUser(userID string) ([]events.UserMessageEvent, error) {
query, err := _datastore.GetQueries().GetMessagesFromUser(context.Background(), sql.NullString{String: userID, Valid: true})
if err != nil {
return nil, err
}
results := make([]events.UserMessageEvent, len(query))
for i, row := range query {
results[i] = events.UserMessageEvent{
Event: events.Event{
Timestamp: row.Timestamp.Time,
ID: row.ID,
},
MessageEvent: events.MessageEvent{
Body: row.Body.String,
},
}
}
return results, nil
}
// SetMessageVisibilityForUserID will bulk change the visibility of messages for a user
// and then send out visibility changed events to chat clients.
func SetMessageVisibilityForUserID(userID string, visible bool) error {