PLT-7811 Standardized team sanitization flow (#7586)
* post-4.3 commit (#7581) * reduce store boiler plate (#7585) * fix GetPostsByIds error (#7591) * PLT-7811 Standardized team sanitization flow * Fixed TestGetAllTeamListings * Stopped sanitizing teams for team admins * Removed debug logging * Added TearDown to sanitization tests that needed it
Этот коммит содержится в:
коммит произвёл
Chris
родитель
9adaf53e11
Коммит
e522a1c2e4
26
app/team.go
26
app/team.go
@@ -104,8 +104,6 @@ func (a *App) UpdateTeam(team *model.Team) (*model.Team, *model.AppError) {
|
||||
return nil, result.Err
|
||||
}
|
||||
|
||||
oldTeam.Sanitize()
|
||||
|
||||
a.sendUpdatedTeamEvent(oldTeam)
|
||||
|
||||
return oldTeam, nil
|
||||
@@ -124,16 +122,18 @@ func (a *App) PatchTeam(teamId string, patch *model.TeamPatch) (*model.Team, *mo
|
||||
return nil, err
|
||||
}
|
||||
|
||||
updatedTeam.Sanitize()
|
||||
|
||||
a.sendUpdatedTeamEvent(updatedTeam)
|
||||
|
||||
return updatedTeam, nil
|
||||
}
|
||||
|
||||
func (a *App) sendUpdatedTeamEvent(team *model.Team) {
|
||||
sanitizedTeam := &model.Team{}
|
||||
*sanitizedTeam = *team
|
||||
sanitizedTeam.Sanitize()
|
||||
|
||||
message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_UPDATE_TEAM, "", "", "", nil)
|
||||
message.Add("team", team.ToJson())
|
||||
message.Add("team", sanitizedTeam.ToJson())
|
||||
a.Go(func() {
|
||||
a.Publish(message)
|
||||
})
|
||||
@@ -833,3 +833,19 @@ func (a *App) GetTeamIdFromQuery(query url.Values) (string, *model.AppError) {
|
||||
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func SanitizeTeam(session model.Session, team *model.Team) *model.Team {
|
||||
if !SessionHasPermissionToTeam(session, team.Id, model.PERMISSION_MANAGE_TEAM) {
|
||||
team.Sanitize()
|
||||
}
|
||||
|
||||
return team
|
||||
}
|
||||
|
||||
func SanitizeTeams(session model.Session, teams []*model.Team) []*model.Team {
|
||||
for _, team := range teams {
|
||||
SanitizeTeam(session, team)
|
||||
}
|
||||
|
||||
return teams
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user