Implement GET teams/{team_id}/stats - apiv4 (#5453)

* api4 GET teams/{team_id}/stats

* api4 GET teams/{team_id}/stats

* moved TeamStats router to team.go
Этот коммит содержится в:
Saturnino Abril
2017-02-18 05:50:17 +09:00
коммит произвёл Joram Wilander
родитель 91fe8bb2c0
Коммит 00d11e961f
4 изменённых файлов: 101 добавлений и 1 удалений

Просмотреть файл

@@ -19,9 +19,9 @@ func InitTeam() {
BaseRoutes.TeamsForUser.Handle("", ApiSessionRequired(getTeamsForUser)).Methods("GET")
BaseRoutes.Team.Handle("", ApiSessionRequired(getTeam)).Methods("GET")
BaseRoutes.Team.Handle("/stats", ApiHandler(getTeamStats)).Methods("GET")
BaseRoutes.TeamMember.Handle("", ApiSessionRequired(getTeamMember)).Methods("GET")
}
func createTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -104,3 +104,23 @@ func getTeamMember(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
}
func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) {
c.RequireTeamId()
if c.Err != nil {
return
}
if !app.SessionHasPermissionToTeam(c.Session, c.Params.TeamId, model.PERMISSION_VIEW_TEAM) {
c.SetPermissionError(model.PERMISSION_VIEW_TEAM)
return
}
if stats, err := app.GetTeamStats(c.Params.TeamId); err != nil {
c.Err = err
return
} else {
w.Write([]byte(stats.ToJson()))
return
}
}