diff --git a/src/main/kotlin/wanijo/wanijo2/domain/document.kt b/src/main/kotlin/wanijo/wanijo2/domain/document.kt index 951f6eb..87eb19f 100644 --- a/src/main/kotlin/wanijo/wanijo2/domain/document.kt +++ b/src/main/kotlin/wanijo/wanijo2/domain/document.kt @@ -53,6 +53,11 @@ data class Document( updatedAt = Instant.now(), dateFields = dateFields.filter { it.id != fieldId }.toSet() ) + + fun updated() = + copy( + updatedAt = Instant.now() + ) } @Table("T_DOCUMENT") diff --git a/src/main/kotlin/wanijo/wanijo2/domain/handler/AssignTaggingHandler.kt b/src/main/kotlin/wanijo/wanijo2/domain/handler/AssignTaggingHandler.kt index f3b154d..56f43e8 100644 --- a/src/main/kotlin/wanijo/wanijo2/domain/handler/AssignTaggingHandler.kt +++ b/src/main/kotlin/wanijo/wanijo2/domain/handler/AssignTaggingHandler.kt @@ -1,13 +1,16 @@ package wanijo.wanijo2.domain.handler import org.springframework.stereotype.Service +import wanijo.wanijo2.domain.DocumentDao import wanijo.wanijo2.domain.DocumentTagging import wanijo.wanijo2.domain.DocumentTaggingDao import wanijo.wanijo2.domain.event.AssignTaggingCommand +import wanijo.wanijo2.http.DocumentNotFound @Service class AssignTaggingHandler( - val taggingDao: DocumentTaggingDao + val taggingDao: DocumentTaggingDao, + val documentDao: DocumentDao ) { fun exec(command: AssignTaggingCommand) { @@ -17,6 +20,11 @@ class AssignTaggingHandler( command.tagId ) ) + documentDao.save( + (documentDao + .findById(command.documentId) ?: throw DocumentNotFound()) + .updated() + ) } } diff --git a/src/main/kotlin/wanijo/wanijo2/domain/handler/DeleteTaggingHandler.kt b/src/main/kotlin/wanijo/wanijo2/domain/handler/DeleteTaggingHandler.kt index 2a770f8..1b75946 100644 --- a/src/main/kotlin/wanijo/wanijo2/domain/handler/DeleteTaggingHandler.kt +++ b/src/main/kotlin/wanijo/wanijo2/domain/handler/DeleteTaggingHandler.kt @@ -1,12 +1,15 @@ package wanijo.wanijo2.domain.handler import org.springframework.stereotype.Service +import wanijo.wanijo2.domain.DocumentDao import wanijo.wanijo2.domain.DocumentTaggingDao import wanijo.wanijo2.domain.event.DeleteTaggingCommand +import wanijo.wanijo2.http.DocumentNotFound @Service class DeleteTaggingHandler( - val taggingDao: DocumentTaggingDao + val taggingDao: DocumentTaggingDao, + val documentDao: DocumentDao ) { fun exec(command: DeleteTaggingCommand) { @@ -14,6 +17,11 @@ class DeleteTaggingHandler( command.documentId, command.tagId ) + documentDao.save( + (documentDao + .findById(command.documentId) ?: throw DocumentNotFound()) + .updated() + ) } }