mirror of https://github.com/Ashinch/ReadYou.git
fix(rss): ignore starred articles by default when clean feed or group (#652)
This commit is contained in:
parent
69d7124a76
commit
90859947ac
|
@ -370,9 +370,10 @@ interface ArticleDao {
|
|||
DELETE FROM article
|
||||
WHERE accountId = :accountId
|
||||
AND feedId = :feedId
|
||||
AND (isStarred = :includeStarred OR :includeStarred = 1)
|
||||
"""
|
||||
)
|
||||
suspend fun deleteByFeedId(accountId: Int, feedId: String)
|
||||
suspend fun deleteByFeedId(accountId: Int, feedId: String, includeStarred: Boolean = false)
|
||||
|
||||
@Query(
|
||||
"""
|
||||
|
@ -383,10 +384,11 @@ interface ArticleDao {
|
|||
AND a.feedId = b.id
|
||||
AND b.groupId = c.id
|
||||
AND c.id = :groupId
|
||||
AND (a.isStarred = :includeStarred OR :includeStarred = 1)
|
||||
)
|
||||
"""
|
||||
)
|
||||
suspend fun deleteByGroupId(accountId: Int, groupId: String)
|
||||
suspend fun deleteByGroupId(accountId: Int, groupId: String, includeStarred: Boolean = false)
|
||||
|
||||
@Query(
|
||||
"""
|
||||
|
|
|
@ -334,7 +334,7 @@ abstract class AbstractRssRepository(
|
|||
) {
|
||||
return
|
||||
}
|
||||
deleteArticles(group = group)
|
||||
deleteArticles(group = group, includeStarred = true)
|
||||
feedDao.deleteByGroupId(accountId, group.id)
|
||||
groupDao.delete(group)
|
||||
}
|
||||
|
@ -345,14 +345,14 @@ abstract class AbstractRssRepository(
|
|||
) {
|
||||
return
|
||||
}
|
||||
deleteArticles(feed = feed)
|
||||
deleteArticles(feed = feed, includeStarred = true)
|
||||
feedDao.delete(feed)
|
||||
}
|
||||
|
||||
suspend fun deleteArticles(group: Group? = null, feed: Feed? = null) {
|
||||
suspend fun deleteArticles(group: Group? = null, feed: Feed? = null, includeStarred: Boolean = false) {
|
||||
when {
|
||||
group != null -> articleDao.deleteByGroupId(context.currentAccountId, group.id)
|
||||
feed != null -> articleDao.deleteByFeedId(context.currentAccountId, feed.id)
|
||||
group != null -> articleDao.deleteByGroupId(context.currentAccountId, group.id, includeStarred)
|
||||
feed != null -> articleDao.deleteByFeedId(context.currentAccountId, feed.id, includeStarred)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,14 +83,14 @@ class FeverAPI private constructor(
|
|||
postRequest<FeverDTO.ItemsByStarred>("saved_item_ids").apply { checkAuth(auth) }
|
||||
|
||||
suspend fun markItem(status: FeverDTO.StatusEnum, id: String): FeverDTO.Common =
|
||||
postRequest<FeverDTO.Common>("&mark=item&as=${status.value}&id=$id").apply { checkAuth(auth) }
|
||||
postRequest<FeverDTO.Common>("mark=item&as=${status.value}&id=$id").apply { checkAuth(auth) }
|
||||
|
||||
private suspend fun markFeedOrGroup(
|
||||
act: String,
|
||||
status: FeverDTO.StatusEnum,
|
||||
id: Long,
|
||||
before: Long,
|
||||
): FeverDTO.Common = postRequest<FeverDTO.Common>("&mark=$act&as=${status.value}&id=$id&before=$before")
|
||||
): FeverDTO.Common = postRequest<FeverDTO.Common>("mark=$act&as=${status.value}&id=$id&before=$before")
|
||||
.apply { checkAuth(auth) }
|
||||
|
||||
suspend fun markGroup(status: FeverDTO.StatusEnum, id: Long, before: Long) =
|
||||
|
|
Loading…
Reference in New Issue