Skip to content

Commit

Permalink
Code optimizing
Browse files Browse the repository at this point in the history
  • Loading branch information
yostyle committed Dec 17, 2024
1 parent 52ec75d commit 8382102
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,15 @@ class KeysExporter @Inject constructor(
// TCHAP add policy on the password to export keys
private suspend fun checkPasswordPolicy(password: String) {
val passwordPolicy = tryOrNull { authenticationService.getPasswordPolicy(session.sessionParams.homeServerConnectionConfig) }
val isValid = if (passwordPolicy != null) {
passwordPolicy.minLength?.let { it <= password.length } ?: true &&
passwordPolicy.requireDigit?.let { it && password.any { char -> char.isDigit() } } ?: true &&
passwordPolicy.requireLowercase?.let { it && password.any { char -> char.isLetter() && char.isLowerCase() } } ?: true &&
passwordPolicy.requireUppercase?.let { it && password.any { char -> char.isLetter() && char.isUpperCase() } } ?: true &&
passwordPolicy.requireSymbol?.let { it && password.any { char -> !char.isLetter() && !char.isDigit() } } ?: true
} else {
true
}
val isValid = passwordPolicy?.let { policy ->
val minLengthValid = policy.minLength?.let { minLength -> password.length >= minLength } ?: true
val hasDigit = policy.requireDigit == null || password.any { it.isDigit() }
val hasLowercase = policy.requireLowercase == null || password.any { it.isLowerCase() }
val hasUppercase = policy.requireUppercase == null || password.any { it.isUpperCase() }
val hasSymbol = policy.requireSymbol == null || password.any { !it.isLetterOrDigit() }

minLengthValid && hasDigit && hasLowercase && hasUppercase && hasSymbol
} ?: true

if (!isValid) {
throw Failure.ServerError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1033,15 +1033,15 @@ class OnboardingViewModel @AssistedInject constructor(
} else {
currentJob = viewModelScope.launch {
val passwordPolicy = tryOrNull { authenticationService.getPasswordPolicy(homeServerConnectionConfig) }
val isValid = if (passwordPolicy != null) {
passwordPolicy.minLength?.let { it <= password.length } ?: true &&
passwordPolicy.requireDigit?.let { it && password.any { char -> char.isDigit() } } ?: true &&
passwordPolicy.requireLowercase?.let { it && password.any { char -> char.isLetter() && char.isLowerCase() } } ?: true &&
passwordPolicy.requireUppercase?.let { it && password.any { char -> char.isLetter() && char.isUpperCase() } } ?: true &&
passwordPolicy.requireSymbol?.let { it && password.any { char -> !char.isLetter() && !char.isDigit() } } ?: true
} else {
true
}
val isValid = passwordPolicy?.let { policy ->
val minLengthValid = policy.minLength?.let { minLength -> password.length >= minLength } ?: true
val hasDigit = policy.requireDigit == null || password.any { it.isDigit() }
val hasLowercase = policy.requireLowercase == null || password.any { it.isLowerCase() }
val hasUppercase = policy.requireUppercase == null || password.any { it.isUpperCase() }
val hasSymbol = policy.requireSymbol == null || password.any { !it.isLetterOrDigit() }

minLengthValid && hasDigit && hasLowercase && hasUppercase && hasSymbol
} ?: true

if (!isValid) {
_viewEvents.post(OnboardingViewEvents.Failure(Throwable(stringProvider.getString(CommonStrings.tchap_password_weak_pwd_error))))
Expand Down

0 comments on commit 8382102

Please sign in to comment.