refactor(model): use Konvert to automatically generate mappings

This commit is contained in:
Harsh Shandilya 2023-09-09 13:31:19 +05:30
parent d4672ae8bd
commit 25382acf0e
No known key found for this signature in database
8 changed files with 57 additions and 47 deletions

View file

@ -30,11 +30,11 @@ import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.itemContentType
import androidx.paging.compose.itemKey
import dev.msfjarvis.claw.common.posts.PostActions
import dev.msfjarvis.claw.common.posts.toDbModel
import dev.msfjarvis.claw.common.ui.NetworkError
import dev.msfjarvis.claw.common.ui.ProgressBar
import dev.msfjarvis.claw.database.local.SavedPost
import dev.msfjarvis.claw.model.LobstersPost
import dev.msfjarvis.claw.model.toSavedPost
@OptIn(ExperimentalMaterialApi::class)
@Composable
@ -68,7 +68,7 @@ fun NetworkPosts(
) { index ->
val item = lazyPagingItems[index]
if (item != null) {
val dbModel = item.toDbModel()
val dbModel = item.toSavedPost()
ListItem(
item = dbModel,
isSaved = isPostSaved,

View file

@ -15,8 +15,8 @@ import com.slack.eithernet.ApiResult.Success
import com.squareup.anvil.annotations.optional.ForScope
import dev.msfjarvis.claw.android.viewmodel.SavedPostsRepository
import dev.msfjarvis.claw.api.LobstersApi
import dev.msfjarvis.claw.common.posts.toDbModel
import dev.msfjarvis.claw.model.LobstersPostDetails
import dev.msfjarvis.claw.model.toSavedPost
import javax.inject.Inject
import kotlinx.coroutines.flow.first
@ -40,7 +40,7 @@ constructor(
.first()
.map { post -> lobstersApi.getPostDetails(post.shortId) }
.filterIsInstance<Success<LobstersPostDetails>>()
.map { result -> result.value.toDbModel() }
.map { result -> result.value.toSavedPost() }
.let { savedPostsRepository.savePosts(it) }
return Result.success()
}