comparison libervia/backend/memory/sqla.py @ 4367:b93f95efe329

storage: Add a `thread_id` filter to `history_get`: rel 457
author Goffi <goffi@goffi.org>
date Tue, 06 May 2025 00:34:01 +0200
parents 1ef32316a55e
children 2bdf0c16d852
comparison
equal deleted inserted replaced
4366:1ef32316a55e 4367:b93f95efe329
663 stmt = stmt.where(History.stanza_id.is_not(None)) 663 stmt = stmt.where(History.stanza_id.is_not(None))
664 if "id" in filters: 664 if "id" in filters:
665 stmt = stmt.where(History.uid == filters["id"]) 665 stmt = stmt.where(History.uid == filters["id"])
666 if "origin_id" in filters: 666 if "origin_id" in filters:
667 stmt = stmt.where(History.origin_id == filters["origin_id"]) 667 stmt = stmt.where(History.origin_id == filters["origin_id"])
668 if "thread_id" in filters:
669 stmt = stmt.where(Thread.thread_id == filters["thread_id"])
668 670
669 if limit is not None: 671 if limit is not None:
670 stmt = stmt.limit(limit) 672 stmt = stmt.limit(limit)
671 673
672 async with self.session() as session: 674 async with self.session() as session:
690 Subject(subject=mess, language=lang) for lang, mess in data["subject"].items() 692 Subject(subject=mess, language=lang) for lang, mess in data["subject"].items()
691 ] 693 ]
692 if "thread" in data["extra"]: 694 if "thread" in data["extra"]:
693 thread = Thread( 695 thread = Thread(
694 thread_id=data["extra"]["thread"], 696 thread_id=data["extra"]["thread"],
695 parent_id=data["extra"].get["thread_parent"], 697 parent_id=data["extra"].get("thread_parent"),
696 ) 698 )
697 else: 699 else:
698 thread = None 700 thread = None
699 try: 701 try:
700 async with self.session() as session: 702 async with self.session() as session: