Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat/#120] 게시물 떠먹기 API 연결 #123

Merged
merged 15 commits into from
Jan 22, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/develop' into feat/#120-scoop-po…
…st-api

# Conflicts:
#	app/src/main/java/com/spoony/spoony/data/datasource/PostRemoteDataSource.kt
#	app/src/main/java/com/spoony/spoony/data/datasourceimpl/PostRemoteDataSourceImpl.kt
#	app/src/main/java/com/spoony/spoony/data/dto/base/BaseResponse.kt
#	app/src/main/java/com/spoony/spoony/data/repositoryimpl/PostRepositoryImpl.kt
#	app/src/main/java/com/spoony/spoony/data/service/PostService.kt
#	app/src/main/java/com/spoony/spoony/presentation/placeDetail/PlaceDetailViewModel.kt
Roel4990 committed Jan 22, 2025
commit b1bced3db31a032712b779d3477a08f814daa71c
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package com.spoony.spoony.data.datasource

import com.spoony.spoony.data.dto.base.BaseResponse
import com.spoony.spoony.data.dto.response.GetPostResponseDto

interface PostRemoteDataSource {
suspend fun postScoopPost(postId: Int, userId: Int): BaseResponse<Boolean>
suspend fun getPostData(postId: Int, userId: Int): BaseResponse<GetPostResponseDto>
}
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@ package com.spoony.spoony.data.datasourceimpl
import com.spoony.spoony.data.datasource.PostRemoteDataSource
import com.spoony.spoony.data.dto.base.BaseResponse
import com.spoony.spoony.data.dto.request.PostScoopRequestDto
import com.spoony.spoony.data.dto.response.GetPostResponseDto
import com.spoony.spoony.data.service.PostService
import javax.inject.Inject

@@ -12,4 +13,5 @@ class PostRemoteDataSourceImpl @Inject constructor(
override suspend fun postScoopPost(postId: Int, userId: Int): BaseResponse<Boolean> = postService.postScoopPost(
PostScoopRequestDto(postId = postId, userId = userId)
)
override suspend fun getPostData(postId: Int, userId: Int): BaseResponse<GetPostResponseDto> = postService.getPost(userId = userId, postId = postId)
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.spoony.spoony.data.repositoryimpl

import com.spoony.spoony.data.datasource.PostRemoteDataSource
import com.spoony.spoony.data.mapper.toDomain
import com.spoony.spoony.data.datasource.PostRemoteDataSource
import com.spoony.spoony.data.dto.base.BaseResponse
import com.spoony.spoony.domain.entity.CategoryEntity
@@ -10,40 +12,10 @@ import javax.inject.Inject
class PostRepositoryImpl @Inject constructor(
val postRemoteDataSource: PostRemoteDataSource
) : PostRepository {
override suspend fun getPost(postId: Int): Result<PostEntity> =
Result.success(
PostEntity(
postId = postId,
userId = 1,
photoUrlList = persistentListOf(
"https://spoony-storage.s3.ap-northeast-2.amazonaws.com/post/%2Fc4c71962-10df-4b79-999d-f17737bfa5a6starbucks_1.jpg",
"https://spoony-storage.s3.ap-northeast-2.amazonaws.com/post/%2Fe14dc4d1-f11c-4187-a120-54ab0c2493b2starbucks_2.jpg",
"https://spoony-storage.s3.ap-northeast-2.amazonaws.com/post/%2Fd25a3ca9-f107-47e2-8ca7-b00ed9a1704cstarbucks_3.jpg"
),
title = "스타벅스 강남R점 후기",
date = "2025년 1월",
menuList = persistentListOf(
"아메리카노",
"카페라떼"
),
description = "강남R점에서 커피를 마셨습니다. 분위기가 좋았어요!",
placeName = "스타벅스 강남R점",
placeAddress = "서울특별시 강남구 역삼동 825",
latitude = 37.497711,
longitude = 127.028439,
addMapCount = 1,
isAddMap = false,
isScooped = false,
category = CategoryEntity(
categoryId = 1,
categoryName = "카페",
iconUrl = "https://spoony-storage.s3.ap-northeast-2.amazonaws.com/category/icons/cafe_color.png",
unSelectedIconUrl = "unSelectedIconUrl",
textColor = "FF7E84",
backgroundColor = "FFE4E5"
)
)
)
override suspend fun getPost(postId: Int, userId: Int): Result<PostEntity> =
runCatching {
postRemoteDataSource.getPostData(postId, userId).data!!.toDomain()
}

override suspend fun postScoopPost(postId: Int, userId: Int): Result<BaseResponse<Boolean>> =
runCatching {
Original file line number Diff line number Diff line change
@@ -4,8 +4,16 @@ import com.spoony.spoony.data.dto.base.BaseResponse
import com.spoony.spoony.data.dto.request.PostScoopRequestDto
import retrofit2.http.Body
import retrofit2.http.POST
import com.spoony.spoony.data.dto.response.GetPostResponseDto
import retrofit2.http.GET
import retrofit2.http.Path

interface PostService {
@GET("/api/v1/post/{userId}/{postId}")
suspend fun getPost(
@Path("userId") userId: Int,
@Path("postId") postId: Int
): BaseResponse<GetPostResponseDto>
@POST("/api/v1/post/scoop")
suspend fun postScoopPost(
@Body postScoopRequestDto: PostScoopRequestDto
You are viewing a condensed version of this merge commit. You can view the full changes here.