File tree Expand file tree Collapse file tree 5 files changed +10
-10
lines changed
data/src/main/java/com/stop/data
domain/src/main/java/com/stop/domain Expand file tree Collapse file tree 5 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -11,12 +11,12 @@ import com.stop.domain.model.route.seoul.subway.SubwayCircleType
11
11
import com.stop.domain.model.route.seoul.subway.WeekType
12
12
import com.stop.domain.model.route.tmap.RouteRequest
13
13
import com.stop.domain.model.route.tmap.custom.Coordinate
14
+ import com.stop.domain.model.route.tmap.origin.Itinerary
14
15
import com.stop.domain.model.route.tmap.origin.ReverseGeocodingResponse
15
- import com.stop.domain.model.route.tmap.origin.RouteResponse
16
16
17
17
internal interface RouteRemoteDataSource {
18
18
19
- suspend fun getRoute (routeRequest : RouteRequest ): RouteResponse
19
+ suspend fun getRoute (routeRequest : RouteRequest ): List < Itinerary >
20
20
suspend fun reverseGeocoding (coordinate : Coordinate , addressType : AddressType ): ReverseGeocodingResponse
21
21
22
22
suspend fun getSubwayStationCd (stationId : String , stationName : String ): String
Original file line number Diff line number Diff line change @@ -25,12 +25,12 @@ internal class RouteRemoteDataSourceImpl @Inject constructor(
25
25
private val apisDataService : ApisDataService ,
26
26
) : RouteRemoteDataSource {
27
27
28
- override suspend fun getRoute (routeRequest : RouteRequest ): RouteResponse {
28
+ override suspend fun getRoute (routeRequest : RouteRequest ): List < Itinerary > {
29
29
with (
30
30
tmapApiService.getRoutes(routeRequest.toMap())
31
31
) {
32
32
return when (this ) {
33
- is NetworkResult .Success -> this .data
33
+ is NetworkResult .Success -> eraseDuplicateLeg( this .data.metaData.plan.itineraries)
34
34
is NetworkResult .Failure -> throw IllegalArgumentException (this .message)
35
35
is NetworkResult .NetworkError -> throw this .exception
36
36
is NetworkResult .Unexpected -> throw this .exception
Original file line number Diff line number Diff line change @@ -10,16 +10,16 @@ import com.stop.domain.model.route.seoul.subway.SubwayCircleType
10
10
import com.stop.domain.model.route.seoul.subway.WeekType
11
11
import com.stop.domain.model.route.tmap.RouteRequest
12
12
import com.stop.domain.model.route.tmap.custom.Coordinate
13
+ import com.stop.domain.model.route.tmap.origin.Itinerary
13
14
import com.stop.domain.model.route.tmap.origin.ReverseGeocodingResponse
14
- import com.stop.domain.model.route.tmap.origin.RouteResponse
15
15
import com.stop.domain.repository.RouteRepository
16
16
import javax.inject.Inject
17
17
18
18
internal class RouteRepositoryImpl @Inject constructor(
19
19
private val remoteDataSource : RouteRemoteDataSource
20
20
) : RouteRepository {
21
21
22
- override suspend fun getRoute (routeRequest : RouteRequest ): RouteResponse {
22
+ override suspend fun getRoute (routeRequest : RouteRequest ): List < Itinerary > {
23
23
return remoteDataSource.getRoute(routeRequest)
24
24
}
25
25
Original file line number Diff line number Diff line change @@ -11,12 +11,12 @@ import com.stop.domain.model.route.seoul.subway.SubwayCircleType
11
11
import com.stop.domain.model.route.seoul.subway.WeekType
12
12
import com.stop.domain.model.route.tmap.RouteRequest
13
13
import com.stop.domain.model.route.tmap.custom.Coordinate
14
+ import com.stop.domain.model.route.tmap.origin.Itinerary
14
15
import com.stop.domain.model.route.tmap.origin.ReverseGeocodingResponse
15
- import com.stop.domain.model.route.tmap.origin.RouteResponse
16
16
17
17
interface RouteRepository {
18
18
19
- suspend fun getRoute (routeRequest : RouteRequest ): RouteResponse
19
+ suspend fun getRoute (routeRequest : RouteRequest ): List < Itinerary >
20
20
suspend fun reverseGeocoding (coordinate : Coordinate , addressType : AddressType ): ReverseGeocodingResponse
21
21
22
22
suspend fun getSubwayStationCd (stationId : String , stationName : String ): String
Original file line number Diff line number Diff line change @@ -11,9 +11,9 @@ internal class GetRouteUseCaseImpl @Inject constructor(
11
11
) : GetRouteUseCase {
12
12
13
13
override suspend fun invoke (routeRequest : RouteRequest ): List <Itinerary > {
14
- val originRouteData = routeRepository.getRoute(routeRequest)
14
+ val originItineraries = routeRepository.getRoute(routeRequest)
15
15
16
- return originRouteData.metaData.plan.itineraries .fold(listOf ()) itinerary@{ itineraries, itinerary ->
16
+ return originItineraries .fold(listOf ()) itinerary@{ itineraries, itinerary ->
17
17
val result = itinerary.legs.fold(listOf<Route >()) { routes, leg ->
18
18
try {
19
19
val moveType = MoveType .getMoveTypeByName(leg.mode)
You can’t perform that action at this time.
0 commit comments