MM-63791: guest permissions to teams (#30789)

* improve th.CreateGuestAndClient

* test coverage for guest user access to teams

* restrict guest access to public teams unless a member
Этот коммит содержится в:
Jesse Hallam
2025-04-22 10:12:22 -03:00
коммит произвёл GitHub
родитель 79561c44c2
Коммит 701ddc896a
5 изменённых файлов: 122 добавлений и 19 удалений

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

@@ -151,7 +151,16 @@ func getTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if (!team.AllowOpenInvite || team.Type != model.TeamOpen) && !c.App.SessionHasPermissionToTeam(*c.AppContext.Session(), team.Id, model.PermissionViewTeam) {
isPublicTeam := team.AllowOpenInvite && team.Type == model.TeamOpen
hasPermissionViewTeam := c.App.SessionHasPermissionToTeam(*c.AppContext.Session(), team.Id, model.PermissionViewTeam)
if !isPublicTeam && !hasPermissionViewTeam {
c.SetPermissionError(model.PermissionViewTeam)
return
}
if isPublicTeam && !hasPermissionViewTeam && !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionListPublicTeams) {
// Fail with PermissionViewTeam, not PermissionListPublicTeams.
c.SetPermissionError(model.PermissionViewTeam)
return
}