diff --git a/management/server/account.go b/management/server/account.go index 1d9fd5d48..aab198342 100644 --- a/management/server/account.go +++ b/management/server/account.go @@ -917,12 +917,7 @@ func (am *DefaultAccountManager) UpdateAccountSettings(accountID, userID string, unlock := am.Store.AcquireAccountLock(accountID) defer unlock() - account, err := am.Store.GetAccountByUser(userID) - if err != nil { - return nil, err - } - - err = additions.ValidateExtraSettings(newSettings.Extra, account.Settings.Extra, account.Peers, userID, accountID, am.eventStore) + account, err := am.Store.GetAccount(accountID) if err != nil { return nil, err } @@ -936,6 +931,11 @@ func (am *DefaultAccountManager) UpdateAccountSettings(accountID, userID string, return nil, status.Errorf(status.PermissionDenied, "user is not allowed to update account") } + err = additions.ValidateExtraSettings(newSettings.Extra, account.Settings.Extra, account.Peers, userID, accountID, am.eventStore) + if err != nil { + return nil, err + } + oldSettings := account.Settings if oldSettings.PeerLoginExpirationEnabled != newSettings.PeerLoginExpirationEnabled { event := activity.AccountPeerLoginExpirationEnabled