Switch webauthn_credentials.any? and .present? to be webauthn_enabled? #3867
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What problem are you solving?
user.webauthn_credentials.any?
anduser.webauthn_credentials.present?
were used to detect if any webauthn credentials are present. But, there is a method,webauthn_enabled?
that we can now use. The different patterns used to detect if there are webauthn credentials is inconsistent.Further, prior to decoupling, we used
@user.mfa_enabled? || @user.webauthn_credentials.any?
(orpresent?
) to represent if MFA is enabled. Now that@user.mfa_enabled?
encompasses both totp and webauthn devices, the|| @user.webauthn_credentials.any?
should be removed.Contributes to #3800
What approach did you choose and why?
Removes instances of
.present?
and.any?
and replaces withwebauthn_enabled?
where needed. Also remove the now unnecessary or-ing to check if mfa is enabled.