Add backend operations for re-creating the full-text index

This commit is contained in:
Eike Kettner
2020-06-21 15:46:51 +02:00
parent 14ea4091c4
commit 0d8b03fc61
13 changed files with 237 additions and 58 deletions

View File

@ -0,0 +1,8 @@
package docspell.common
object DocspellSystem {
val taskGroup = Ident.unsafe("docspell-system")
val migrationTaskTracker = Ident.unsafe("full-text-index-tracker")
}

View File

@ -0,0 +1,24 @@
package docspell.common
import io.circe._
import io.circe.generic.semiauto._
final case class ReIndexTaskArgs(collective: Option[Ident])
object ReIndexTaskArgs {
val taskName = Ident.unsafe("full-text-reindex")
def tracker(args: ReIndexTaskArgs): Ident =
args.collective match {
case Some(cid) =>
cid / DocspellSystem.migrationTaskTracker
case None =>
DocspellSystem.migrationTaskTracker
}
implicit val jsonEncoder: Encoder[ReIndexTaskArgs] =
deriveEncoder[ReIndexTaskArgs]
implicit val jsonDecoder: Decoder[ReIndexTaskArgs] =
deriveDecoder[ReIndexTaskArgs]
}