MM 56929 Dont allow guests to be set via channel API (#26385)
* don't allow guest to be set only on channels. * fix bad merge, add jira ticket link --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
8e99bca82b
Коммит
ab029105fd
@@ -1207,14 +1207,18 @@ func (a *App) UpdateChannelMemberSchemeRoles(c request.CTX, channelID string, us
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if member.SchemeGuest {
|
||||
return nil, model.NewAppError("UpdateChannelMemberSchemeRoles", "api.channel.update_channel_member_roles.guest.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if isSchemeGuest {
|
||||
return nil, model.NewAppError("UpdateChannelMemberSchemeRoles", "api.channel.update_channel_member_roles.user_and_guest.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
member.SchemeAdmin = isSchemeAdmin
|
||||
member.SchemeUser = isSchemeUser
|
||||
member.SchemeGuest = isSchemeGuest
|
||||
|
||||
if member.SchemeUser && member.SchemeGuest {
|
||||
return nil, model.NewAppError("UpdateChannelMemberSchemeRoles", "api.channel.update_channel_member_roles.guest_and_user.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
// If the migration is not completed, we also need to check the default channel_admin/channel_user roles are not present in the roles field.
|
||||
if err = a.IsPhase2MigrationCompleted(); err != nil {
|
||||
member.ExplicitRoles = RemoveRoles([]string{model.ChannelGuestRoleId, model.ChannelUserRoleId, model.ChannelAdminRoleId}, member.ExplicitRoles)
|
||||
|
||||
@@ -1512,7 +1512,6 @@ func TestImportImportUser(t *testing.T) {
|
||||
|
||||
// see https://mattermost.atlassian.net/browse/MM-56986
|
||||
// Test importing deleted guest with a valid team & valid channel name in apply mode.
|
||||
// mlog.Debug("TESTING GUEST")
|
||||
// username = model.NewId()
|
||||
// deleteAt = model.GetMillis()
|
||||
// deletedGuestData := &imports.UserImportData{
|
||||
@@ -1537,7 +1536,6 @@ func TestImportImportUser(t *testing.T) {
|
||||
|
||||
// user, appErr = th.App.GetUserByUsername(*deletedGuestData.Username)
|
||||
// require.Nil(t, appErr, "Failed to get user from database.")
|
||||
// mlog.Debug(user.Roles)
|
||||
|
||||
// teamMember, appErr = th.App.GetTeamMember(th.Context, team.Id, user.Id)
|
||||
// require.Nil(t, appErr, "Failed to get the team member")
|
||||
|
||||
Ссылка в новой задаче
Block a user