Prepend a duplicate check when uploading files

This commit is contained in:
Eike Kettner
2020-09-23 23:00:19 +02:00
parent 10c16bf319
commit f6f63000be
9 changed files with 123 additions and 11 deletions

View File

@ -1,5 +1,8 @@
package docspell.store.records
import cats.data.NonEmptyList
import cats.implicits._
import docspell.common._
import docspell.store.impl.Implicits._
import docspell.store.impl._
@ -33,6 +36,17 @@ object RFileMeta {
selectSimple(Columns.all, table, Columns.id.is(fid)).query[FileMeta].option
}
def findByIds(ids: List[Ident]): ConnectionIO[Vector[FileMeta]] = {
import bitpeace.sql._
NonEmptyList.fromList(ids) match {
case Some(nel) =>
selectSimple(Columns.all, table, Columns.id.isIn(nel)).query[FileMeta].to[Vector]
case None =>
Vector.empty[FileMeta].pure[ConnectionIO]
}
}
def findMime(fid: Ident): ConnectionIO[Option[MimeType]] = {
import bitpeace.sql._