summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/data/Daos.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/data/Daos.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/data/Daos.kt7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/src/main/java/org/terst/feedreader/data/Daos.kt b/app/src/main/java/org/terst/feedreader/data/Daos.kt
index 0a41f0c..2240ff4 100644
--- a/app/src/main/java/org/terst/feedreader/data/Daos.kt
+++ b/app/src/main/java/org/terst/feedreader/data/Daos.kt
@@ -64,6 +64,13 @@ interface ArticleDao {
@Query("UPDATE articles SET isRead = 1 WHERE feedId = :feedId")
suspend fun markAllReadForFeed(feedId: String)
+ // Run when unsubscribing from a feed. Saved articles are deliberately kept
+ // regardless (isSaved is a separate, durable "keep forever" concept,
+ // independent of subscription) -- everything else is deleted so it doesn't
+ // linger forever as an orphaned row cluttering the cross-feed Unread view.
+ @Query("DELETE FROM articles WHERE feedId = :feedId AND isSaved = 0")
+ suspend fun deleteUnsavedByFeed(feedId: String)
+
@Query("UPDATE articles SET extractedContent = :content WHERE id = :id")
suspend fun setExtractedContent(id: String, content: String)