From b7ca16ebe3905e95bf01c6f1fb9bb9deb8b00bf4 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 4 Oct 2021 17:25:49 +0530 Subject: [PATCH] common: import toDbModel and implement for LobstersPostDetails --- .../msfjarvis/claw/android/ext/database.kt | 18 ----------- .../msfjarvis/claw/android/ui/NetworkPosts.kt | 2 +- common/build.gradle.kts | 1 + .../dev/msfjarvis/claw/common/posts/ext.kt | 31 +++++++++++++++++++ desktop/src/jvmMain/kotlin/main.kt | 16 +--------- 5 files changed, 34 insertions(+), 34 deletions(-) delete mode 100644 android/src/main/kotlin/dev/msfjarvis/claw/android/ext/database.kt create mode 100644 common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ext/database.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ext/database.kt deleted file mode 100644 index 9835f896..00000000 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ext/database.kt +++ /dev/null @@ -1,18 +0,0 @@ -package dev.msfjarvis.claw.android.ext - -import dev.msfjarvis.claw.database.local.SavedPost -import dev.msfjarvis.claw.model.LobstersPost - -/** Convert a [LobstersPost] object returned by the API into a [SavedPost] for persistence. */ -fun LobstersPost.toDbModel(): SavedPost { - return SavedPost( - shortId = shortId, - title = title, - url = url, - createdAt = createdAt, - commentsUrl = commentsUrl, - submitterName = submitter.username, - submitterAvatarUrl = submitter.avatarUrl, - tags = tags, - ) -} diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/NetworkPosts.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/NetworkPosts.kt index 31d58df7..03f9189a 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/NetworkPosts.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/NetworkPosts.kt @@ -13,8 +13,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.items -import dev.msfjarvis.claw.android.ext.toDbModel import dev.msfjarvis.claw.common.posts.LobstersCard +import dev.msfjarvis.claw.common.posts.toDbModel import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.model.LobstersPost import kotlinx.coroutines.launch diff --git a/common/build.gradle.kts b/common/build.gradle.kts index f72eb54a..e15d2a6d 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -16,6 +16,7 @@ kotlin { api(compose.foundation) api(compose.material) api(projects.database) + api(projects.model) } } sourceSets["androidMain"].apply { diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt new file mode 100644 index 00000000..9c6b1398 --- /dev/null +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt @@ -0,0 +1,31 @@ +package dev.msfjarvis.claw.common.posts + +import dev.msfjarvis.claw.database.local.SavedPost +import dev.msfjarvis.claw.model.LobstersPost +import dev.msfjarvis.claw.model.LobstersPostDetails + +fun LobstersPost.toDbModel(): SavedPost { + return SavedPost( + shortId = shortId, + title = title, + url = url, + createdAt = createdAt, + commentsUrl = commentsUrl, + submitterName = submitter.username, + submitterAvatarUrl = submitter.avatarUrl, + tags = tags, + ) +} + +fun LobstersPostDetails.toDbModel(): SavedPost { + return SavedPost( + shortId = shortId, + title = title, + url = url, + createdAt = createdAt, + commentsUrl = commentsUrl, + submitterName = submitter.username, + submitterAvatarUrl = submitter.avatarUrl, + tags = tags, + ) +} diff --git a/desktop/src/jvmMain/kotlin/main.kt b/desktop/src/jvmMain/kotlin/main.kt index e5ef9c0b..f510549d 100644 --- a/desktop/src/jvmMain/kotlin/main.kt +++ b/desktop/src/jvmMain/kotlin/main.kt @@ -14,27 +14,13 @@ import androidx.compose.ui.window.WindowPosition import androidx.compose.ui.window.application import androidx.compose.ui.window.rememberWindowState import dev.msfjarvis.claw.common.posts.LobstersCard +import dev.msfjarvis.claw.common.posts.toDbModel import dev.msfjarvis.claw.common.theme.LobstersTheme import dev.msfjarvis.claw.common.urllauncher.UrlLauncher -import dev.msfjarvis.claw.database.local.SavedPost -import dev.msfjarvis.claw.model.LobstersPost import org.pushingpixels.aurora.component.AuroraVerticalScrollbar import org.pushingpixels.aurora.skin.ceruleanSkin import org.pushingpixels.aurora.window.AuroraWindow -fun LobstersPost.toDbModel(): SavedPost { - return SavedPost( - shortId = shortId, - title = title, - url = url, - createdAt = createdAt, - commentsUrl = commentsUrl, - submitterName = submitter.username, - submitterAvatarUrl = submitter.avatarUrl, - tags = tags, - ) -} - fun main() = application { val paging = Paging(rememberCoroutineScope()) val items = paging.pagingData.collectAsLazyPagingItems()