Skip to content

Commit 1a5b162

Browse files
authored
[refactor] 챌린지 피드 삭제 API 수정 (#233)
* #232 [feat] 피드 권한 에러 코드 추가 * #232 [refactor] service, controller 에러 코드 변경 * #232 [test] 테스트 코드 오류 수정
1 parent 9e216b8 commit 1a5b162

File tree

4 files changed

+5
-4
lines changed

4 files changed

+5
-4
lines changed

src/main/kotlin/com/photi/server/api/controller/challenge/ChallengeController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ class ChallengeController(
207207
@DeleteMapping("/{challengeId}/feeds/{feedId}")
208208
@Operation(summary = "챌린지 피드 삭제", security = [SecurityRequirement(name = ACCESS_TOKEN_KEY)])
209209
@ApiResponse(responseCode = "200")
210-
@ApiErrorResponses([TOKEN_UNAUTHENTICATED, TOKEN_UNAUTHORIZED, USER_NOT_FOUND, CHALLENGE_MEMBER_NOT_FOUND, CHALLENGE_NOT_FOUND, FEED_NOT_FOUND])
210+
@ApiErrorResponses([TOKEN_UNAUTHENTICATED, TOKEN_UNAUTHORIZED, USER_NOT_FOUND, CHALLENGE_MEMBER_NOT_FOUND, CHALLENGE_NOT_FOUND, FEED_CREATOR_FORBIDDEN])
211211
fun deleteChallengeFeed(
212212
principal: Principal,
213213
@PathVariable @Parameter(description = "챌린지 id", example = "1") challengeId: Long,

src/main/kotlin/com/photi/server/common/constant/ExceptionCode.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ enum class ExceptionCode(
4545
TOKEN_UNAUTHORIZED(FORBIDDEN, "권한이 없는 요청입니다. 로그인 후에 다시 시도 해주세요."),
4646
REQUEST_FORBIDDEN(FORBIDDEN, "권한이 없는 요청입니다."),
4747
CHALLENGE_CREATOR_FORBIDDEN(FORBIDDEN, "챌린지 파티장 권한이 없습니다."),
48+
FEED_CREATOR_FORBIDDEN(FORBIDDEN, "피드 삭제 권한이 없습니다."),
4849

4950
/**
5051
* 404 Not Found

src/main/kotlin/com/photi/server/service/challenge/ChallengeService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ class ChallengeService(
170170
validateChallenge(challengeId)
171171
val challengeMemberId = validateChallengeMember(userId, challengeId).id
172172
val feed = feedRepository.findByIdAndChallengeMemberId(feedId, challengeMemberId)
173-
?: throw CustomException(FEED_NOT_FOUND)
173+
?: throw CustomException(FEED_CREATOR_FORBIDDEN)
174174
val feedComments = feedCommentRepository.findAllByFeedId(feedId)
175175
val feedLikes = feedLikeRepository.findAllByFeedId(feedId)
176176

src/test/kotlin/com/photi/server/service/challenge/ChallengeServiceTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ class ChallengeServiceTest {
450450
.isEqualTo(CHALLENGE_MEMBER_NOT_FOUND)
451451
}
452452

453-
@DisplayName("등록되지 않은 피드 삭제를 하면 예외가 발생한다.")
453+
@DisplayName("권한이 없는 피드 삭제를 하면 예외가 발생한다.")
454454
@Test
455455
fun givenNotFoundFeed_whenDeleteChallengeFeed_thenThrow() {
456456
// given
@@ -473,7 +473,7 @@ class ChallengeServiceTest {
473473
assertThatThrownBy { challengeService.deleteChallengeFeed(userId, challengeId, feedId) }
474474
.isInstanceOf(CustomException::class.java)
475475
.extracting("exceptionCode")
476-
.isEqualTo(FEED_NOT_FOUND)
476+
.isEqualTo(FEED_CREATOR_FORBIDDEN)
477477
}
478478

479479
@DisplayName("챌린지 피드 조회를 하면 정렬 기준으로 정렬된 페이징 객체를 반환한다.")

0 commit comments

Comments
 (0)