mirror of
				https://github.com/TheAnachronism/docspell.git
				synced 2025-10-30 13:20:11 +00:00 
			
		
		
		
	Remove items/attachments from index on delete
This commit is contained in:
		| @@ -302,13 +302,17 @@ object OItem { | ||||
|             .map(AddResult.fromUpdate) | ||||
|  | ||||
|         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] = | ||||
|           store.transact(QAttachment.getMetaProposals(item, collective)) | ||||
|  | ||||
|         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( | ||||
|             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. */ | ||||
|   def clearAll(logger: Logger[F]): F[Unit] | ||||
|  | ||||
| @@ -113,6 +117,12 @@ object FtsClient { | ||||
|       def indexData(logger: Logger[F], data: Stream[F, TextData]): F[Unit] = | ||||
|         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] = | ||||
|         logger.warn("Full-text search is disabled!") | ||||
|  | ||||
|   | ||||
| @@ -42,6 +42,14 @@ final class SolrFtsClient[F[_]: Effect]( | ||||
|       } | ||||
|     } 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] = | ||||
|     logger.info("Deleting complete full-text index!") *> | ||||
|       solrUpdate.delete("*:*") | ||||
|   | ||||
| @@ -146,7 +146,7 @@ viewSearchBar flags model = | ||||
|     div | ||||
|         [ classList | ||||
|             [ ( "invisible hidden", not model.menuCollapsed ) | ||||
|             , ( "ui secondary menu container", True ) | ||||
|             , ( "ui secondary stackable menu container", True ) | ||||
|             ] | ||||
|         ] | ||||
|         [ a | ||||
|   | ||||
		Reference in New Issue
	
	Block a user