diff options
author | Jesús Espino <jespinog@gmail.com> | 2018-08-01 16:55:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-01 16:55:18 +0200 |
commit | d81a61398d01d839e70e2345da787e7ef89c0832 (patch) | |
tree | a0702c7874ae31b487bb0b87dcce613edc1e53b9 /api4/team.go | |
parent | 1f168263a2ff73ddee1193cccdeea533f6d501fe (diff) | |
download | chat-d81a61398d01d839e70e2345da787e7ef89c0832.tar.gz chat-d81a61398d01d839e70e2345da787e7ef89c0832.tar.bz2 chat-d81a61398d01d839e70e2345da787e7ef89c0832.zip |
Migrate all the api4 to handle errors in idiomatic way (#9143)
Diffstat (limited to 'api4/team.go')
-rw-r--r-- | api4/team.go | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/api4/team.go b/api4/team.go index 6fbc537e9..fcc9323ac 100644 --- a/api4/team.go +++ b/api4/team.go @@ -87,20 +87,19 @@ func getTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - if team, err := c.App.GetTeam(c.Params.TeamId); err != nil { + team, err := c.App.GetTeam(c.Params.TeamId) + if err != nil { c.Err = err return - } else { - if (!team.AllowOpenInvite || team.Type != model.TEAM_OPEN) && !c.App.SessionHasPermissionToTeam(c.Session, team.Id, model.PERMISSION_VIEW_TEAM) { - c.SetPermissionError(model.PERMISSION_VIEW_TEAM) - return - } - - c.App.SanitizeTeam(c.Session, team) + } - w.Write([]byte(team.ToJson())) + if (!team.AllowOpenInvite || team.Type != model.TEAM_OPEN) && !c.App.SessionHasPermissionToTeam(c.Session, team.Id, model.PERMISSION_VIEW_TEAM) { + c.SetPermissionError(model.PERMISSION_VIEW_TEAM) return } + + c.App.SanitizeTeam(c.Session, team) + w.Write([]byte(team.ToJson())) } func getTeamByName(c *Context, w http.ResponseWriter, r *http.Request) { @@ -109,20 +108,19 @@ func getTeamByName(c *Context, w http.ResponseWriter, r *http.Request) { return } - if team, err := c.App.GetTeamByName(c.Params.TeamName); err != nil { + team, err := c.App.GetTeamByName(c.Params.TeamName) + if err != nil { c.Err = err return - } else { - if (!team.AllowOpenInvite || team.Type != model.TEAM_OPEN) && !c.App.SessionHasPermissionToTeam(c.Session, team.Id, model.PERMISSION_VIEW_TEAM) { - c.SetPermissionError(model.PERMISSION_VIEW_TEAM) - return - } - - c.App.SanitizeTeam(c.Session, team) + } - w.Write([]byte(team.ToJson())) + if (!team.AllowOpenInvite || team.Type != model.TEAM_OPEN) && !c.App.SessionHasPermissionToTeam(c.Session, team.Id, model.PERMISSION_VIEW_TEAM) { + c.SetPermissionError(model.PERMISSION_VIEW_TEAM) return } + + c.App.SanitizeTeam(c.Session, team) + w.Write([]byte(team.ToJson())) } func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) { @@ -146,14 +144,12 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) { } updatedTeam, err := c.App.UpdateTeam(team) - if err != nil { c.Err = err return } c.App.SanitizeTeam(c.Session, updatedTeam) - w.Write([]byte(updatedTeam.ToJson())) } @@ -225,14 +221,14 @@ func getTeamsForUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - if teams, err := c.App.GetTeamsForUser(c.Params.UserId); err != nil { + teams, err := c.App.GetTeamsForUser(c.Params.UserId) + if err != nil { c.Err = err return - } else { - c.App.SanitizeTeams(c.Session, teams) - - w.Write([]byte(model.TeamListToJson(teams))) } + + c.App.SanitizeTeams(c.Session, teams) + w.Write([]byte(model.TeamListToJson(teams))) } func getTeamsUnreadForUser(c *Context, w http.ResponseWriter, r *http.Request) { @@ -269,13 +265,13 @@ func getTeamMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - if team, err := c.App.GetTeamMember(c.Params.TeamId, c.Params.UserId); err != nil { + team, err := c.App.GetTeamMember(c.Params.TeamId, c.Params.UserId) + if err != nil { c.Err = err return - } else { - w.Write([]byte(team.ToJson())) - return } + + w.Write([]byte(team.ToJson())) } func getTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) { @@ -289,13 +285,13 @@ func getTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) { return } - if members, err := c.App.GetTeamMembers(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage); err != nil { + members, err := c.App.GetTeamMembers(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage) + if err != nil { c.Err = err return - } else { - w.Write([]byte(model.TeamMembersToJson(members))) - return } + + w.Write([]byte(model.TeamMembersToJson(members))) } func getTeamMembersForUser(c *Context, w http.ResponseWriter, r *http.Request) { @@ -505,13 +501,13 @@ func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) { return } - if stats, err := c.App.GetTeamStats(c.Params.TeamId); err != nil { + stats, err := c.App.GetTeamStats(c.Params.TeamId) + if err != nil { c.Err = err return - } else { - w.Write([]byte(stats.ToJson())) - return } + + w.Write([]byte(stats.ToJson())) } func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) { @@ -745,22 +741,23 @@ func getInviteInfo(c *Context, w http.ResponseWriter, r *http.Request) { return } - if team, err := c.App.GetTeamByInviteId(c.Params.InviteId); err != nil { + team, err := c.App.GetTeamByInviteId(c.Params.InviteId) + if err != nil { c.Err = err return - } else { - if !(team.Type == model.TEAM_OPEN) { - c.Err = model.NewAppError("getInviteInfo", "api.team.get_invite_info.not_open_team", nil, "id="+c.Params.InviteId, http.StatusForbidden) - return - } + } - result := map[string]string{} - result["display_name"] = team.DisplayName - result["description"] = team.Description - result["name"] = team.Name - result["id"] = team.Id - w.Write([]byte(model.MapToJson(result))) + if !(team.Type == model.TEAM_OPEN) { + c.Err = model.NewAppError("getInviteInfo", "api.team.get_invite_info.not_open_team", nil, "id="+c.Params.InviteId, http.StatusForbidden) + return } + + result := map[string]string{} + result["display_name"] = team.DisplayName + result["description"] = team.Description + result["name"] = team.Name + result["id"] = team.Id + w.Write([]byte(model.MapToJson(result))) } func getTeamIcon(c *Context, w http.ResponseWriter, r *http.Request) { @@ -769,32 +766,35 @@ func getTeamIcon(c *Context, w http.ResponseWriter, r *http.Request) { return } - if team, err := c.App.GetTeam(c.Params.TeamId); err != nil { + team, err := c.App.GetTeam(c.Params.TeamId) + + if err != nil { c.Err = err return - } else { - if !c.App.SessionHasPermissionToTeam(c.Session, c.Params.TeamId, model.PERMISSION_VIEW_TEAM) && - (team.Type != model.TEAM_OPEN || team.AllowOpenInvite) { - c.SetPermissionError(model.PERMISSION_VIEW_TEAM) - return - } + } - etag := strconv.FormatInt(team.LastTeamIconUpdate, 10) + if !c.App.SessionHasPermissionToTeam(c.Session, c.Params.TeamId, model.PERMISSION_VIEW_TEAM) && + (team.Type != model.TEAM_OPEN || team.AllowOpenInvite) { + c.SetPermissionError(model.PERMISSION_VIEW_TEAM) + return + } - if c.HandleEtag(etag, "Get Team Icon", w, r) { - return - } + etag := strconv.FormatInt(team.LastTeamIconUpdate, 10) - if img, err := c.App.GetTeamIcon(team); err != nil { - c.Err = err - return - } else { - w.Header().Set("Content-Type", "image/png") - w.Header().Set("Cache-Control", fmt.Sprintf("max-age=%v, public", 24*60*60)) // 24 hrs - w.Header().Set(model.HEADER_ETAG_SERVER, etag) - w.Write(img) - } + if c.HandleEtag(etag, "Get Team Icon", w, r) { + return + } + + img, err := c.App.GetTeamIcon(team) + if err != nil { + c.Err = err + return } + + w.Header().Set("Content-Type", "image/png") + w.Header().Set("Cache-Control", fmt.Sprintf("max-age=%v, public", 24*60*60)) // 24 hrs + w.Header().Set(model.HEADER_ETAG_SERVER, etag) + w.Write(img) } func setTeamIcon(c *Context, w http.ResponseWriter, r *http.Request) { |