aboutsummaryrefslogtreecommitdiff
path: root/connector/mattermost/mattermost.go
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2020-03-09 18:12:25 +0100
committerAlex Auvolat <alex@adnab.me>2020-03-09 18:12:25 +0100
commit15e3dc46cf485f6833e1d6a669a23abe43869ade (patch)
tree1c9821935e0fd46b9c49c5eaf5cc9edcafc97f3d /connector/mattermost/mattermost.go
parent586706f02bfa7c41a5eec61c783c452350d8c6c1 (diff)
downloadeasybridge-15e3dc46cf485f6833e1d6a669a23abe43869ade.tar.gz
easybridge-15e3dc46cf485f6833e1d6a669a23abe43869ade.zip
Mattermost user search
Diffstat (limited to 'connector/mattermost/mattermost.go')
-rw-r--r--connector/mattermost/mattermost.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/connector/mattermost/mattermost.go b/connector/mattermost/mattermost.go
index 4490f2a..ea8377c 100644
--- a/connector/mattermost/mattermost.go
+++ b/connector/mattermost/mattermost.go
@@ -254,8 +254,19 @@ func (mm *Mattermost) Leave(roomId RoomID) {
}
func (mm *Mattermost) SearchForUsers(query string) ([]UserSearchResult, error) {
- // TODO
- return nil, fmt.Errorf("Not implemented")
+ query = strings.ToLower(query)
+ ret := []UserSearchResult{}
+ for _, user := range mm.conn.Users {
+ if strings.Contains(strings.ToLower(user.Username), query) ||
+ strings.Contains(strings.ToLower(user.Nickname), query) ||
+ strings.Contains(strings.ToLower(user.GetDisplayName(model.SHOW_NICKNAME_FULLNAME)), query) {
+ ret = append(ret, UserSearchResult{
+ ID: UserID(fmt.Sprintf("%s@%s", user.Username, mm.server)),
+ DisplayName: user.GetDisplayName(model.SHOW_NICKNAME_FULLNAME),
+ })
+ }
+ }
+ return ret, nil
}
func (mm *Mattermost) Send(event *Event) (string, error) {