Профиль, редактирование без аватара

This commit is contained in:
Халимов Рустам
2026-04-16 15:41:22 +03:00
parent 8409c51842
commit cea3f4d669
45 changed files with 1063 additions and 178 deletions

View File

@@ -6,6 +6,9 @@ import auth.domain.model.AuthResult
import auth.domain.repository.AuthRepository
import core.network.ServerConfig
import core.security.TokenManager
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import javax.inject.Inject
class AuthRepositoryImpl @Inject constructor(
@@ -14,6 +17,8 @@ class AuthRepositoryImpl @Inject constructor(
private val serverConfig: ServerConfig
) : AuthRepository {
private val _isAuthenticated = kotlinx.coroutines.flow.MutableStateFlow(tokenManager.getToken() != null)
override suspend fun login(userName: String, password: String): Result<AuthResult> {
return try {
val response = api.login(AuthRequest(userName, password))
@@ -21,6 +26,7 @@ class AuthRepositoryImpl @Inject constructor(
val userId = response.userId ?: ""
tokenManager.saveToken(token, userId)
_isAuthenticated.value = true
fetchConfig()
Result.success(
AuthResult(
@@ -43,6 +49,7 @@ class AuthRepositoryImpl @Inject constructor(
val userId = response.userId ?: ""
tokenManager.saveToken(token, userId)
_isAuthenticated.value = true
fetchConfig()
Result.success(
AuthResult(
@@ -60,10 +67,15 @@ class AuthRepositoryImpl @Inject constructor(
override suspend fun logout() {
tokenManager.deleteToken()
_isAuthenticated.value = false
}
override fun isAuthenticated(): Boolean {
return tokenManager.getToken() != null
return _isAuthenticated.value
}
override fun isAuthenticatedFlow(): kotlinx.coroutines.flow.StateFlow<Boolean> {
return _isAuthenticated.asStateFlow()
}
override suspend fun fetchConfig(): Result<Unit> {