Skip to content

Commit a217fb2

Browse files
committed
Revert "Merge pull request #347 from Runnect/feature/refactor-presentation-response"
This reverts commit 1283dc7, reversing changes made to 2f2fa5d.
1 parent 66a7dbd commit a217fb2

14 files changed

Lines changed: 109 additions & 80 deletions

File tree

app/src/main/java/com/runnect/runnect/data/dto/response/ResponsePostMyDrawCourse.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,14 @@ import kotlinx.serialization.Serializable
55

66
@Serializable
77
data class ResponsePostMyDrawCourse(
8-
@SerialName("id")
9-
val id: Int,
10-
@SerialName("createdAt")
11-
val createdAt: String
12-
)
8+
@SerialName("data")
9+
val data: Data
10+
) {
11+
@Serializable
12+
data class Data(
13+
@SerialName("id")
14+
val id: Int,
15+
@SerialName("createdAt")
16+
val createdAt: String
17+
)
18+
}

app/src/main/java/com/runnect/runnect/data/repository/CourseRepositoryImpl.kt

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import com.runnect.runnect.data.dto.request.RequestPostPublicCourse
66
import com.runnect.runnect.data.dto.request.RequestPostRunningHistory
77
import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse
88
import com.runnect.runnect.data.dto.response.ResponseGetMyDrawDetail
9+
import com.runnect.runnect.data.dto.response.ResponsePostDiscoverUpload
10+
import com.runnect.runnect.data.dto.response.ResponsePostMyDrawCourse
11+
import com.runnect.runnect.data.dto.response.ResponsePostMyHistory
12+
import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse
913
import com.runnect.runnect.data.network.mapToFlowResult
1014
import com.runnect.runnect.data.source.remote.RemoteCourseDataSource
1115
import com.runnect.runnect.domain.entity.CourseDetail
@@ -21,9 +25,8 @@ import okhttp3.MultipartBody
2125
import okhttp3.RequestBody
2226
import javax.inject.Inject
2327

