Auth Case and Repo done

This commit is contained in:
2025-11-29 15:37:18 +03:00
parent 945b9d347d
commit cbc91ee472
2 changed files with 7 additions and 4 deletions

View File

@@ -7,10 +7,9 @@ object AuthRepository {
private var codeCache: String? = null private var codeCache: String? = null
suspend fun checkAndSave(text: String): Result<Boolean> { suspend fun checkAndSave(text: String): Result<Boolean> {
return NetworkDataSource.checkAuth(text).onSuccess { success -> return NetworkDataSource.checkAuth(text).mapCatching { success ->
if (success) { if (success) codeCache = text
codeCache = text success
}
} }
} }
} }

View File

@@ -8,6 +8,10 @@ class CheckAndSaveAuthCodeUseCase(
suspend operator fun invoke( suspend operator fun invoke(
text: String text: String
): Result<Unit> { ): Result<Unit> {
val isValid = text.length == 4 && text.all {it.isLetterOrDigit()}
if (!isValid) return Result.failure(IllegalArgumentException("Неверный формат кода!"))
return repository.checkAndSave(text).mapCatching { success -> return repository.checkAndSave(text).mapCatching { success ->
if (!success) error("Code is incorrect") if (!success) error("Code is incorrect")
} }