Skip to content

Commit

Permalink
[Data] BaseUrlProvider suspend
Browse files Browse the repository at this point in the history
  • Loading branch information
ajou4095 committed Aug 11, 2024
1 parent c360d9f commit 6c576f0
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,14 @@ class AuthenticationApi @Inject constructor(
private val baseUrlProvider: BaseUrlProvider,
private val errorMessageMapper: ErrorMessageMapper
) {
private val baseUrl: String
get() = baseUrlProvider.get()

suspend fun logout(): Result<Unit> {
return client.post("$baseUrl/api/v1/auth/logout")
return client.post("${baseUrlProvider.get()}/api/v1/auth/logout")
.convert(errorMessageMapper::map)
}

suspend fun withdraw(): Result<Unit> {
return client.delete("$baseUrl/api/v1/auth/withdraw")
return client.delete("${baseUrlProvider.get()}/api/v1/auth/withdraw")
.convert(errorMessageMapper::map)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@ class TokenApi @Inject constructor(
private val baseUrlProvider: BaseUrlProvider,
private val errorMessageMapper: ErrorMessageMapper
) {
private val baseUrl: String
get() = baseUrlProvider.get()

suspend fun login(
username: String,
password: String
): Result<LoginRes> {
return noAuthClient.post("$baseUrl/api/v1/auth/login") {
return noAuthClient.post("${baseUrlProvider.get()}/api/v1/auth/login") {
setBody(
LoginReq(
username = username,
Expand All @@ -41,7 +39,7 @@ class TokenApi @Inject constructor(
username: String,
password: String
): Result<RegisterRes> {
return noAuthClient.post("$baseUrl/api/v1/auth/register") {
return noAuthClient.post("${baseUrlProvider.get()}/api/v1/auth/register") {
setBody(
RegisterReq(
username = username,
Expand All @@ -54,7 +52,7 @@ class TokenApi @Inject constructor(
suspend fun getAccessToken(
refreshToken: String
): Result<GetAccessTokenRes> {
return noAuthClient.post("$baseUrl/api/v1/auth/refresh") {
return noAuthClient.post("${baseUrlProvider.get()}/api/v1/auth/refresh") {
header("Token-Refresh", refreshToken)
}.convert(errorMessageMapper::map)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ class UserApi @Inject constructor(
private val baseUrlProvider: BaseUrlProvider,
private val errorMessageMapper: ErrorMessageMapper
) {
private val baseUrl: String
get() = baseUrlProvider.get()

suspend fun getProfile(): Result<ProfileRes> {
return client.get("$baseUrl/api/v1/user/profile")
return client.get("${baseUrlProvider.get()}/api/v1/user/profile")
.convert(errorMessageMapper::map)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,22 @@ import com.ray.template.android.data.R
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.runBlocking

class BaseUrlProvider(
@ApplicationContext private val context: Context,
private val dataStore: DataStore<Preferences>
) {
fun get(): String {
val serverFlag: String = runBlocking {
val preferencesKey = stringPreferencesKey(KEY_SERVER_FLAG)
val defaultFlag = context.getString(R.string.server_flag)
suspend fun get(): String {
val preferencesKey = stringPreferencesKey(KEY_SERVER_FLAG)
val defaultFlag = context.getString(R.string.server_flag)

dataStore.data.map { preferences ->
preferences[preferencesKey]
}.first() ?: let {
dataStore.edit { preferences ->
preferences[preferencesKey] = defaultFlag
}
defaultFlag
val serverFlag: String = dataStore.data.map { preferences ->
preferences[preferencesKey]
}.first() ?: let {
dataStore.edit { preferences ->
preferences[preferencesKey] = defaultFlag
}
defaultFlag
}

when (serverFlag) {
Expand Down

0 comments on commit 6c576f0

Please sign in to comment.