(
self, message: ExportMessageNode, message_tree_id: UUID, parent_id: Optional[UUID] = None
)
| 51 | return self.db.query(MessageTreeState).filter(MessageTreeState.message_tree_id == message_tree_id).one_or_none() |
| 52 | |
| 53 | def import_message( |
| 54 | self, message: ExportMessageNode, message_tree_id: UUID, parent_id: Optional[UUID] = None |
| 55 | ) -> Message: |
| 56 | payload = db_payload.MessagePayload(text=message.text) |
| 57 | msg = Message( |
| 58 | id=message.message_id, |
| 59 | message_tree_id=message_tree_id, |
| 60 | frontend_message_id=message.message_id, |
| 61 | parent_id=parent_id, |
| 62 | review_count=message.review_count or 0, |
| 63 | lang=message.lang or "en", |
| 64 | review_result=True, |
| 65 | synthetic=message.synthetic if message.synthetic is not None else True, |
| 66 | model_name=message.model_name or self.model_name, |
| 67 | role=message.role, |
| 68 | api_client_id=self.api_client.id, |
| 69 | payload_type=type(payload).__name__, |
| 70 | payload=PayloadContainer(payload=payload), |
| 71 | user_id=self.import_user.id, |
| 72 | ) |
| 73 | self.db.add(msg) |
| 74 | if message.replies: |
| 75 | for r in message.replies: |
| 76 | self.import_message(r, message_tree_id=message_tree_id, parent_id=msg.id) |
| 77 | self.db.flush() |
| 78 | if parent_id is None: |
| 79 | self.pr.update_children_counts(msg.id) |
| 80 | self.db.refresh(msg) |
| 81 | return msg |
| 82 | |
| 83 | def import_tree( |
| 84 | self, tree: ExportMessageTree, state: TreeState = TreeState.BACKLOG_RANKING |
no test coverage detected