Skip to content

Commit d890d28

Browse files
committed
feat ( #12 ) : QueryScreenService
1 parent f6231d6 commit d890d28

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package hs.kr.entrydsm.feed.application.screen.service
2+
3+
import hs.kr.entrydsm.feed.adapter.`in`.screen.dto.response.QueryScreenResponse
4+
import hs.kr.entrydsm.feed.application.screen.port.`in`.QueryScreenUseCase
5+
import hs.kr.entrydsm.feed.application.screen.port.out.FindScreenPort
6+
import hs.kr.entrydsm.feed.infrastructure.s3.PathList
7+
import hs.kr.entrydsm.feed.infrastructure.s3.util.FileUtil
8+
import org.springframework.stereotype.Service
9+
10+
/**
11+
* 화면 이미지 목록 조회를 처리하는 서비스 클래스입니다.
12+
*
13+
* @property findScreenPort 화면 조회를 위한 포트
14+
* @property fileUtil 파일 URL 생성을 위한 유틸리티
15+
*/
16+
@Service
17+
class QueryScreenService(
18+
private val findScreenPort: FindScreenPort,
19+
private val fileUtil: FileUtil,
20+
) : QueryScreenUseCase {
21+
/**
22+
* 모든 화면 이미지 목록을 조회합니다.
23+
*
24+
* @return 화면 이미지 목록 (각 항목은 ID, URL, 생성일시, 수정일시 포함)
25+
*/
26+
override fun execute(): List<QueryScreenResponse> {
27+
return findScreenPort.findAll()
28+
.map { it ->
29+
QueryScreenResponse(
30+
it.id!!,
31+
fileUtil.generateObjectUrl(it.image, PathList.SCREEN),
32+
it.createdAt,
33+
it.modifiedAt,
34+
)
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)