File tree Expand file tree Collapse file tree 10 files changed +27
-22
lines changed
src/main/kotlin/com/yapp2app Expand file tree Collapse file tree 10 files changed +27
-22
lines changed Original file line number Diff line number Diff line change 1- package com.yapp2app.common.infra
1+ package com.yapp2app.common.transaction
22
33import org.springframework.stereotype.Component
44import org.springframework.transaction.annotation.Propagation
Original file line number Diff line number Diff line change 1- package com.yapp2app.common. media.api
1+ package com.yapp2app.media.api
22
3- import com.yapp2app.common. media.MediaKey
4- import com.yapp2app.common. media.MediaStorage
5- import com.yapp2app.common. media.MediaType
3+ import com.yapp2app.media.application.port.MediaStoragePort
4+ import com.yapp2app.media.domain.MediaKey
5+ import com.yapp2app.media.domain .MediaType
66import jakarta.servlet.http.HttpServletRequest
77import org.springframework.context.annotation.Profile
88import org.springframework.http.ResponseEntity
@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController
2222@Profile(" local" )
2323@RestController
2424@RequestMapping(" /api/media/test" )
25- class MediaTestController (private val mediaStorage : MediaStorage ) {
25+ class MediaTestController (private val mediaStorage : MediaStoragePort ) {
2626
2727 @GetMapping
2828 fun listMedia (@RequestParam(defaultValue = " temp/" ) prefix : String ): MediaListResponse {
Original file line number Diff line number Diff line change 1- package com.yapp2app.common.media
1+ package com.yapp2app.media.application.dto
2+
3+ import com.yapp2app.media.domain.MediaType
24
35/* *
46 * fileName : MediaRef
Original file line number Diff line number Diff line change 1- package com.yapp2app.common.media
1+ package com.yapp2app.media.application.port
2+
3+ import com.yapp2app.media.application.dto.MediaRef
24
35/* *
46 * fileName : MediaStorage
57 * author : koo
68 * date : 2025. 12. 19. 오전 2:41
79 * description : 이미지 저장을 위한 인터페이스 (port)
810 */
9- interface MediaStorage {
11+ interface MediaStoragePort {
1012
1113 fun deleteByKey (key : String )
1214
Original file line number Diff line number Diff line change 1- package com.yapp2app.common. media
1+ package com.yapp2app.media.domain
22
3+ import com.yapp2app.media.domain.MediaType
34import java.util.UUID
45
56/* *
Original file line number Diff line number Diff line change 1- package com.yapp2app.common. media
1+ package com.yapp2app.media.domain
22
33/* *
44 * fileName : MediaType
Original file line number Diff line number Diff line change 1- package com.yapp2app.common .infra.media .s3
1+ package com.yapp2app.media .infra.s3
22
33import com.yapp2app.auth.infra.security.properties.AppProperties
44import jakarta.annotation.PostConstruct
Original file line number Diff line number Diff line change 1- package com.yapp2app.common .infra.media .s3
1+ package com.yapp2app.media .infra.s3
22
3- import com.yapp2app.common. media.MediaRef
4- import com.yapp2app.common. media.MediaStorage
5- import com.yapp2app.common. media.MediaType
3+ import com.yapp2app.media.application.dto .MediaRef
4+ import com.yapp2app.media.application.port.MediaStoragePort
5+ import com.yapp2app.media.domain .MediaType
66import software.amazon.awssdk.services.s3.S3Client
77import software.amazon.awssdk.services.s3.model.ListObjectsV2Request
88import software.amazon.awssdk.services.s3.model.PutObjectRequest
@@ -16,12 +16,12 @@ import java.time.Duration
1616 * date : 2025. 12. 19. 오전 2:40
1717 * description : 이미지 업로드(MediaStorage) S3 구현체
1818 */
19- class S3MediaStorage (
19+ class S3MediaStorageAdapter (
2020 private val s3Client : S3Client ,
2121 private val s3Presigner : S3Presigner ,
2222 private val bucketName : String ,
2323 private val baseUrl : String ,
24- ) : MediaStorage {
24+ ) : MediaStoragePort {
2525
2626 override fun deleteByKey (key : String ) {
2727 s3Client.deleteObject {
Original file line number Diff line number Diff line change 1- package com.yapp2app.common .infra.media .s3
1+ package com.yapp2app.media .infra.s3
22
3- import com.yapp2app.common. media.MediaStorage
3+ import com.yapp2app.media.application.port.MediaStoragePort
44import org.springframework.context.annotation.Bean
55import org.springframework.context.annotation.Configuration
66import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
@@ -65,7 +65,7 @@ class S3MediaStorageConfig(private val props: S3Properties) {
6565 }
6666
6767 @Bean
68- fun mediaStorage (s3Client : S3Client , s3Presigner : S3Presigner ): MediaStorage = S3MediaStorage (
68+ fun mediaStorage (s3Client : S3Client , s3Presigner : S3Presigner ): MediaStoragePort = S3MediaStorageAdapter (
6969 s3Client = s3Client,
7070 s3Presigner = s3Presigner,
7171 bucketName = props.bucket,
Original file line number Diff line number Diff line change 1- package com.yapp2app.common .infra.media .s3
1+ package com.yapp2app.media .infra.s3
22
33import org.springframework.boot.context.properties.ConfigurationProperties
44
You can’t perform that action at this time.
0 commit comments