🚧 Notice 저장 (진행중...)
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
package me.jiniworld.demohx.notice.adapter.`in`.web
|
||||
|
||||
internal class RegisterNoticeController {
|
||||
}
|
||||
@@ -2,14 +2,16 @@ package me.jiniworld.demohx.notice.adapter.out.persistence
|
||||
|
||||
import me.jiniworld.demohx.annotation.PersistenceAdapter
|
||||
import me.jiniworld.demohx.notice.application.port.out.LoadNoticePort
|
||||
import me.jiniworld.demohx.notice.application.port.out.SaveNoticePort
|
||||
import me.jiniworld.demohx.notice.domain.Notice
|
||||
import me.jiniworld.demohx.notice.domain.NoticeContent
|
||||
import org.springframework.data.domain.Pageable
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
|
||||
@PersistenceAdapter
|
||||
internal class NoticePersistenceAdapter(
|
||||
private val noticeRepository: NoticeRepository,
|
||||
) : LoadNoticePort {
|
||||
) : LoadNoticePort, SaveNoticePort {
|
||||
override fun loadNotices(pageable: Pageable): List<Notice>? {
|
||||
return noticeRepository.findAllBy(pageable).map { it.mapToNotice() }.toList()
|
||||
}
|
||||
@@ -17,4 +19,8 @@ internal class NoticePersistenceAdapter(
|
||||
override fun loadNotice(id: Long): Notice? {
|
||||
return noticeRepository.findByIdOrNull(id)?.mapToNotice()
|
||||
}
|
||||
|
||||
override fun saveNotice(noticeContent: NoticeContent) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package me.jiniworld.demohx.notice.application.port.`in`
|
||||
|
||||
data class RegisterNoticeCommand(
|
||||
val title: String,
|
||||
val content: String,
|
||||
)
|
||||
@@ -0,0 +1,5 @@
|
||||
package me.jiniworld.demohx.notice.application.port.`in`
|
||||
|
||||
interface RegisterNoticeUseCase {
|
||||
fun registerNotice(command: RegisterNoticeCommand)
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package me.jiniworld.demohx.notice.application.port.out
|
||||
|
||||
import me.jiniworld.demohx.notice.domain.NoticeContent
|
||||
|
||||
interface SaveNoticePort {
|
||||
fun saveNotice(noticeContent: NoticeContent)
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package me.jiniworld.demohx.notice.application.service
|
||||
|
||||
import me.jiniworld.demohx.annotation.UseCase
|
||||
import me.jiniworld.demohx.notice.application.port.`in`.RegisterNoticeCommand
|
||||
import me.jiniworld.demohx.notice.application.port.`in`.RegisterNoticeUseCase
|
||||
import me.jiniworld.demohx.notice.application.port.out.SaveNoticePort
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
|
||||
@Transactional
|
||||
@UseCase
|
||||
class RegisterNoticeService(
|
||||
private val saveNoticePort: SaveNoticePort,
|
||||
) : RegisterNoticeUseCase {
|
||||
|
||||
|
||||
|
||||
override fun registerNotice(command: RegisterNoticeCommand) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user