Get all teams api4 (#5542)
Этот коммит содержится в:
коммит произвёл
George Goldberg
родитель
83c113595a
Коммит
45edfbe719
19
api4/team.go
19
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)))
|
||||
}
|
||||
|
||||
@@ -114,6 +114,54 @@ func TestGetTeam(t *testing.T) {
|
||||
CheckNoError(t, resp)
|
||||
}
|
||||
|
||||
func TestGetAllTeams(t *testing.T) {
|
||||
th := Setup().InitBasic().InitSystemAdmin()
|
||||
defer TearDown()
|
||||
Client := th.Client
|
||||
|
||||
team := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: true}
|
||||
_, resp := Client.CreateTeam(team)
|
||||
CheckNoError(t, resp)
|
||||
|
||||
rrteams, resp := Client.GetAllTeams("", 1, 1)
|
||||
CheckNoError(t, resp)
|
||||
|
||||
if (len(rrteams) != 1) {
|
||||
t.Fatal("wrong number of teams - should be 1")
|
||||
}
|
||||
|
||||
for _, rt := range rrteams {
|
||||
if rt.Type != model.TEAM_OPEN {
|
||||
t.Fatal("not all teams are open")
|
||||
}
|
||||
}
|
||||
|
||||
rrteams1, resp := Client.GetAllTeams("", 1, 0)
|
||||
CheckNoError(t, resp)
|
||||
|
||||
if (len(rrteams1) != 0) {
|
||||
t.Fatal("wrong number of teams - should be 0")
|
||||
}
|
||||
|
||||
rrteams2, resp := th.SystemAdminClient.GetAllTeams("", 1, 1)
|
||||
CheckNoError(t, resp)
|
||||
|
||||
if (len(rrteams2) != 1) {
|
||||
t.Fatal("wrong number of teams - should be 1")
|
||||
}
|
||||
|
||||
rrteams2, resp = Client.GetAllTeams("", 1, 0)
|
||||
CheckNoError(t, resp)
|
||||
|
||||
if (len(rrteams2) != 0) {
|
||||
t.Fatal("wrong number of teams - should be 0")
|
||||
}
|
||||
|
||||
Client.Logout()
|
||||
_, resp = Client.GetAllTeams("", 1, 10)
|
||||
CheckUnauthorizedStatus(t, resp)
|
||||
}
|
||||
|
||||
func TestGetTeamByName(t *testing.T) {
|
||||
th := Setup().InitBasic().InitSystemAdmin()
|
||||
defer TearDown()
|
||||
|
||||
Ссылка в новой задаче
Block a user