From cbc91ee472692bc66875ed12cfe476eef31f885a Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 29 Nov 2025 15:37:18 +0300 Subject: [PATCH] Auth Case and Repo done --- .../java/ru/myitschool/work/data/repo/AuthRepository.kt | 7 +++---- .../work/domain/auth/CheckAndSaveAuthCodeUseCase.kt | 4 ++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt b/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt index 3ef28f1..3eaf83f 100644 --- a/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt +++ b/app/src/main/java/ru/myitschool/work/data/repo/AuthRepository.kt @@ -7,10 +7,9 @@ object AuthRepository { private var codeCache: String? = null suspend fun checkAndSave(text: String): Result { - return NetworkDataSource.checkAuth(text).onSuccess { success -> - if (success) { - codeCache = text - } + return NetworkDataSource.checkAuth(text).mapCatching { success -> + if (success) codeCache = text + success } } } \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/auth/CheckAndSaveAuthCodeUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/auth/CheckAndSaveAuthCodeUseCase.kt index 012fb6f..b339db1 100644 --- a/app/src/main/java/ru/myitschool/work/domain/auth/CheckAndSaveAuthCodeUseCase.kt +++ b/app/src/main/java/ru/myitschool/work/domain/auth/CheckAndSaveAuthCodeUseCase.kt @@ -8,6 +8,10 @@ class CheckAndSaveAuthCodeUseCase( suspend operator fun invoke( text: String ): Result { + + val isValid = text.length == 4 && text.all {it.isLetterOrDigit()} + if (!isValid) return Result.failure(IllegalArgumentException("Неверный формат кода!")) + return repository.checkAndSave(text).mapCatching { success -> if (!success) error("Code is incorrect") }