Co-authored-by: Hao Fu <hao.fu@helloklarity.com>tags/0.3.11
| @@ -95,6 +95,7 @@ class CompletionConversationApi(Resource): | |||
| 'status': fields.String, | |||
| 'from_source': fields.String, | |||
| 'from_end_user_id': fields.String, | |||
| 'from_end_user_session_id': fields.String(attribute='end_user.session_id'), | |||
| 'from_account_id': fields.String, | |||
| 'read_at': TimestampField, | |||
| 'created_at': TimestampField, | |||
| @@ -135,6 +136,8 @@ class CompletionConversationApi(Resource): | |||
| query = db.select(Conversation).where(Conversation.app_id == app.id, Conversation.mode == 'completion') | |||
| query = query.options(joinedload(Conversation.end_user)) | |||
| if args['keyword']: | |||
| query = query.join( | |||
| Message, Message.conversation_id == Conversation.id | |||
| @@ -246,6 +249,7 @@ class ChatConversationApi(Resource): | |||
| 'status': fields.String, | |||
| 'from_source': fields.String, | |||
| 'from_end_user_id': fields.String, | |||
| 'from_end_user_session_id': fields.String(attribute='end_user.session_id'), | |||
| 'from_account_id': fields.String, | |||
| 'summary': fields.String(attribute='summary_or_query'), | |||
| 'read_at': TimestampField, | |||
| @@ -288,6 +292,8 @@ class ChatConversationApi(Resource): | |||
| query = db.select(Conversation).where(Conversation.app_id == app.id, Conversation.mode == 'chat') | |||
| query = query.options(joinedload(Conversation.end_user)) | |||
| if args['keyword']: | |||
| query = query.join( | |||
| Message, Message.conversation_id == Conversation.id | |||
| @@ -203,7 +203,7 @@ class Conversation(db.Model): | |||
| system_instruction_tokens = db.Column(db.Integer, nullable=False, server_default=db.text('0')) | |||
| status = db.Column(db.String(255), nullable=False) | |||
| from_source = db.Column(db.String(255), nullable=False) | |||
| from_end_user_id = db.Column(UUID) | |||
| from_end_user_id = db.Column(UUID, db.ForeignKey('end_users.id')) | |||
| from_account_id = db.Column(UUID) | |||
| read_at = db.Column(db.DateTime) | |||
| read_account_id = db.Column(UUID) | |||
| @@ -213,6 +213,8 @@ class Conversation(db.Model): | |||
| messages = db.relationship("Message", backref="conversation", lazy='select', passive_deletes="all") | |||
| message_annotations = db.relationship("MessageAnnotation", backref="conversation", lazy='select', passive_deletes="all") | |||
| end_user = db.relationship("EndUser", backref="conversations") | |||
| is_deleted = db.Column(db.Boolean, nullable=False, server_default=db.text('false')) | |||
| @property | |||
| @@ -412,7 +412,7 @@ const ConversationList: FC<IConversationList> = ({ logs, appDetail, onRefresh }) | |||
| </thead> | |||
| <tbody className="text-gray-500"> | |||
| {logs.data.map((log) => { | |||
| const endUser = log.from_end_user_id?.slice(0, 8) | |||
| const endUser = log.from_end_user_session_id | |||
| const leftValue = get(log, isChatMode ? 'summary' : 'message.query') | |||
| const rightValue = get(log, isChatMode ? 'message_count' : 'message.answer') | |||
| return <tr | |||
| @@ -79,6 +79,7 @@ export type CompletionConversationGeneralDetail = { | |||
| status: 'normal' | 'finished' | |||
| from_source: 'api' | 'console' | |||
| from_end_user_id: string | |||
| from_end_user_session_id: string | |||
| from_account_id: string | |||
| read_at: Date | |||
| created_at: number | |||