def METHOD_NAME(
    self,
    is_admin: Optional[bool] = None,
    activate: bool = False,
    reset_password: bool = False,
    new_email: Optional[str] = None,
    with_confirmation: bool = True,
) -> Tuple[User, bool, Optional[str]]:
    user_updated = False
    new_password = None
    user = self._get_user()
    if is_admin is not None:
        self._update_admin_rights(user, is_admin)
        user_updated = True
    if activate:
        self._activate_user(user)
        user_updated = True
    if reset_password:
        new_password = self._reset_user_password(user)
        user_updated = True
    if new_email is not None:
        self._update_user_email(user, new_email, with_confirmation)
        user_updated = True
    db.session.commit()
    return user, user_updated, new_password