Skip to content

Commit 5e2b43e

Browse files
authored
Merge pull request #82 from LeeSM0518/DVK-110-fix-swagger-of-ebook-images-api
[DVK-110] fix: 전자책 메인 사진 업로드 수정
2 parents 9ef2c20 + fed0bab commit 5e2b43e

File tree

12 files changed

+35
-59
lines changed

12 files changed

+35
-59
lines changed

src/main/kotlin/com/devooks/backend/ebook/v1/controller/docs/EbookImageControllerDocs.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ interface EbookImageControllerDocs {
7777
),
7878
ApiResponse(
7979
responseCode = "400",
80-
description = "- EBOOK-400-18: 메인 사진이 반드시 필요합니다.\n" +
80+
description = "- COMMON-400-6: 사진이 반드시 필요합니다.\n" +
8181
"- COMMON-400-3: 사진 내용이 반드시 필요합니다.\n" +
8282
"- COMMON-400-4: 유효하지 않은 사진 확장자입니다. JPG, PNG, JPEG만 가능합니다.\n" +
8383
"- COMMON-400-5: 50MB 이하의 영상만 저장이 가능합니다.\n" +

src/main/kotlin/com/devooks/backend/ebook/v1/dto/request/SaveMainImageRequest.kt

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,18 @@
11
package com.devooks.backend.ebook.v1.dto.request
22

3-
import com.devooks.backend.common.domain.Image
4-
import com.devooks.backend.common.domain.Image.Companion.validateByteSize
5-
import com.devooks.backend.common.domain.ImageExtension.Companion.validateImageExtension
6-
import com.devooks.backend.common.error.CommonError
7-
import com.devooks.backend.common.error.validateNotBlank
3+
import com.devooks.backend.common.dto.ImageDto
4+
import com.devooks.backend.common.error.validateImage
85
import com.devooks.backend.ebook.v1.domain.EbookImageType.MAIN
96
import com.devooks.backend.ebook.v1.dto.command.SaveImagesCommand
10-
import com.devooks.backend.ebook.v1.error.EbookError
117
import java.util.*
128

139
data class SaveMainImageRequest(
14-
val image: MainImageDto?,
10+
val image: ImageDto?,
1511
) {
1612

17-
data class MainImageDto(
18-
val base64Raw: String?,
19-
val extension: String?,
20-
val byteSize: Long?,
21-
) {
22-
fun toCommand() =
23-
Image(
24-
base64Raw = base64Raw.validateNotBlank(CommonError.REQUIRED_BASE64RAW.exception),
25-
extension = extension.validateImageExtension(),
26-
byteSize = byteSize.validateByteSize(),
27-
order = 1
28-
)
29-
}
30-
3113
fun toCommand(requesterId: UUID) =
3214
SaveImagesCommand(
33-
imageList = listOf(image?.toCommand() ?: throw EbookError.REQUIRED_MAIN_IMAGE.exception),
15+
imageList = listOf(image.validateImage()),
3416
requesterId = requesterId,
3517
imageType = MAIN
3618
)
Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,14 @@
11
package com.devooks.backend.ebook.v1.dto.response
22

33
import com.devooks.backend.ebook.v1.domain.EbookImage
4-
import io.swagger.v3.oas.annotations.media.Schema
5-
import java.util.*
6-
import kotlin.io.path.pathString
4+
import com.devooks.backend.ebook.v1.dto.EbookImageDto
5+
import com.devooks.backend.ebook.v1.dto.EbookImageDto.Companion.toDto
76

87
data class SaveMainImageResponse(
9-
val mainImage: MainImageDto,
8+
val mainImage: EbookImageDto,
109
) {
11-
data class MainImageDto(
12-
@Schema(description = "메인 사진 식별자")
13-
val id: UUID,
14-
@Schema(description = "메인 사진 경로")
15-
val imagePath: String,
16-
)
17-
1810
companion object {
1911
fun EbookImage.toSaveMainImageResponse() =
20-
SaveMainImageResponse(
21-
MainImageDto(
22-
id = id,
23-
imagePath = imagePath.pathString
24-
)
25-
)
12+
SaveMainImageResponse(toDto())
2613
}
2714
}

src/main/kotlin/com/devooks/backend/ebook/v1/error/EbookError.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ enum class EbookError(val exception: GeneralException) {
2424
INVALID_EBOOK_INQUIRY_COMMENT_ID(GeneralException("EBOOK-400-15", BAD_REQUEST, "잘못된 형식의 댓글 식별자입니다.")),
2525
INVALID_EBOOK_ID(GeneralException("EBOOK-400-16", BAD_REQUEST, "잘못된 형식의 전자책 식별자입니다.")),
2626
REQUIRED_EBOOK_FOR_MODIFY(GeneralException("EBOOK-400-17", BAD_REQUEST, "전자책이 반드시 필요합니다.")),
27-
REQUIRED_MAIN_IMAGE(GeneralException("EBOOK-400-18", BAD_REQUEST, "메인 사진이 반드시 필요합니다.")),
2827
REQUIRED_MAIN_IMAGE_ID(GeneralException("EBOOK-400-19", BAD_REQUEST, "메인 사진 식별자가 반드시 필요합니다.")),
2928
INVALID_MAIN_IMAGE_ID(GeneralException("EBOOK-400-20", BAD_REQUEST, "잘못된 형식의 메인 사진 식별자입니다.")),
3029
REQUIRED_DESCRIPTION_IMAGE_ID(GeneralException("EBOOK-400-21", BAD_REQUEST, "설명 사진 식별자가 반드시 필요합니다.")),

src/test/kotlin/com/devooks/backend/ebook/v1/controller/EbookControllerTest.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,12 +1059,13 @@ internal class EbookControllerTest @Autowired constructor(
10591059
imageBase64Raw: String?,
10601060
imagePath: Path,
10611061
accessToken: AccessToken,
1062-
): SaveMainImageResponse.MainImageDto {
1062+
): EbookImageDto {
10631063
val saveMainImageRequest = SaveMainImageRequest(
1064-
SaveMainImageRequest.MainImageDto(
1065-
imageBase64Raw,
1066-
imagePath.extension,
1067-
imagePath.fileSize(),
1064+
ImageDto(
1065+
base64Raw = imageBase64Raw,
1066+
extension = imagePath.extension,
1067+
byteSize = imagePath.fileSize(),
1068+
order = 1
10681069
)
10691070
)
10701071

src/test/kotlin/com/devooks/backend/ebook/v1/controller/EbookImageControllerTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,11 @@ internal class EbookImageControllerTest @Autowired constructor(
122122
val imageBase64Raw = Base64.getEncoder().encodeToString(imageBytes)
123123

124124
val request = SaveMainImageRequest(
125-
SaveMainImageRequest.MainImageDto(
125+
ImageDto(
126126
imageBase64Raw,
127127
imagePath.extension,
128128
imagePath.fileSize(),
129+
1
129130
)
130131
)
131132

src/test/kotlin/com/devooks/backend/ebook/v1/controller/EbookInquiryCommentControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,12 +417,13 @@ internal class EbookInquiryCommentControllerTest @Autowired constructor(
417417
imageBase64Raw: String?,
418418
imagePath: Path,
419419
accessToken: AccessToken,
420-
): SaveMainImageResponse.MainImageDto {
420+
): EbookImageDto {
421421
val saveMainImageRequest = SaveMainImageRequest(
422-
SaveMainImageRequest.MainImageDto(
422+
ImageDto(
423423
imageBase64Raw,
424424
imagePath.extension,
425425
imagePath.fileSize(),
426+
1
426427
)
427428
)
428429

src/test/kotlin/com/devooks/backend/ebook/v1/controller/EbookInquiryControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,12 +395,13 @@ internal class EbookInquiryControllerTest @Autowired constructor(
395395
imageBase64Raw: String?,
396396
imagePath: Path,
397397
accessToken: AccessToken,
398-
): SaveMainImageResponse.MainImageDto {
398+
): EbookImageDto {
399399
val saveMainImageRequest = SaveMainImageRequest(
400-
SaveMainImageRequest.MainImageDto(
400+
ImageDto(
401401
imageBase64Raw,
402402
imagePath.extension,
403403
imagePath.fileSize(),
404+
1
404405
)
405406
)
406407

src/test/kotlin/com/devooks/backend/review/v1/controller/ReviewCommentControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,12 +430,13 @@ internal class ReviewCommentControllerTest @Autowired constructor(
430430
imageBase64Raw: String?,
431431
imagePath: Path,
432432
accessToken: AccessToken,
433-
): SaveMainImageResponse.MainImageDto {
433+
): EbookImageDto {
434434
val saveMainImageRequest = SaveMainImageRequest(
435-
SaveMainImageRequest.MainImageDto(
435+
ImageDto(
436436
imageBase64Raw,
437437
imagePath.extension,
438438
imagePath.fileSize(),
439+
1
439440
)
440441
)
441442

src/test/kotlin/com/devooks/backend/review/v1/controller/ReviewControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -518,12 +518,13 @@ internal class ReviewControllerTest @Autowired constructor(
518518
imageBase64Raw: String?,
519519
imagePath: Path,
520520
accessToken: AccessToken,
521-
): SaveMainImageResponse.MainImageDto {
521+
): EbookImageDto {
522522
val saveMainImageRequest = SaveMainImageRequest(
523-
SaveMainImageRequest.MainImageDto(
523+
ImageDto(
524524
imageBase64Raw,
525525
imagePath.extension,
526526
imagePath.fileSize(),
527+
1
527528
)
528529
)
529530

src/test/kotlin/com/devooks/backend/transaciton/v1/controller/TransactionControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,12 +408,13 @@ internal class TransactionControllerTest @Autowired constructor(
408408
imageBase64Raw: String?,
409409
imagePath: Path,
410410
accessToken: AccessToken,
411-
): SaveMainImageResponse.MainImageDto {
411+
): EbookImageDto {
412412
val saveMainImageRequest = SaveMainImageRequest(
413-
SaveMainImageRequest.MainImageDto(
413+
ImageDto(
414414
imageBase64Raw,
415415
imagePath.extension,
416416
imagePath.fileSize(),
417+
1
417418
)
418419
)
419420

src/test/kotlin/com/devooks/backend/wishlist/v1/controller/WishlistControllerTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,12 +364,13 @@ internal class WishlistControllerTest @Autowired constructor(
364364
imageBase64Raw: String?,
365365
imagePath: Path,
366366
accessToken: AccessToken,
367-
): SaveMainImageResponse.MainImageDto {
367+
): EbookImageDto {
368368
val saveMainImageRequest = SaveMainImageRequest(
369-
SaveMainImageRequest.MainImageDto(
369+
ImageDto(
370370
imageBase64Raw,
371371
imagePath.extension,
372372
imagePath.fileSize(),
373+
1
373374
)
374375
)
375376

0 commit comments

Comments
 (0)