diff --git a/src/main/kotlin/wanijo/wanijo2/domain/document.kt b/src/main/kotlin/wanijo/wanijo2/domain/document.kt index 1df27cd..77bbc9b 100644 --- a/src/main/kotlin/wanijo/wanijo2/domain/document.kt +++ b/src/main/kotlin/wanijo/wanijo2/domain/document.kt @@ -1,6 +1,7 @@ package wanijo.wanijo2.domain import org.springframework.data.annotation.Id +import org.springframework.data.domain.Sort import org.springframework.data.jdbc.repository.query.Modifying import org.springframework.data.jdbc.repository.query.Query import org.springframework.data.relational.core.mapping.Table @@ -23,7 +24,15 @@ data class Document( val dateFields: Set = emptySet(), ) -interface DocumentDao: Repository { +@Table("T_DOCUMENT") +data class DocumentBrief( + @Id + val id: DocumentId, + val name: DocumentName, + val updatedAt: ZonedDateTime +) + +interface DocumentDao : Repository { fun findAll(): List fun findById(id: DocumentId): Document? fun findByName(name: DocumentName): List @@ -68,3 +77,7 @@ interface DocumentDao: Repository { ) fun delete(documentId: DocumentId) } + +interface DocumentBriefDao : Repository { + fun findAll(sort: Sort): List +} diff --git a/src/main/kotlin/wanijo/wanijo2/http/controller/ListController.kt b/src/main/kotlin/wanijo/wanijo2/http/controller/ListController.kt index bdab2bc..9fef36d 100644 --- a/src/main/kotlin/wanijo/wanijo2/http/controller/ListController.kt +++ b/src/main/kotlin/wanijo/wanijo2/http/controller/ListController.kt @@ -1,22 +1,23 @@ package wanijo.wanijo2.http.controller +import org.springframework.data.domain.Sort import org.springframework.stereotype.Controller import org.springframework.ui.Model import org.springframework.ui.set import org.springframework.web.bind.annotation.GetMapping +import wanijo.wanijo2.domain.DocumentBriefDao import wanijo.wanijo2.domain.DocumentDao @Controller class ListController( - private val docDao: DocumentDao + private val docDao: DocumentBriefDao ) { @GetMapping("", "/") fun list( model: Model ): String { - // TODO build overview class for documents without sub fields - model["documents"] = docDao.findAll() + model["documents"] = docDao.findAll(Sort.by(Sort.Direction.DESC, "updatedAt")) return "list" }