You've already forked RekomenciMobile
fix: auth
This commit is contained in:
@@ -62,7 +62,7 @@ class ApiKtorClient(authorizationDataStore: AuthorizationDataStore) {
|
||||
loadTokens {
|
||||
return@loadTokens authorizationDataStore.token.first()
|
||||
.toBearerTokens().also {
|
||||
Log.d("csmlc", it.accessToken)
|
||||
Log.d("ApiKtorClient", it.accessToken)
|
||||
}
|
||||
}
|
||||
refreshTokens {
|
||||
@@ -76,6 +76,27 @@ class ApiKtorClient(authorizationDataStore: AuthorizationDataStore) {
|
||||
}
|
||||
}
|
||||
|
||||
val authClient = HttpClient(OkHttp) {
|
||||
install(Logging) {
|
||||
logger = Logger.ANDROID
|
||||
level = LogLevel.ALL
|
||||
}
|
||||
install(HttpRequestRetry) {
|
||||
retryOnServerErrors(maxRetries = 3)
|
||||
exponentialDelay()
|
||||
}
|
||||
install(ContentNegotiation) {
|
||||
json(Json {
|
||||
prettyPrint = true
|
||||
isLenient = true
|
||||
ignoreUnknownKeys = true
|
||||
})
|
||||
}
|
||||
defaultRequest {
|
||||
url(Constants.BASE_API_URL)
|
||||
}
|
||||
}
|
||||
|
||||
private fun String.toBearerTokens(): BearerTokens {
|
||||
return BearerTokens(this, null)
|
||||
}
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ class AuthRepositoryImpl(
|
||||
private val authorizationDataStore: AuthorizationDataStore
|
||||
) : AuthRepository, BaseRepository() {
|
||||
|
||||
override val defaultKtorClient = ktorClient.client
|
||||
override val defaultKtorClient = ktorClient.authClient
|
||||
|
||||
override fun fetchLoginState(): Flow<Boolean> =
|
||||
authorizationDataStore.token.map { it.isNotBlank() }
|
||||
|
||||
+14
-6
@@ -1,7 +1,7 @@
|
||||
package com.prodhack.moscow2025.domain.usecase.resumes
|
||||
|
||||
import com.prodhack.moscow2025.domain.models.ExperienceType
|
||||
import com.prodhack.moscow2025.domain.models.ResumeModel
|
||||
import com.prodhack.moscow2025.presentation.utils.toReadableText
|
||||
|
||||
data class ResumeDiff(
|
||||
val changedFields: List<String>,
|
||||
@@ -55,7 +55,7 @@ class CalculateResumeDiffUseCase {
|
||||
}
|
||||
val removed = previous.skills.toSet() - current.skills.toSet()
|
||||
|
||||
if (added.isNotEmpty()) {
|
||||
if (removed.isNotEmpty()) {
|
||||
changes.add(
|
||||
ChangeModel(
|
||||
title = "Удалены навыки",
|
||||
@@ -79,7 +79,7 @@ class CalculateResumeDiffUseCase {
|
||||
changes.add(
|
||||
ChangeModel(
|
||||
"Опыт",
|
||||
"${previous.experienceType.toReadableText()} ->\n${current.experienceType.toReadableText()}"
|
||||
"${previous.experienceType.toReadable()} ->\n${current.experienceType.toReadable()}"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -98,7 +98,7 @@ class CalculateResumeDiffUseCase {
|
||||
}
|
||||
val removed = previous.experience.toSet() - current.experience.toSet()
|
||||
|
||||
if (added.isNotEmpty()) {
|
||||
if (removed.isNotEmpty()) {
|
||||
changes.add(
|
||||
ChangeModel(
|
||||
"Удален опыт",
|
||||
@@ -121,7 +121,7 @@ class CalculateResumeDiffUseCase {
|
||||
}
|
||||
val removed = previous.education.toSet() - current.education.toSet()
|
||||
|
||||
if (added.isNotEmpty()) {
|
||||
if (removed.isNotEmpty()) {
|
||||
changes.add(
|
||||
ChangeModel(
|
||||
"Удалено образование",
|
||||
@@ -144,7 +144,7 @@ class CalculateResumeDiffUseCase {
|
||||
}
|
||||
val removed = previous.projects.toSet() - current.projects.toSet()
|
||||
|
||||
if (added.isNotEmpty()) {
|
||||
if (removed.isNotEmpty()) {
|
||||
changes.add(
|
||||
ChangeModel(
|
||||
"Удален проект",
|
||||
@@ -160,3 +160,11 @@ class CalculateResumeDiffUseCase {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun ExperienceType.toReadable(): String = when (this) {
|
||||
ExperienceType.NoExperience -> "Нет опыта"
|
||||
ExperienceType.LessThan1 -> "Меньше года"
|
||||
ExperienceType.Between1And3 -> "1-3 года"
|
||||
ExperienceType.Between3And6 -> "3-6 лет"
|
||||
ExperienceType.MoreThan6 -> "Более 6 лет"
|
||||
}
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ fun ErrorCollectorScope.ResumeHistoryScreen(
|
||||
) {
|
||||
items(items.itemCount) { index ->
|
||||
val version = items[index] ?: return@items
|
||||
val previous = if (index + 1 < items.itemCount) items[index + 1] else null
|
||||
val previous = if ((index + 1) < items.itemCount) items[index + 1] else null
|
||||
val expanded = expandedState[index] ?: false
|
||||
HistoryCard(
|
||||
current = version,
|
||||
|
||||
Reference in New Issue
Block a user