forked from student-15031/NTO-2025-Android-TeamTask
Auth Case and Repo done
This commit is contained in:
@@ -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
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user