summaryrefslogtreecommitdiffstats
path: root/store/sql_team_store.go
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2017-04-04 02:34:14 +0900
committerCorey Hulen <corey@hulen.com>2017-04-03 10:34:14 -0700
commit43e795448f62fa86f3dad7940fc2297c44a6ea9c (patch)
treeaec7f651c2177f9cc02824f014bccd81e96c542a /store/sql_team_store.go
parent6b61834ab14e9a4e51c29dd2904a1332c327aae6 (diff)
downloadchat-43e795448f62fa86f3dad7940fc2297c44a6ea9c.tar.gz
chat-43e795448f62fa86f3dad7940fc2297c44a6ea9c.tar.bz2
chat-43e795448f62fa86f3dad7940fc2297c44a6ea9c.zip
APIv4 post /teams/search (#5931)
Diffstat (limited to 'store/sql_team_store.go')
-rw-r--r--store/sql_team_store.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/store/sql_team_store.go b/store/sql_team_store.go
index 7d843b030..39a39fa0b 100644
--- a/store/sql_team_store.go
+++ b/store/sql_team_store.go
@@ -257,6 +257,48 @@ func (s SqlTeamStore) SearchByName(name string) StoreChannel {
return storeChannel
}
+func (s SqlTeamStore) SearchAll(term string) StoreChannel {
+ storeChannel := make(StoreChannel, 1)
+
+ go func() {
+ result := StoreResult{}
+
+ var teams []*model.Team
+
+ if _, err := s.GetReplica().Select(&teams, "SELECT * FROM Teams WHERE Name LIKE :Term OR DisplayName LIKE :Term", map[string]interface{}{"Term": term + "%"}); err != nil {
+ result.Err = model.NewLocAppError("SqlTeamStore.SearchAll", "store.sql_team.search_all_team.app_error", nil, "term="+term+", "+err.Error())
+ }
+
+ result.Data = teams
+
+ storeChannel <- result
+ close(storeChannel)
+ }()
+
+ return storeChannel
+}
+
+func (s SqlTeamStore) SearchOpen(term string) StoreChannel {
+ storeChannel := make(StoreChannel, 1)
+
+ go func() {
+ result := StoreResult{}
+
+ var teams []*model.Team
+
+ if _, err := s.GetReplica().Select(&teams, "SELECT * FROM Teams WHERE Type = 'O' AND (Name LIKE :Term OR DisplayName LIKE :Term)", map[string]interface{}{"Term": term + "%"}); err != nil {
+ result.Err = model.NewLocAppError("SqlTeamStore.SearchOpen", "store.sql_team.search_open_team.app_error", nil, "term="+term+", "+err.Error())
+ }
+
+ result.Data = teams
+
+ storeChannel <- result
+ close(storeChannel)
+ }()
+
+ return storeChannel
+}
+
func (s SqlTeamStore) GetAll() StoreChannel {
storeChannel := make(StoreChannel, 1)