Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
1 parent
3f19224228
commit
0ec70beb84
2 files changed
-34
No files matched your search
@@ -4,13 +4,9 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface ChatMessageDao {
|
||||
@Query("SELECT * FROM chat_messages WHERE session_id = :sessionId ORDER BY timestamp ASC")
|
||||
fun observeMessagesForSession(sessionId: String): Flow<List<ChatMessageEntity>>
|
||||
|
||||
@Query("SELECT * FROM chat_messages WHERE session_id = :sessionId ORDER BY timestamp ASC")
|
||||
suspend fun getMessagesForSession(sessionId: String): List<ChatMessageEntity>
|
||||
|
||||
@@ -19,29 +15,4 @@ interface ChatMessageDao {
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
suspend fun upsertAll(messages: List<ChatMessageEntity>)
|
||||
|
||||
@Query("UPDATE chat_messages SET content = :content, is_streaming = 0 WHERE id = :id")
|
||||
suspend fun finalizeMessage(
|
||||
id: String,
|
||||
content: String,
|
||||
)
|
||||
|
||||
@Query("UPDATE chat_messages SET content = :content WHERE id = :id")
|
||||
suspend fun updateContent(
|
||||
id: String,
|
||||
content: String,
|
||||
)
|
||||
|
||||
@Query("DELETE FROM chat_messages WHERE session_id = :sessionId")
|
||||
suspend fun deleteMessagesForSession(sessionId: String)
|
||||
|
||||
@Query(
|
||||
"DELETE FROM chat_messages WHERE session_id NOT IN " +
|
||||
"(SELECT DISTINCT session_id FROM chat_messages " +
|
||||
"ORDER BY timestamp DESC LIMIT :keepSessions)",
|
||||
)
|
||||
suspend fun pruneOldSessions(keepSessions: Int)
|
||||
|
||||
@Query("SELECT COUNT(*) FROM chat_messages")
|
||||
suspend fun count(): Int
|
||||
}
|
||||
Reference in new issue
Block a user