summaryrefslogtreecommitdiffstats
path: root/api4/team.go
diff options
context:
space:
mode:
authorAndrei Stanciu <andrei.stanciu@geminisols.ro>2017-02-28 10:41:38 +0200
committerGeorge Goldberg <george@gberg.me>2017-02-28 08:41:38 +0000
commit45edfbe719b87bc6207f88350ff501eff142b28c (patch)
tree30dac4de7c3b43ce9b2ec2160e8c993cc9c4e764 /api4/team.go
parent83c113595ace467ad34f05e35fb2282fa8631a17 (diff)
downloadchat-45edfbe719b87bc6207f88350ff501eff142b28c.tar.gz
chat-45edfbe719b87bc6207f88350ff501eff142b28c.tar.bz2
chat-45edfbe719b87bc6207f88350ff501eff142b28c.zip
Get all teams api4 (#5542)
Diffstat (limited to 'api4/team.go')
-rw-r--r--api4/team.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/api4/team.go b/api4/team.go
index db42dc6b6..9071458cb 100644
--- a/api4/team.go
+++ b/api4/team.go
@@ -16,6 +16,7 @@ func InitTeam() {
l4g.Debug(utils.T("api.team.init.debug"))
BaseRoutes.Teams.Handle("", ApiSessionRequired(createTeam)).Methods("POST")
+ BaseRoutes.Teams.Handle("", ApiSessionRequired(getAllTeams)).Methods("GET")
BaseRoutes.TeamsForUser.Handle("", ApiSessionRequired(getTeamsForUser)).Methods("GET")
BaseRoutes.Team.Handle("", ApiSessionRequired(getTeam)).Methods("GET")
@@ -189,3 +190,21 @@ func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) {
ReturnStatusOK(w)
}
+
+func getAllTeams(c *Context, w http.ResponseWriter, r *http.Request) {
+ var teams []*model.Team
+ var err *model.AppError
+
+ if app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
+ teams, err = app.GetAllTeamsPage(c.Params.Page, c.Params.PerPage)
+ } else {
+ teams, err = app.GetAllOpenTeamsPage(c.Params.Page, c.Params.PerPage)
+ }
+
+ if err != nil {
+ c.Err = err
+ return
+ }
+
+ w.Write([]byte(model.TeamListToJson(teams)))
+}