@@ -143,7 +143,11 @@ impl WorkshopMessage {
143
143
) -> Result < Vec < Self > , sqlx:: Error > {
144
144
query_as ! (
145
145
Self ,
146
- "SELECT message_id, chat_id, sender_role, message, created_at, parent_message_id, streaming_events, prompt_tokens, completion_tokens, total_tokens, reasoning_tokens, model_used FROM workshop_messages WHERE chat_id = $1 ORDER BY created_at ASC" ,
146
+ "SELECT m.message_id, m.chat_id, m.sender_role, m.message, m.created_at, m.parent_message_id, m.streaming_events, m.prompt_tokens, m.completion_tokens, m.total_tokens, m.reasoning_tokens, m.model_used
147
+ FROM workshop_messages m
148
+ INNER JOIN workshop_chats c ON m.chat_id = c.chat_id
149
+ WHERE m.chat_id = $1 AND c.deleted_at IS NULL
150
+ ORDER BY m.created_at ASC" ,
147
151
chat_id
148
152
)
149
153
. fetch_all ( & state. database . pool )
@@ -159,10 +163,15 @@ impl WorkshopMessage {
159
163
) -> Result < Vec < Self > , sqlx:: Error > {
160
164
query_as (
161
165
r#"WITH RECURSIVE message_tree AS (
162
- SELECT message_id, chat_id, sender_role, message, created_at, parent_message_id, streaming_events, prompt_tokens, completion_tokens, total_tokens, reasoning_tokens, model_used FROM workshop_messages WHERE message_id = $1
166
+ SELECT m.message_id, m.chat_id, m.sender_role, m.message, m.created_at, m.parent_message_id, m.streaming_events, m.prompt_tokens, m.completion_tokens, m.total_tokens, m.reasoning_tokens, m.model_used
167
+ FROM workshop_messages m
168
+ INNER JOIN workshop_chats c ON m.chat_id = c.chat_id
169
+ WHERE m.message_id = $1 AND c.deleted_at IS NULL
163
170
UNION ALL
164
- SELECT m.message_id, m.chat_id, m.sender_role, m.message, m.created_at, m.parent_message_id, m.streaming_events, m.prompt_tokens, m.completion_tokens, m.total_tokens, m.reasoning_tokens, m.model_used FROM workshop_messages m
171
+ SELECT m.message_id, m.chat_id, m.sender_role, m.message, m.created_at, m.parent_message_id, m.streaming_events, m.prompt_tokens, m.completion_tokens, m.total_tokens, m.reasoning_tokens, m.model_used
172
+ FROM workshop_messages m
165
173
INNER JOIN message_tree mt ON m.message_id = mt.parent_message_id
174
+ INNER JOIN workshop_chats c ON m.chat_id = c.chat_id AND c.deleted_at IS NULL
166
175
)
167
176
SELECT message_id, chat_id, sender_role, message, created_at, parent_message_id, streaming_events, prompt_tokens, completion_tokens, total_tokens, reasoning_tokens, model_used FROM message_tree
168
177
ORDER BY created_at ASC"# ,
0 commit comments