Skip to content

Commit e12df0d

Browse files
committed
[FEAT/#390] FcmToken Data 모듈 작성
1 parent a5d85bd commit e12df0d

File tree

6 files changed

+38
-0
lines changed

6 files changed

+38
-0
lines changed

data/home/src/main/java/com/terning/data/home/datasource/HomeDataSource.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.terning.data.home.datasource
33
import com.terning.core.network.BaseResponse
44
import com.terning.core.network.NonDataBaseResponse
55
import com.terning.data.home.dto.request.ChangeFilterRequestDto
6+
import com.terning.data.home.dto.request.FcmTokenRequestDto
67
import com.terning.data.home.dto.response.HomeFilteringInfoResponseDto
78
import com.terning.data.home.dto.response.HomeRecommendInternResponseDto
89
import com.terning.data.home.dto.response.HomeUpcomingInternResponseDto
@@ -18,4 +19,6 @@ interface HomeDataSource {
1819
suspend fun getFilteringInfo(): BaseResponse<HomeFilteringInfoResponseDto>
1920

2021
suspend fun putFilteringInfo(changeFilterRequestDto: ChangeFilterRequestDto): NonDataBaseResponse
22+
23+
suspend fun sendFcmToken(fcmTokenRequestDto: FcmTokenRequestDto): NonDataBaseResponse
2124
}

data/home/src/main/java/com/terning/data/home/datasourceimpl/HomeDataSourceImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.terning.core.network.BaseResponse
44
import com.terning.core.network.NonDataBaseResponse
55
import com.terning.data.home.datasource.HomeDataSource
66
import com.terning.data.home.dto.request.ChangeFilterRequestDto
7+
import com.terning.data.home.dto.request.FcmTokenRequestDto
78
import com.terning.data.home.dto.response.HomeFilteringInfoResponseDto
89
import com.terning.data.home.dto.response.HomeRecommendInternResponseDto
910
import com.terning.data.home.dto.response.HomeUpcomingInternResponseDto
@@ -30,4 +31,7 @@ class HomeDataSourceImpl @Inject constructor(
3031

3132
override suspend fun putFilteringInfo(changeFilterRequestDto: ChangeFilterRequestDto): NonDataBaseResponse =
3233
homeService.putFilteringInfo(changeFilterRequestDto)
34+
35+
override suspend fun sendFcmToken(fcmTokenRequestDto: FcmTokenRequestDto): NonDataBaseResponse =
36+
homeService.sendFcmToken(fcmTokenRequestDto)
3337
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.terning.data.home.dto.request
2+
3+
import kotlinx.serialization.SerialName
4+
import kotlinx.serialization.Serializable
5+
6+
@Serializable
7+
data class FcmTokenRequestDto(
8+
@SerialName("fcmToken")
9+
val fcmToken: String
10+
)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.terning.data.home.mapper
2+
3+
import com.terning.data.home.dto.request.FcmTokenRequestDto
4+
import com.terning.domain.home.entity.FcmToken
5+
6+
fun FcmToken.toRequestDto(): FcmTokenRequestDto =
7+
FcmTokenRequestDto(
8+
fcmToken = fcmToken
9+
)

data/home/src/main/java/com/terning/data/home/repositoryimpl/HomeRepositoryImpl.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import com.terning.data.home.dto.request.toChangeFilterRequestDto
99
import com.terning.data.home.mapper.toHomeFilteringInfo
1010
import com.terning.data.home.mapper.toHomeRecommendedIntern
1111
import com.terning.data.home.mapper.toHomeUpcomingInternList
12+
import com.terning.data.home.mapper.toRequestDto
1213
import com.terning.data.home.pagingsource.HomePagingSource
1314
import com.terning.domain.home.entity.ChangeFilteringRequestModel
15+
import com.terning.domain.home.entity.FcmToken
1416
import com.terning.domain.home.entity.HomeFilteringInfo
1517
import com.terning.domain.home.entity.HomeRecommendedIntern
1618
import com.terning.domain.home.entity.HomeUpcomingIntern
@@ -52,4 +54,9 @@ class HomeRepositoryImpl @Inject constructor(
5254
putFilteringRequest.toChangeFilterRequestDto()
5355
)
5456
}
57+
58+
override suspend fun sendFcmToken(fcmTokenRequest: FcmToken): Result<Unit> =
59+
runCatching {
60+
homeDataSource.sendFcmToken(fcmTokenRequest.toRequestDto())
61+
}
5562
}

data/home/src/main/java/com/terning/data/home/service/HomeService.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ package com.terning.data.home.service
33
import com.terning.core.network.BaseResponse
44
import com.terning.core.network.NonDataBaseResponse
55
import com.terning.data.home.dto.request.ChangeFilterRequestDto
6+
import com.terning.data.home.dto.request.FcmTokenRequestDto
67
import com.terning.data.home.dto.response.HomeFilteringInfoResponseDto
78
import com.terning.data.home.dto.response.HomeRecommendInternResponseDto
89
import com.terning.data.home.dto.response.HomeUpcomingInternResponseDto
910
import retrofit2.http.Body
1011
import retrofit2.http.GET
12+
import retrofit2.http.POST
1113
import retrofit2.http.PUT
1214
import retrofit2.http.Query
1315

@@ -28,4 +30,7 @@ interface HomeService {
2830
suspend fun putFilteringInfo(
2931
@Body body: ChangeFilterRequestDto,
3032
): NonDataBaseResponse
33+
34+
@POST("api/v1/auth/sync-user")
35+
suspend fun sendFcmToken(@Body body: FcmTokenRequestDto): NonDataBaseResponse
3136
}

0 commit comments

Comments
 (0)