Last fixes.
Some checks reported errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build was killed

This commit is contained in:
aminecmi
2022-08-16 21:34:29 +02:00
parent 33333ca998
commit 4d29ee0b92
7 changed files with 54 additions and 38 deletions

View File

@ -121,54 +121,70 @@ class Repository(private val api: SelfossApi, private val apiDetails: ApiDetails
return api.sources()
}
suspend fun markAsRead(id: Int): Boolean {
suspend fun markAsRead(item: SelfossModel.Item): Boolean {
// TODO: Check internet connection
val success = api.markAsRead(id.toString())?.isSuccess == true
val success = markAsReadById(item.id)
if (success) {
markAsReadLocally(items.first {it.id == id})
markAsReadLocally(item)
}
return success
}
suspend fun unmarkAsRead(id: Int): Boolean {
suspend fun markAsReadById(id: Int): Boolean {
// TODO: Check internet connection
val success = api.unmarkAsRead(id.toString())?.isSuccess == true
return api.markAsRead(id.toString())?.isSuccess == true
}
suspend fun unmarkAsRead(item: SelfossModel.Item): Boolean {
val success = unmarkAsReadById(item.id)
if (success) {
unmarkAsReadLocally(items.first {it.id == id})
unmarkAsReadLocally(item)
}
return success
}
suspend fun starr(id: Int): Boolean {
suspend fun unmarkAsReadById(id: Int): Boolean {
// TODO: Check internet connection
return api.unmarkAsRead(id.toString())?.isSuccess == true
}
suspend fun starr(item: SelfossModel.Item): Boolean {
val success = starrById(item.id)
if (success) {
starrLocally(item)
}
return success
}
suspend fun starrById(id: Int): Boolean {
// TODO: Check success, store in DB
val success = api.starr(id.toString())?.isSuccess == true
return api.starr(id.toString())?.isSuccess == true
}
suspend fun unstarr(item: SelfossModel.Item): Boolean {
val success = unstarrById(item.id)
if (success) {
starrLocally(items.first {it.id == id})
unstarrLocally(item)
}
return success
}
suspend fun unstarr(id: Int): Boolean {
suspend fun unstarrById(id: Int): Boolean {
// TODO: Check internet connection
val success = api.unstarr(id.toString())?.isSuccess == true
if (success) {
unstarrLocally(items.first {it.id == id})
}
return success
return api.unstarr(id.toString())?.isSuccess == true
}
suspend fun markAllAsRead(ids: List<Int>): Boolean {
suspend fun markAllAsRead(items: ArrayList<SelfossModel.Item>): Boolean {
// TODO: Check Internet connectivity, store in DB
val success = api.markAllAsRead(ids.map { it.toString() })?.isSuccess == true
val success = api.markAllAsRead(items.map { it.id.toString() })?.isSuccess == true
if (success) {
val itemsToMark = items.filter { it.id in ids }
for (item in itemsToMark) {
for (item in items) {
markAsReadLocally(item)
}
}