mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-05 22:55:58 +00:00
Fix search by checksum to include source files
This commit is contained in:
parent
de3e07a77c
commit
42c59179b8
@ -249,12 +249,22 @@ object QItem {
|
|||||||
def findByChecksum(checksum: String, collective: Ident): ConnectionIO[Vector[RItem]] = {
|
def findByChecksum(checksum: String, collective: Ident): ConnectionIO[Vector[RItem]] = {
|
||||||
val IC = RItem.Columns.all.map(_.prefix("i"))
|
val IC = RItem.Columns.all.map(_.prefix("i"))
|
||||||
val aItem = RAttachment.Columns.itemId.prefix("a")
|
val aItem = RAttachment.Columns.itemId.prefix("a")
|
||||||
|
val aId = RAttachment.Columns.id.prefix("a")
|
||||||
|
val aFileId = RAttachment.Columns.fileId.prefix("a")
|
||||||
val iId = RItem.Columns.id.prefix("i")
|
val iId = RItem.Columns.id.prefix("i")
|
||||||
val iColl = RItem.Columns.cid.prefix("i")
|
val iColl = RItem.Columns.cid.prefix("i")
|
||||||
|
val sId = RAttachmentSource.Columns.id.prefix("s")
|
||||||
|
val sFileId = RAttachmentSource.Columns.fileId.prefix("s")
|
||||||
|
val m1Id = RFileMeta.Columns.id.prefix("m1")
|
||||||
|
val m2Id = RFileMeta.Columns.id.prefix("m2")
|
||||||
|
val m1Checksum = RFileMeta.Columns.checksum.prefix("m1")
|
||||||
|
val m2Checksum = RFileMeta.Columns.checksum.prefix("m2")
|
||||||
|
|
||||||
val from = RItem.table ++ fr"i INNER JOIN" ++ RAttachment.table ++ fr"a ON" ++ aItem.is(iId) ++
|
val from = RItem.table ++ fr"i INNER JOIN" ++ RAttachment.table ++ fr"a ON" ++ aItem.is(iId) ++
|
||||||
fr"INNER JOIN filemeta m ON m.id = a.filemetaid"
|
fr"INNER JOIN" ++ RAttachmentSource.table ++ fr"s ON" ++ aId.is(sId) ++
|
||||||
selectSimple(IC, from, and(fr"m.checksum = $checksum", iColl.is(collective)))
|
fr"INNER JOIN" ++ RFileMeta.table ++ fr"m1 ON" ++ m1Id.is(aFileId) ++
|
||||||
|
fr"INNER JOIN" ++ RFileMeta.table ++ fr"m2 ON" ++ m2Id.is(sFileId)
|
||||||
|
selectSimple(IC, from, and(or(m1Checksum.is(checksum), m2Checksum.is(checksum)), iColl.is(collective)))
|
||||||
.query[RItem]
|
.query[RItem]
|
||||||
.to[Vector]
|
.to[Vector]
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user