Skip to content

Commit 01151a2

Browse files
committed
[IDLE-000] 불필요한 Result 남용 제거
1 parent 1947f1c commit 01151a2

File tree

58 files changed

+1247
-1096
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1247
-1096
lines changed

build-logic/src/main/java/com/idle/app/care.android.feature-binding.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ dependencies {
2121
implementation(project(":core:designresource"))
2222
implementation(project(":core:navigation"))
2323
implementation(project(":core:analytics"))
24+
implementation(project(":core:common"))
2425
implementation(project(":core:common-ui:binding"))
2526

2627
val libs = project.extensions.libs
@@ -31,4 +32,4 @@ dependencies {
3132
implementation(libs.findLibrary("androidx.lifecycle.viewModel").get())
3233
implementation(libs.findLibrary("androidx.lifecycle.runtime").get())
3334
implementation(libs.findLibrary("material").get())
34-
}
35+
}

build-logic/src/main/java/com/idle/app/care.android.feature-compose.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ dependencies {
2121
implementation(project(":core:designresource"))
2222
implementation(project(":core:navigation"))
2323
implementation(project(":core:analytics"))
24+
implementation(project(":core:common"))
2425
implementation(project(":core:common-ui:binding"))
2526
implementation(project(":core:common-ui:compose"))
2627

@@ -30,4 +31,4 @@ dependencies {
3031
implementation(libs.findLibrary("androidx-navigation-fragment").get())
3132
implementation(libs.findLibrary("androidx.lifecycle.viewModelCompose").get())
3233
implementation(libs.findLibrary("androidx.lifecycle.runtimeCompose").get())
33-
}
34+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.idle.common
2+
3+
import kotlin.coroutines.cancellation.CancellationException
4+
5+
suspend inline fun <T, R> T.suspendRunCatching(crossinline block: suspend T.() -> R): Result<R> {
6+
return try {
7+
Result.success(block())
8+
} catch (e: CancellationException) {
9+
throw e
10+
} catch (t: Throwable) {
11+
Result.failure(t)
12+
}
13+
}

core/data/src/main/java/com/idle/data/repository/AuthRepositoryImpl.kt

Lines changed: 81 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import com.idle.datastore.datasource.UserInfoDataSource
55
import com.idle.domain.model.auth.BusinessRegistrationInfo
66
import com.idle.domain.model.auth.UserType
77
import com.idle.domain.repositorry.AuthRepository
8-
import com.idle.domain.repositorry.TokenRepository
98
import com.idle.domain.repositorry.ProfileRepository
9+
import com.idle.domain.repositorry.TokenRepository
1010
import com.idle.network.model.auth.ConfirmAuthCodeRequest
1111
import com.idle.network.model.auth.GenerateNewPasswordRequest
1212
import com.idle.network.model.auth.SendPhoneRequest
@@ -29,62 +29,60 @@ class AuthRepositoryImpl @Inject constructor(
2929
private val userInfoDataSource: UserInfoDataSource,
3030
private val tokenRepository: TokenRepository,
3131
) : AuthRepository {
32-
override suspend fun sendPhoneNumber(phoneNumber: String): Result<Unit> =
32+
override suspend fun sendPhoneNumber(phoneNumber: String) {
3333
authDataSource.sendPhoneNumber(SendPhoneRequest(phoneNumber))
34+
}
3435

3536
override suspend fun confirmAuthCode(
3637
phoneNumber: String,
3738
authCode: String,
38-
): Result<Unit> = authDataSource.confirmAuthCode(
39-
ConfirmAuthCodeRequest(
40-
phoneNumber = phoneNumber,
41-
authCode = authCode,
39+
) {
40+
authDataSource.confirmAuthCode(
41+
ConfirmAuthCodeRequest(
42+
phoneNumber = phoneNumber,
43+
authCode = authCode,
44+
)
4245
)
43-
)
46+
}
4447

4548
override suspend fun signUpCenter(
4649
identifier: String,
4750
password: String,
4851
phoneNumber: String,
4952
managerName: String,
5053
businessRegistrationNumber: String
51-
): Result<Unit> = authDataSource.signUpCenter(
52-
SignUpCenterRequest(
53-
identifier = identifier,
54-
password = password,
55-
phoneNumber = phoneNumber,
56-
managerName = managerName,
57-
businessRegistrationNumber = businessRegistrationNumber,
54+
) {
55+
authDataSource.signUpCenter(
56+
SignUpCenterRequest(
57+
identifier = identifier,
58+
password = password,
59+
phoneNumber = phoneNumber,
60+
managerName = managerName,
61+
businessRegistrationNumber = businessRegistrationNumber,
62+
)
5863
)
59-
)
64+
}
6065

61-
override suspend fun signInCenter(identifier: String, password: String): Result<Unit> =
62-
authDataSource.signInCenter(
66+
override suspend fun signInCenter(identifier: String, password: String) {
67+
val tokenResponse: TokenResponse = authDataSource.signInCenter(
6368
SignInCenterRequest(identifier = identifier, password = password)
64-
).fold(
65-
onSuccess = { tokenResponse ->
66-
coroutineScope {
67-
handleSignInSuccess(tokenResponse, UserType.CENTER.apiValue)
68-
69-
val profile = profileRepository.getMyCenterProfile().getOrNull()
70-
if (profile != null) {
71-
userInfoDataSource.setUserInfo(profile.toString())
72-
}
73-
74-
Result.success(Unit)
75-
}
76-
},
77-
onFailure = { Result.failure(it) }
7869
)
70+
coroutineScope {
71+
handleSignInSuccess(tokenResponse, UserType.CENTER.apiValue)
72+
val profile = profileRepository.getMyCenterProfile()
73+
userInfoDataSource.setUserInfo(profile.toString())
74+
}
75+
}
7976

80-
override suspend fun validateIdentifier(identifier: String): Result<Unit> =
77+
override suspend fun validateIdentifier(identifier: String) {
8178
authDataSource.validateIdentifier(identifier)
79+
}
8280

8381
override suspend fun validateBusinessRegistrationNumber(
8482
businessRegistrationNumber: String,
85-
): Result<BusinessRegistrationInfo> =
83+
): BusinessRegistrationInfo =
8684
authDataSource.validateBusinessRegistrationNumber(businessRegistrationNumber)
87-
.mapCatching { it.toVO() }
85+
.toVO()
8886

8987
override suspend fun signUpWorker(
9088
name: String,
@@ -93,93 +91,79 @@ class AuthRepositoryImpl @Inject constructor(
9391
phoneNumber: String,
9492
roadNameAddress: String,
9593
lotNumberAddress: String,
96-
): Result<Unit> = authDataSource.signUpWorker(
97-
SignUpWorkerRequest(
98-
name = name,
99-
birthYear = birthYear,
100-
genderType = genderType,
101-
phoneNumber = phoneNumber,
102-
roadNameAddress = roadNameAddress,
103-
lotNumberAddress = lotNumberAddress,
94+
) {
95+
val tokenResponse: TokenResponse = authDataSource.signUpWorker(
96+
SignUpWorkerRequest(
97+
name = name,
98+
birthYear = birthYear,
99+
genderType = genderType,
100+
phoneNumber = phoneNumber,
101+
roadNameAddress = roadNameAddress,
102+
lotNumberAddress = lotNumberAddress,
103+
)
104104
)
105-
).fold(
106-
onSuccess = { tokenResponse ->
107-
coroutineScope {
108-
handleSignInSuccess(tokenResponse, UserType.WORKER.apiValue)
109-
110-
val profile = profileRepository.getMyWorkerProfile().getOrNull()
111-
if (profile != null) {
112-
userInfoDataSource.setUserInfo(profile.toString())
113-
}
114-
115-
Result.success(Unit)
116-
}
117-
},
118-
onFailure = { Result.failure(it) }
119-
)
105+
coroutineScope {
106+
handleSignInSuccess(tokenResponse, UserType.WORKER.apiValue)
107+
val profile = profileRepository.getMyWorkerProfile()
108+
userInfoDataSource.setUserInfo(profile.toString())
109+
}
110+
}
120111

121112
override suspend fun signInWorker(
122113
phoneNumber: String,
123114
authCode: String,
124-
): Result<Unit> = authDataSource.signInWorker(
125-
SignInWorkerRequest(phoneNumber = phoneNumber, authCode = authCode)
126-
).fold(
127-
onSuccess = { tokenResponse ->
128-
coroutineScope {
129-
handleSignInSuccess(tokenResponse, UserType.WORKER.apiValue)
130-
131-
val updatedProfile = profileRepository.getMyWorkerProfile().getOrNull()
132-
if (updatedProfile != null) {
133-
userInfoDataSource.setUserInfo(updatedProfile.toString())
134-
}
135-
136-
Result.success(Unit)
137-
}
138-
},
139-
onFailure = { Result.failure(it) }
140-
)
141-
142-
override suspend fun logoutWorker(): Result<Unit> {
143-
tokenRepository.deleteDeviceToken(getDeviceToken())
144-
145-
return authDataSource.logoutWorker()
146-
.onSuccess { clearUserData() }
115+
) {
116+
val tokenResponse: TokenResponse = authDataSource.signInWorker(
117+
SignInWorkerRequest(phoneNumber = phoneNumber, authCode = authCode)
118+
)
119+
coroutineScope {
120+
handleSignInSuccess(tokenResponse, UserType.WORKER.apiValue)
121+
val updatedProfile = profileRepository.getMyWorkerProfile()
122+
userInfoDataSource.setUserInfo(updatedProfile.toString())
123+
}
147124
}
148125

149-
override suspend fun logoutCenter(): Result<Unit> {
126+
override suspend fun logoutWorker() {
150127
tokenRepository.deleteDeviceToken(getDeviceToken())
151-
152-
return authDataSource.logoutCenter()
153-
.onSuccess { clearUserData() }
128+
authDataSource.logoutWorker()
129+
clearUserData()
154130
}
155131

156-
override suspend fun withdrawalCenter(reason: String, password: String): Result<Unit> {
132+
override suspend fun logoutCenter() {
157133
tokenRepository.deleteDeviceToken(getDeviceToken())
134+
authDataSource.logoutCenter()
135+
clearUserData()
136+
}
158137

159-
return authDataSource.withdrawalCenter(
138+
override suspend fun withdrawalCenter(reason: String, password: String) {
139+
tokenRepository.deleteDeviceToken(getDeviceToken())
140+
authDataSource.withdrawalCenter(
160141
WithdrawalCenterRequest(reason = reason, password = password)
161-
).onSuccess { clearUserData() }
142+
)
143+
clearUserData()
162144
}
163145

164-
override suspend fun withdrawalWorker(reason: String): Result<Unit> {
146+
override suspend fun withdrawalWorker(reason: String) {
165147
tokenRepository.deleteDeviceToken(getDeviceToken())
166-
167-
return authDataSource.withdrawalWorker(WithdrawalWorkerRequest(reason))
168-
.onSuccess { clearUserData() }
148+
authDataSource.withdrawalWorker(WithdrawalWorkerRequest(reason))
149+
clearUserData()
169150
}
170151

171152
override suspend fun generateNewPassword(
172153
newPassword: String,
173154
phoneNumber: String
174-
): Result<Unit> = authDataSource.generateNewPassword(
175-
GenerateNewPasswordRequest(
176-
newPassword = newPassword,
177-
phoneNumber = phoneNumber
155+
) {
156+
authDataSource.generateNewPassword(
157+
GenerateNewPasswordRequest(
158+
newPassword = newPassword,
159+
phoneNumber = phoneNumber
160+
)
178161
)
179-
)
162+
}
180163

181-
override suspend fun sendCenterVerificationRequest(): Result<Unit> =
164+
override suspend fun sendCenterVerificationRequest() {
182165
authDataSource.sendCenterVerificationRequest()
166+
}
183167

184168
private suspend fun handleSignInSuccess(
185169
tokenResponse: TokenResponse,

0 commit comments

Comments
 (0)