Skip to content

Commit 3ef8d53

Browse files
committed
[#152] 위치 저장 API 호출 시점 벼녕
1 parent 78e7d72 commit 3ef8d53

File tree

7 files changed

+15
-23
lines changed

7 files changed

+15
-23
lines changed

core/data/src/main/java/team/noweekend/data/mapper/UserMapper.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ internal fun UserProfileResponse.toDomain(): User = User(
1414
revocableToken = revocableToken,
1515
role = role,
1616
remainingAnnualLeave = remainingAnnualLeave,
17-
latitude = location.latitude,
18-
longitude = location.longitude,
17+
latitude = location?.latitude,
18+
longitude = location?.longitude,
1919
averageTemperature = averageTemperature,
2020
)

core/data/src/main/java/team/noweekend/data/repository/LoginRepositoryImpl.kt

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

33
import team.noweekend.core.domain.repository.AuthRepository
4+
import team.noweekend.core.domain.repository.LocationRepository
45
import team.noweekend.core.domain.repository.LoginRepository
56
import team.noweekend.core.model.login.LoginInfoDomainModel
67
import team.noweekend.core.model.login.LoginRequest
@@ -12,6 +13,7 @@ import javax.inject.Inject
1213
internal class LoginRepositoryImpl @Inject constructor(
1314
private val loginApi: LoginApi,
1415
private val authRepository: AuthRepository,
16+
private val locationRepository: LocationRepository,
1517
) : LoginRepository {
1618
override suspend fun requestGoogleLogin(requestBody: LoginRequest): LoginInfoDomainModel {
1719
return loginApi.requestLogin(
@@ -21,6 +23,7 @@ internal class LoginRepositoryImpl @Inject constructor(
2123
),
2224
).also {
2325
authRepository.setAccessToken(token = it.accessToken)
26+
locationRepository.postUserLocation()
2427
}
2528
.toDataModel()
2629
.toDomainModel()

core/domain/src/main/java/team/noweekend/core/domain/repository/LocationRepository.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package team.noweekend.core.domain.repository
22

33
interface LocationRepository {
44
suspend fun postUserLocation(
5-
latitude: Float,
6-
longitude: Float,
5+
latitude: Float = 37.55616F,
6+
longitude: Float = 126.9723F,
77
)
88
}

core/model/src/main/java/team/noweekend/core/model/user/User.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ data class User(
88
val userBirth: String,
99
val oAuthId: String,
1010
val oAuthType: String,
11-
val revocableToken: String,
11+
val revocableToken: String?,
1212
val role: String,
1313
val remainingAnnualLeave: Float,
14-
val latitude: Float,
15-
val longitude: Float,
14+
val latitude: Float?,
15+
val longitude: Float?,
1616
val averageTemperature: Float,
1717
)

core/remote/src/main/kotlin/team/noweekend/core/remote/di/NetworkModule.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ internal class NetworkModule {
3636
prettyPrint = true
3737
isLenient = true
3838
ignoreUnknownKeys = true
39+
explicitNulls = true
3940
}
4041
}
4142

core/remote/src/main/kotlin/team/noweekend/core/remote/model/user/UserProfileResponse.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ data class UserProfileResponse(
2121
@SerialName("providerType")
2222
val oAuthType: String,
2323
@SerialName("revocableToken")
24-
val revocableToken: String,
24+
val revocableToken: String?,
2525
@SerialName("role")
2626
val role: String,
2727
@SerialName("remainingAnnualLeave")
2828
val remainingAnnualLeave: Float,
2929
@SerialName("location")
30-
val location: UserLocationDto,
30+
val location: UserLocationDto?,
3131
@SerialName("averageTemperature")
3232
val averageTemperature: Float,
3333
)

feature/home/src/main/java/team/noweekend/feature/home/mvi/HomeViewModel.kt

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import team.noweekend.core.domain.usecase.GetHolidayUseCase
1818
import team.noweekend.core.domain.usecase.GetSandwichRecommendVacationUseCase
1919
import team.noweekend.core.domain.usecase.GetUserProfileUseCase
2020
import team.noweekend.core.domain.usecase.GetWeatherRecommendVacationUseCase
21-
import team.noweekend.core.domain.usecase.UserLocationUseCase
2221
import team.noweekend.core.model.calendar.WeeksData
2322
import team.noweekend.core.model.vacation.VacationType
2423
import team.noweekend.feature.home.mapper.toImageTypeWithId
@@ -34,19 +33,18 @@ class HomeViewModel @Inject constructor(
3433
savedStateHandle: SavedStateHandle,
3534
private val getHolidayUseCase: GetHolidayUseCase,
3635
private val getWeatherRecommendVacationUseCase: GetWeatherRecommendVacationUseCase,
37-
private val userLocationUseCase: UserLocationUseCase,
3836
private val getSandwichRecommendVacationUseCase: GetSandwichRecommendVacationUseCase,
3937
private val getUserProfileUseCase: GetUserProfileUseCase,
4038
private val calendarDataProviderUseCase: CalendarDataProviderUseCase,
4139
) : MVIViewModel<HomeIntent, HomeSideEffect, HomeUiState>(
4240
savedStateHandle = savedStateHandle,
4341
) {
4442
init {
45-
getUserProfile()
4643
getPopularRecommendVacations()
4744
getRemainedHolidays()
48-
saveUserLocation()
45+
getWeatherRecommendVacation()
4946
getCalendarData()
47+
getUserProfile()
5048
}
5149

5250
override fun createInitialState(savedStateHandle: SavedStateHandle): HomeUiState {
@@ -127,16 +125,6 @@ class HomeViewModel @Inject constructor(
127125
}
128126
}
129127

130-
private fun saveUserLocation() = execute {
131-
userLocationUseCase.saveLocation()
132-
.onSuccess {
133-
getWeatherRecommendVacation()
134-
}
135-
.onFailure { exception ->
136-
Log.d("logtag", "$exception")
137-
}
138-
}
139-
140128
private fun getWeatherRecommendVacation() = execute {
141129
getWeatherRecommendVacationUseCase()
142130
.onSuccess { remoteVacations ->

0 commit comments

Comments
 (0)