(
self,
memory_ids: list[str],
user_name: str,
evolve_to_ids: list[str] | None = None,
)
| 619 | logger.exception("Add edge error: ", exc_info=e) |
| 620 | |
| 621 | def soft_delete( |
| 622 | self, |
| 623 | memory_ids: list[str], |
| 624 | user_name: str, |
| 625 | evolve_to_ids: list[str] | None = None, |
| 626 | ) -> None: |
| 627 | # for ruff check... |
| 628 | if not evolve_to_ids: |
| 629 | update_fields = {"status": "deleted"} |
| 630 | else: |
| 631 | update_fields = {"status": "deleted", "evolve_to": evolve_to_ids} |
| 632 | |
| 633 | # Execute the actual marking operation - in db. |
| 634 | with ContextThreadPoolExecutor() as executor: |
| 635 | futures = [] |
| 636 | for mid in memory_ids: |
| 637 | futures.append( |
| 638 | executor.submit( |
| 639 | self.graph_store.update_node, |
| 640 | id=mid, |
| 641 | fields=update_fields, |
| 642 | user_name=user_name, |
| 643 | ) |
| 644 | ) |
| 645 | |
| 646 | # Wait for all tasks to complete and raise any exceptions |
| 647 | for future in futures: |
| 648 | future.result() |
| 649 | return |
no test coverage detected