mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-05 22:55:58 +00:00
Remove items/attachments from index on delete
This commit is contained in:
parent
64c96942a9
commit
0ba1736bc8
@ -302,13 +302,17 @@ object OItem {
|
|||||||
.map(AddResult.fromUpdate)
|
.map(AddResult.fromUpdate)
|
||||||
|
|
||||||
def deleteItem(itemId: Ident, collective: Ident): F[Int] =
|
def deleteItem(itemId: Ident, collective: Ident): F[Int] =
|
||||||
QItem.delete(store)(itemId, collective)
|
QItem
|
||||||
|
.delete(store)(itemId, collective)
|
||||||
|
.flatTap(_ => fts.removeItem(logger, itemId))
|
||||||
|
|
||||||
def getProposals(item: Ident, collective: Ident): F[MetaProposalList] =
|
def getProposals(item: Ident, collective: Ident): F[MetaProposalList] =
|
||||||
store.transact(QAttachment.getMetaProposals(item, collective))
|
store.transact(QAttachment.getMetaProposals(item, collective))
|
||||||
|
|
||||||
def deleteAttachment(id: Ident, collective: Ident): F[Int] =
|
def deleteAttachment(id: Ident, collective: Ident): F[Int] =
|
||||||
QAttachment.deleteSingleAttachment(store)(id, collective)
|
QAttachment
|
||||||
|
.deleteSingleAttachment(store)(id, collective)
|
||||||
|
.flatTap(_ => fts.removeAttachment(logger, id))
|
||||||
|
|
||||||
def setAttachmentName(
|
def setAttachmentName(
|
||||||
attachId: Ident,
|
attachId: Ident,
|
||||||
|
@ -87,6 +87,10 @@ trait FtsClient[F[_]] {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def removeItem(logger: Logger[F], itemId: Ident): F[Unit]
|
||||||
|
|
||||||
|
def removeAttachment(logger: Logger[F], attachId: Ident): F[Unit]
|
||||||
|
|
||||||
/** Clears the index – removes everything. */
|
/** Clears the index – removes everything. */
|
||||||
def clearAll(logger: Logger[F]): F[Unit]
|
def clearAll(logger: Logger[F]): F[Unit]
|
||||||
|
|
||||||
@ -113,6 +117,12 @@ object FtsClient {
|
|||||||
def indexData(logger: Logger[F], data: Stream[F, TextData]): F[Unit] =
|
def indexData(logger: Logger[F], data: Stream[F, TextData]): F[Unit] =
|
||||||
logger.warn("Full-text search is disabled!")
|
logger.warn("Full-text search is disabled!")
|
||||||
|
|
||||||
|
def removeItem(logger: Logger[F], itemId: Ident): F[Unit] =
|
||||||
|
logger.warn("Full-text search is disabled!")
|
||||||
|
|
||||||
|
def removeAttachment(logger: Logger[F], attachId: Ident): F[Unit] =
|
||||||
|
logger.warn("Full-text search is disabled!")
|
||||||
|
|
||||||
def clearAll(logger: Logger[F]): F[Unit] =
|
def clearAll(logger: Logger[F]): F[Unit] =
|
||||||
logger.warn("Full-text search is disabled!")
|
logger.warn("Full-text search is disabled!")
|
||||||
|
|
||||||
|
@ -42,6 +42,14 @@ final class SolrFtsClient[F[_]: Effect](
|
|||||||
}
|
}
|
||||||
} yield ()).compile.drain
|
} yield ()).compile.drain
|
||||||
|
|
||||||
|
def removeItem(logger: Logger[F], itemId: Ident): F[Unit] =
|
||||||
|
logger.debug(s"Remove item '${itemId.id}' from index") *>
|
||||||
|
solrUpdate.delete(s"${Field.itemId.name}:${itemId.id}")
|
||||||
|
|
||||||
|
def removeAttachment(logger: Logger[F], attachId: Ident): F[Unit] =
|
||||||
|
logger.debug(s"Remove attachment '${attachId.id}' from index") *>
|
||||||
|
solrUpdate.delete(s"${Field.attachmentId.name}:${attachId.id}")
|
||||||
|
|
||||||
def clearAll(logger: Logger[F]): F[Unit] =
|
def clearAll(logger: Logger[F]): F[Unit] =
|
||||||
logger.info("Deleting complete full-text index!") *>
|
logger.info("Deleting complete full-text index!") *>
|
||||||
solrUpdate.delete("*:*")
|
solrUpdate.delete("*:*")
|
||||||
|
@ -146,7 +146,7 @@ viewSearchBar flags model =
|
|||||||
div
|
div
|
||||||
[ classList
|
[ classList
|
||||||
[ ( "invisible hidden", not model.menuCollapsed )
|
[ ( "invisible hidden", not model.menuCollapsed )
|
||||||
, ( "ui secondary menu container", True )
|
, ( "ui secondary stackable menu container", True )
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
[ a
|
[ a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user