MM-56822 Update logic around permissions and sanitization (#26227)

* update logic around permissions and sanitization

* add test

* add comments

* fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Scott Bishel
2024-02-21 15:19:11 -07:00
коммит произвёл GitHub
родитель 01e1eebc07
Коммит f90b3d4141
2 изменённых файлов: 40 добавлений и 11 удалений

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

@@ -1906,19 +1906,22 @@ func (a *App) GetTeamIdFromQuery(query url.Values) (string, *model.AppError) {
}
func (a *App) SanitizeTeam(session model.Session, team *model.Team) *model.Team {
if a.SessionHasPermissionToTeam(session, team.Id, model.PermissionManageTeam) {
manageTeamPermission := a.SessionHasPermissionToTeam(session, team.Id, model.PermissionManageTeam)
inviteUserPermission := a.SessionHasPermissionToTeam(session, team.Id, model.PermissionInviteUser)
if manageTeamPermission && inviteUserPermission {
return team
}
if a.SessionHasPermissionToTeam(session, team.Id, model.PermissionInviteUser) {
inviteId := team.InviteId
team.Sanitize()
team.InviteId = inviteId
return team
}
email := team.Email
inviteId := team.InviteId
team.Sanitize()
if manageTeamPermission {
team.Email = email
}
if inviteUserPermission {
team.InviteId = inviteId
}
return team
}