🚧 Notice 저장 (진행중...)

This commit is contained in:
jini
2022-12-02 14:04:22 +09:00
parent a6684e6dcd
commit ddfbf20e66
7 changed files with 61 additions and 3 deletions

View File

@@ -0,0 +1,4 @@
package me.jiniworld.demohx.notice.adapter.`in`.web
internal class RegisterNoticeController {
}

View File

@@ -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")
}
}

View File

@@ -0,0 +1,6 @@
package me.jiniworld.demohx.notice.application.port.`in`
data class RegisterNoticeCommand(
val title: String,
val content: String,
)

View File

@@ -0,0 +1,5 @@
package me.jiniworld.demohx.notice.application.port.`in`
interface RegisterNoticeUseCase {
fun registerNotice(command: RegisterNoticeCommand)
}

View File

@@ -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)
}

View File

@@ -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")
}
}