diff --git a/modules/backend/src/main/scala/docspell/backend/BackendCommands.scala b/modules/backend/src/main/scala/docspell/backend/BackendCommands.scala index 52af364d..4417adb0 100644 --- a/modules/backend/src/main/scala/docspell/backend/BackendCommands.scala +++ b/modules/backend/src/main/scala/docspell/backend/BackendCommands.scala @@ -121,6 +121,12 @@ private[backend] class BackendCommands[F[_]: Sync]( case ItemAction.SetName(name) => logger.debug(s"Set name '$name' on item ${item.id} for $collective") *> itemOps.setName(item, name, collective).void + + case ItemAction.SetDate(date) => + logger.debug(s"Set date $date on item ${item.id} for $collective") *> + itemOps + .setItemDate(Nel.of(item), date.some, collective) + .void } def runAttachAction( diff --git a/modules/common/src/main/scala/docspell/common/bc/ItemAction.scala b/modules/common/src/main/scala/docspell/common/bc/ItemAction.scala index 16a09048..f84e5dc5 100644 --- a/modules/common/src/main/scala/docspell/common/bc/ItemAction.scala +++ b/modules/common/src/main/scala/docspell/common/bc/ItemAction.scala @@ -6,7 +6,7 @@ package docspell.common.bc -import docspell.common.Ident +import docspell.common.{Ident, Timestamp} import io.circe.generic.extras.Configuration import io.circe.generic.extras.semiauto.{deriveConfiguredDecoder, deriveConfiguredEncoder} @@ -99,4 +99,10 @@ object ItemAction { implicit val jsonDecoder: Decoder[ItemAction] = deriveConfiguredDecoder implicit val jsonEncoder: Encoder[ItemAction] = deriveConfiguredEncoder + + case class SetDate(date: Timestamp) extends ItemAction + object SetDate { + implicit val jsonDecoder: Decoder[SetDate] = deriveDecoder + implicit val jsonEncoder: Encoder[SetDate] = deriveEncoder + } }