24-
class CourseRepositoryImpl @Inject constructor(
25-
private val remoteCourseDataSource: RemoteCourseDataSource
26-
) : CourseRepository {
28+
class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSource: RemoteCourseDataSource) :
29+
CourseRepository {
2730

2831
override suspend fun getMarathonCourse(): Flow<Result<List<MarathonCourse>>> {
2932
return remoteCourseDataSource.getMarathonCourse().mapToFlowResult {
@@ -63,8 +66,8 @@ class CourseRepositoryImpl @Inject constructor(
6366
return remoteCourseDataSource.getMyDrawDetail(courseId = courseId).mapToFlowResult { it }
6467
}
6568

66-
override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<Unit>> {
67-
return remoteCourseDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult {}
69+
override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<ResponsePutMyDrawCourse>> {
70+
return remoteCourseDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult { it }
6871
}
6972

7073
override suspend fun postCourseScrap(
@@ -75,8 +78,8 @@ class CourseRepositoryImpl @Inject constructor(
7578
}
7679
}
7780

78-
override suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow<Result<Unit>> {
79-
return remoteCourseDataSource.postUploadMyCourse(requestPostPublicCourse = requestPostPublicCourse).mapToFlowResult {}
81+
override suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow<Result<ResponsePostDiscoverUpload>> {
82+
return remoteCourseDataSource.postUploadMyCourse(requestPostPublicCourse = requestPostPublicCourse).mapToFlowResult { it }
8083
}
8184

8285
override suspend fun patchPublicCourse(
@@ -90,16 +93,14 @@ class CourseRepositoryImpl @Inject constructor(
9093
it.toEditableCourseDetail()
9194
}
9295

93-
override suspend fun postRecord(request: RequestPostRunningHistory): Flow<Result<Unit>> {
94-
return remoteCourseDataSource.postRecord(request = request).mapToFlowResult {}
96+
override suspend fun postRecord(request: RequestPostRunningHistory): Flow<Result<ResponsePostMyHistory>> {
97+
return remoteCourseDataSource.postRecord(request = request).mapToFlowResult { it }
9598
}
9699

97100
override suspend fun uploadCourse(
98101
image: MultipartBody.Part,
99102
data: RequestBody
100-
): Flow<Result<Int>> {
101-
return remoteCourseDataSource.uploadCourse(image = image, data = data).mapToFlowResult {
102-
it.id
103-
}
103+
): Flow<Result<ResponsePostMyDrawCourse>> {
104+
return remoteCourseDataSource.uploadCourse(image = image, data = data).mapToFlowResult { it }
104105
}
105106
}

app/src/main/java/com/runnect/runnect/data/repository/StorageRepositoryImpl.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.runnect.runnect.data.repository
22

33
import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse
4+
import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse
45
import com.runnect.runnect.data.dto.response.toMyDrawCourse
56
import com.runnect.runnect.data.network.mapToFlowResult
67
import com.runnect.runnect.data.source.remote.RemoteStorageDataSource
@@ -17,8 +18,8 @@ class StorageRepositoryImpl @Inject constructor(
1718
override suspend fun getMyDrawCourse(): Flow<Result<List<MyDrawCourse>>> =
1819
remoteStorageDataSource.getMyDrawCourse().mapToFlowResult { it.toMyDrawCourse() }
1920

20-
override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<Unit>> {
21-
return remoteStorageDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult {}
21+
override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<ResponsePutMyDrawCourse>> {
22+
return remoteStorageDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult { it }
2223
}
2324

2425
override suspend fun getMyScrapCourse(): Flow<Result<List<MyScrapCourse>>> =

app/src/main/java/com/runnect/runnect/data/repository/UserRepositoryImpl.kt

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
package com.runnect.runnect.data.repository
22

33
import com.runnect.runnect.data.dto.HistoryInfoDTO
4+
import com.runnect.runnect.domain.entity.UserProfile
45
import com.runnect.runnect.data.dto.request.RequestDeleteHistory
56
import com.runnect.runnect.data.dto.request.RequestDeleteUploadCourse
67
import com.runnect.runnect.data.dto.request.RequestPatchHistoryTitle
78
import com.runnect.runnect.data.dto.request.RequestPatchNickName
9+
import com.runnect.runnect.data.dto.response.ResponseDeleteHistory
10+
import com.runnect.runnect.data.dto.response.ResponseDeleteUploadCourse
11+
import com.runnect.runnect.data.dto.response.ResponseDeleteUser
12+
import com.runnect.runnect.data.dto.response.ResponsePatchHistoryTitle
13+
import com.runnect.runnect.data.dto.response.ResponsePatchUserNickName
814
import com.runnect.runnect.data.network.mapToFlowResult
915
import com.runnect.runnect.data.source.remote.RemoteUserDataSource
1016
import com.runnect.runnect.domain.entity.User
11-
import com.runnect.runnect.domain.entity.UserProfile
1217
import com.runnect.runnect.domain.entity.UserUploadCourse
1318
import com.runnect.runnect.domain.repository.UserRepository
1419
import kotlinx.coroutines.flow.Flow
1520
import javax.inject.Inject
1621

17-
class UserRepositoryImpl @Inject constructor(
18-
private val remoteUserDataSource: RemoteUserDataSource
19-
) : UserRepository {
22+
class UserRepositoryImpl @Inject constructor(private val remoteUserDataSource: RemoteUserDataSource) :
23+
UserRepository {
2024

2125
override suspend fun getUserInfo(): Flow<Result<User>> = remoteUserDataSource.getUserInfo()
2226
.mapToFlowResult { it.toUser() }
@@ -29,31 +33,29 @@ class UserRepositoryImpl @Inject constructor(
2933

3034
override suspend fun putDeleteUploadCourse(
3135
requestDeleteUploadCourse: RequestDeleteUploadCourse
32-
): Flow<Result<Unit>> {
33-
return remoteUserDataSource.putDeleteUploadCourse(requestDeleteUploadCourse).mapToFlowResult {}
36+
): Flow<Result<ResponseDeleteUploadCourse>> {
37+
return remoteUserDataSource.putDeleteUploadCourse(requestDeleteUploadCourse).mapToFlowResult { it }
3438
}
3539

3640
override suspend fun putDeleteHistory(
3741
requestDeleteHistory: RequestDeleteHistory
38-
): Flow<Result<Unit>> {
39-
return remoteUserDataSource.putDeleteHistory(requestDeleteHistory).mapToFlowResult {}
42+
): Flow<Result<ResponseDeleteHistory>> {
43+
return remoteUserDataSource.putDeleteHistory(requestDeleteHistory).mapToFlowResult { it }
4044
}
4145

4246
override suspend fun patchHistoryTitle(
4347
historyId: Int, requestPatchHistoryTitle: RequestPatchHistoryTitle
44-
): Flow<Result<String>> =
45-
remoteUserDataSource.patchHistoryTitle(historyId, requestPatchHistoryTitle).mapToFlowResult {
46-
it.record.title
47-
}
48+
): Flow<Result<ResponsePatchHistoryTitle>> =
49+
remoteUserDataSource.patchHistoryTitle(historyId, requestPatchHistoryTitle).mapToFlowResult { it }
4850

49-
override suspend fun deleteUser(): Flow<Result<Unit>> {
50-
return remoteUserDataSource.deleteUser().mapToFlowResult {}
51+
override suspend fun deleteUser(): Flow<Result<ResponseDeleteUser>> {
52+
return remoteUserDataSource.deleteUser().mapToFlowResult { it }
5153
}
5254

5355
override suspend fun updateNickName(
5456
requestPatchNickName: RequestPatchNickName
55-
): Flow<Result<Unit>> =
56-
remoteUserDataSource.updateNickName(requestPatchNickName).mapToFlowResult {}
57+
): Flow<Result<ResponsePatchUserNickName>> =
58+
remoteUserDataSource.updateNickName(requestPatchNickName).mapToFlowResult { it }
5759

5860
override suspend fun getRecord(): Flow<Result<List<HistoryInfoDTO>>> {
5961
return remoteUserDataSource.getRecord().mapToFlowResult {

app/src/main/java/com/runnect/runnect/domain/repository/CourseRepository.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import com.runnect.runnect.data.dto.request.RequestPostPublicCourse
66
import com.runnect.runnect.data.dto.request.RequestPostRunningHistory
77
import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse
88
import com.runnect.runnect.data.dto.response.ResponseGetMyDrawDetail
9+
import com.runnect.runnect.data.dto.response.ResponsePostDiscoverUpload
10+
import com.runnect.runnect.data.dto.response.ResponsePostMyDrawCourse
11+
import com.runnect.runnect.data.dto.response.ResponsePostMyHistory
12+
import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse
913
import com.runnect.runnect.domain.entity.CourseDetail
1014
import com.runnect.runnect.domain.entity.DiscoverMultiViewItem.MarathonCourse
1115
import com.runnect.runnect.domain.entity.DiscoverSearchCourse
@@ -33,20 +37,20 @@ interface CourseRepository {
3337

3438
suspend fun getMyDrawDetail(courseId: Int): Flow<Result<ResponseGetMyDrawDetail>>
3539

36-
suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<Unit>>
40+
suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow<Result<ResponsePutMyDrawCourse>>
3741

3842
suspend fun postCourseScrap(requestPostCourseScrap: RequestPostCourseScrap): Flow<Result<PostScrap>>
3943

40-
suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow<Result<Unit>>
44+
suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow<Result<ResponsePostDiscoverUpload>>
4145

4246
suspend fun patchPublicCourse(
4347
publicCourseId: Int,
4448
requestPatchPublicCourse: RequestPatchPublicCourse
4549
): Flow<Result<EditableCourseDetail>>
4650

47-
suspend fun postRecord(request: RequestPostRunningHistory): Flow<Result<Unit>>
51+
suspend fun postRecord(request: RequestPostRunningHistory): Flow<Result<ResponsePostMyHistory>>
4852

4953
suspend fun uploadCourse(
5054
image: MultipartBody.Part, data: RequestBody
51-
): Flow<Result<Int>>
55+
): Flow<Result<ResponsePostMyDrawCourse>>
5256
}

app/src/main/java/com/runnect/runnect/domain/repository/StorageRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ import kotlinx.coroutines.flow.Flow
99
interface StorageRepository {
1010
suspend fun getMyDrawCourse(): Flow<Result<List<MyDrawCourse>>>
1111
suspend fun getMyScrapCourse(): Flow<Result<List<MyScrapCourse>>>
12-
suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse) : Flow<Result<Unit>>
12+
suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse) : Flow<Result<ResponsePutMyDrawCourse>>
1313
}
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package com.runnect.runnect.domain.repository
22

33
import com.runnect.runnect.data.dto.HistoryInfoDTO
4+
import com.runnect.runnect.domain.entity.UserProfile
45
import com.runnect.runnect.data.dto.request.RequestDeleteHistory
56
import com.runnect.runnect.data.dto.request.RequestDeleteUploadCourse
67
import com.runnect.runnect.data.dto.request.RequestPatchHistoryTitle
78
import com.runnect.runnect.data.dto.request.RequestPatchNickName
9+
import com.runnect.runnect.data.dto.response.ResponseDeleteHistory
10+
import com.runnect.runnect.data.dto.response.ResponseDeleteUploadCourse
11+
import com.runnect.runnect.data.dto.response.ResponseDeleteUser
12+
import com.runnect.runnect.data.dto.response.ResponsePatchHistoryTitle
13+
import com.runnect.runnect.data.dto.response.ResponsePatchUserNickName
814
import com.runnect.runnect.domain.entity.User
9-
import com.runnect.runnect.domain.entity.UserProfile
1015
import com.runnect.runnect.domain.entity.UserUploadCourse
1116
import kotlinx.coroutines.flow.Flow
1217

@@ -17,11 +22,11 @@ interface UserRepository {
1722

1823
suspend fun putDeleteUploadCourse(
1924
requestDeleteUploadCourse: RequestDeleteUploadCourse
20-
): Flow<Result<Unit>>
25+
): Flow<Result<ResponseDeleteUploadCourse>>
2126

22-
suspend fun putDeleteHistory(requestDeleteHistory: RequestDeleteHistory): Flow<Result<Unit>>
27+
suspend fun putDeleteHistory(requestDeleteHistory: RequestDeleteHistory): Flow<Result<ResponseDeleteHistory>>
2328

24-
suspend fun deleteUser(): Flow<Result<Unit>>
29+
suspend fun deleteUser(): Flow<Result<ResponseDeleteUser>>
2530

2631
suspend fun getRecord(): Flow<Result<List<HistoryInfoDTO>>>
2732

@@ -30,11 +35,11 @@ interface UserRepository {
3035
suspend fun patchHistoryTitle(
3136
historyId: Int,
3237
requestPatchHistoryTitle: RequestPatchHistoryTitle
33-
): Flow<Result<String>>
38+
): Flow<Result<ResponsePatchHistoryTitle>>
3439

3540
suspend fun updateNickName(
3641
requestPatchNickName: RequestPatchNickName
37-
): Flow<Result<Unit>>
42+
): Flow<Result<ResponsePatchUserNickName>>
3843

3944
suspend fun getUserProfile(userId: Int): Flow<Result<UserProfile>>
4045
}

app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ class CourseDetailViewModel @Inject constructor(
3535
val coursePatchState: LiveData<UiStateV2<EditableCourseDetail?>>
3636
get() = _coursePatchState
3737

38-
private val _courseDeleteState = MutableLiveData<UiStateV2<Unit>>()
39-
val courseDeleteState: LiveData<UiStateV2<Unit>>
38+
private val _courseDeleteState = MutableLiveData<UiStateV2<ResponseDeleteUploadCourse?>>()
39+
val courseDeleteState: LiveData<UiStateV2<ResponseDeleteUploadCourse?>>
4040
get() = _courseDeleteState
4141

4242
private val _courseScrapState = MutableLiveData<UiStateV2<PostScrap>>()

app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ class DrawActivity : BindingActivity<ActivityDrawBinding>(R.layout.activity_draw
162162

163163
binding.tvGuide.isVisible = false
164164
viewModel.searchResult.value = searchResult
165-
viewModel.departureName = searchResult.name
165+
viewModel.departureName.value = searchResult.name
166166

167167
setDepartureLatLng(
168168
latLng = LatLng(
@@ -515,11 +515,11 @@ class DrawActivity : BindingActivity<ActivityDrawBinding>(R.layout.activity_draw
515515
if (isCustomLocationMode) departureLatLng = customDepartureLatLng
516516

517517
val courseData = CourseData(
518-
courseId = viewModel.uploadCourseId,
518+
courseId = viewModel.uploadResult.value?.data?.id,
519519
publicCourseId = null, //직접 생성하는 코스는 publicCourseId가 없지만 코스 발견 -> 러닝 등의 루트로 넘어올 시 기록 업로드에서 requestBody에 필요함
520520
touchList = touchList,
521521
startLatLng = departureLatLng,
522-
departure = viewModel.departureName,
522+
departure = viewModel.departureName.value,
523523
distance = viewModel.distanceSum.value,
524524
image = captureUri.toString(),
525525
dataFrom = "fromDrawCourse"
@@ -791,18 +791,18 @@ class DrawActivity : BindingActivity<ActivityDrawBinding>(R.layout.activity_draw
791791
val uploadLatLngList: List<UploadLatLng> = distanceList.map { latLng ->
792792
UploadLatLng(latLng.latitude, latLng.longitude)
793793
}
794-
viewModel.path = uploadLatLngList
794+
viewModel.path.value = uploadLatLngList
795795

796796
when {
797797
isSearchLocationMode -> {
798-
viewModel.departureAddress = searchResult.fullAddress
799-
viewModel.departureName = searchResult.name
798+
viewModel.departureAddress.value = searchResult.fullAddress
799+
viewModel.departureName.value = searchResult.name
800800
}
801801

802802
isCurrentLocationMode || isCustomLocationMode -> {
803-
viewModel.departureAddress =
804-
viewModel.reverseGeocodingResult.value?.fullAddress ?: ""
805-
viewModel.departureName =
803+
viewModel.departureAddress.value =
804+
viewModel.reverseGeocodingResult.value?.fullAddress
805+
viewModel.departureName.value =
806806
viewModel.reverseGeocodingResult.value?.buildingName ?: "내가 설정한 출발지"
807807
}
808808
}

0 commit comments

Comments
 (0)