Skip to content

Commit 2be6328

Browse files
Darren4641darren
andauthored
fix/#125 -> staging merge commit
* fix: media 생성시 width, height 입력 받기 * fix: 포즈 상세 및 랜덤포즈 오동작 문제 해결 (관리자 계정만 동작했었음) --------- Co-authored-by: darren <darren@darrenui-MacBookPro.local>
1 parent 30dee19 commit 2be6328

32 files changed

+129
-16
lines changed

src/main/kotlin/com/yapp2app/media/api/converter/MediaCommandConverter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class MediaCommandConverter {
2121
filename = item.filename!!,
2222
contentType = item.contentType!!,
2323
mediaType = item.mediaType!!,
24+
width = item.width,
25+
height = item.height,
2426
)
2527
},
2628
)

src/main/kotlin/com/yapp2app/media/api/dto/UploadTicketRequest.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,9 @@ data class UploadTicketRequest(
2828

2929
@field:NotNull(message = "미디어 타입은 필수 입력값입니다.")
3030
val mediaType: MediaType?,
31+
32+
val width: Int? = null,
33+
34+
val height: Int? = null,
3135
)
3236
}

src/main/kotlin/com/yapp2app/media/application/command/MediaCommand.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@ import com.yapp2app.media.domain.MediaType
1111
data class ConfirmMediasUploadedCommand(val ownerId: Long, val mediaIds: List<Long>)
1212

1313
data class GenerateUploadTicketCommand(val ownerId: Long, val items: List<UploadTicketItem>) {
14-
data class UploadTicketItem(val filename: String, val contentType: String, val mediaType: MediaType)
14+
data class UploadTicketItem(
15+
val filename: String,
16+
val contentType: String,
17+
val mediaType: MediaType,
18+
val width: Int? = null,
19+
val height: Int? = null,
20+
)
1521
}
1622

1723
data class DeleteMediaCommand(val ownerId: Long, val mediaId: Long)
@@ -22,6 +28,6 @@ data class GetMediasCommand(val ownerId: Long, val mediaIds: List<Long>)
2228

2329
data class GetImageByKeyCommand(val objectKey: String)
2430

25-
data class GetMediaStorageInfoCommand(val ownerId: Long, val mediaId: Long)
31+
data class GetMediaStorageInfoCommand(val ownerId: Long?, val mediaId: Long)
2632

2733
data class GetMediaStorageInfosCommand(val ownerId: Long?, val mediaIds: List<Long>)

src/main/kotlin/com/yapp2app/media/application/port/MediaRepositoryPort.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.yapp2app.media.domain.entity.Media
1010
*/
1111
interface MediaRepositoryPort {
1212

13+
fun getActiveMedia(id: Long): Media?
1314
fun getActiveMedia(ownerId: Long, id: Long): Media?
1415
fun getActiveMedias(ids: List<Long>): List<Media>
1516
fun getActiveMedias(ownerId: Long, ids: List<Long>): List<Media>

src/main/kotlin/com/yapp2app/media/application/result/MediaResult.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,20 @@ data class GetImageByKeyResult(val binaryData: ByteArray, val contentType: Strin
5151
override fun hashCode(): Int = 31 * binaryData.contentHashCode() + contentType.hashCode()
5252
}
5353

54-
data class GetMediaStorageInfoResult(val mediaId: Long, val storageKey: String, val contentType: String)
54+
data class GetMediaStorageInfoResult(
55+
val mediaId: Long,
56+
val storageKey: String,
57+
val contentType: String,
58+
val width: Int? = null,
59+
val height: Int? = null,
60+
)
5561

5662
data class GetMediaStorageInfosResult(val storageInfos: List<StorageInfo>) {
57-
data class StorageInfo(val mediaId: Long, val storageKey: String, val contentType: String)
63+
data class StorageInfo(
64+
val mediaId: Long,
65+
val storageKey: String,
66+
val contentType: String,
67+
val width: Int? = null,
68+
val height: Int? = null,
69+
)
5870
}

src/main/kotlin/com/yapp2app/media/application/usecase/GenerateUploadTicketUseCase.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class GenerateUploadTicketUseCase(
3838
ownerId = command.ownerId,
3939
mediaType = item.mediaType,
4040
contentType = item.contentType,
41+
width = item.width,
42+
height = item.height,
4143
)
4244
val savedMedia = mediaRepository.save(media)
4345

src/main/kotlin/com/yapp2app/media/application/usecase/GetMediaStorageInfoUseCase.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,20 @@ import com.yapp2app.media.application.result.GetMediaStorageInfoResult
1717
class GetMediaStorageInfoUseCase(private val mediaRepository: MediaRepositoryPort) {
1818

1919
fun execute(command: GetMediaStorageInfoCommand): GetMediaStorageInfoResult {
20-
val media = (
20+
val media = command.ownerId?.let {
2121
mediaRepository.getActiveMedia(command.ownerId, command.mediaId)
22-
?: throw BusinessException(ResultCode.NOT_FOUND)
23-
)
22+
} ?: mediaRepository.getActiveMedia(command.mediaId)
23+
24+
if (media == null) {
25+
throw BusinessException(ResultCode.NOT_FOUND)
26+
}
2427

2528
return GetMediaStorageInfoResult(
2629
mediaId = media.id!!,
2730
storageKey = media.storageKey,
2831
contentType = media.contentType,
32+
width = media.width,
33+
height = media.height,
2934
)
3035
}
3136
}

src/main/kotlin/com/yapp2app/media/application/usecase/GetMediaStorageInfosUseCase.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ class GetMediaStorageInfosUseCase(private val mediaRepository: MediaRepositoryPo
2424
mediaId = it.id!!,
2525
storageKey = it.storageKey,
2626
contentType = it.contentType,
27+
width = it.width,
28+
height = it.height,
2729
)
2830
}
2931

src/main/kotlin/com/yapp2app/media/domain/entity/Media.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ class Media(
4040

4141
@Column(name = "content_type", nullable = true, length = 100)
4242
val contentType: String,
43+
44+
@Column(name = "width", nullable = true)
45+
val width: Int? = null,
46+
47+
@Column(name = "height", nullable = true)
48+
val height: Int? = null,
4349
) : BaseTimeEntity() {
4450

4551
fun markAsUploaded() {

src/main/kotlin/com/yapp2app/media/infra/persist/MediaRepositoryAdapter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import org.springframework.stereotype.Repository
1515
@Repository
1616
class MediaRepositoryAdapter(private val jpaRepository: JpaMediaRepository) : MediaRepositoryPort {
1717

18+
override fun getActiveMedia(id: Long): Media? = jpaRepository.findByIdAndStatus(id, MediaStatus.UPLOADED)
19+
1820
override fun getActiveMedia(ownerId: Long, id: Long): Media? =
1921
jpaRepository.findByOwnerIdAndIdAndStatus(ownerId, id, MediaStatus.UPLOADED)
2022

0 commit comments

Comments
 (0)