From 88d57f63ddd5bdc641a23789d623064e04b7be99 Mon Sep 17 00:00:00 2001 From: Sasikanth Miriyampalli Date: Sun, 20 Feb 2022 11:32:32 +0530 Subject: [PATCH] Add support for comment count in API responses and DB table (#295) --- .../commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt | 2 ++ .../sqldelight/dev/msfjarvis/claw/database/local/1.sqm | 1 + .../sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq | 1 + .../dev/msfjarvis/claw/database/local/SqlDelightQueriesTest.kt | 1 + .../commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPost.kt | 1 + .../kotlin/dev/msfjarvis/claw/model/LobstersPostDetails.kt | 1 + 6 files changed, 7 insertions(+) create mode 100644 database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/1.sqm 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 index 9c6b1398..8651569c 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/posts/ext.kt @@ -10,6 +10,7 @@ fun LobstersPost.toDbModel(): SavedPost { title = title, url = url, createdAt = createdAt, + commentCount = commentCount, commentsUrl = commentsUrl, submitterName = submitter.username, submitterAvatarUrl = submitter.avatarUrl, @@ -23,6 +24,7 @@ fun LobstersPostDetails.toDbModel(): SavedPost { title = title, url = url, createdAt = createdAt, + commentCount = commentCount, commentsUrl = commentsUrl, submitterName = submitter.username, submitterAvatarUrl = submitter.avatarUrl, diff --git a/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/1.sqm b/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/1.sqm new file mode 100644 index 00000000..4658526f --- /dev/null +++ b/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/1.sqm @@ -0,0 +1 @@ +ALTER TABLE SavedPost ADD COLUMN commentCount INTEGER AS Int; diff --git a/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq b/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq index b1977c08..570ce967 100644 --- a/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq +++ b/database/src/commonMain/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq @@ -5,6 +5,7 @@ CREATE TABLE IF NOT EXISTS SavedPost( title TEXT NOT NULL, url TEXT NOT NULL, createdAt TEXT NOT NULL, + commentCount INTEGER AS Int NOT NULL, commentsUrl TEXT NOT NULL, submitterName TEXT NOT NULL, submitterAvatarUrl TEXT NOT NULL, diff --git a/database/src/desktopTest/kotlin/dev/msfjarvis/claw/database/local/SqlDelightQueriesTest.kt b/database/src/desktopTest/kotlin/dev/msfjarvis/claw/database/local/SqlDelightQueriesTest.kt index a4bc5e26..eba330f4 100644 --- a/database/src/desktopTest/kotlin/dev/msfjarvis/claw/database/local/SqlDelightQueriesTest.kt +++ b/database/src/desktopTest/kotlin/dev/msfjarvis/claw/database/local/SqlDelightQueriesTest.kt @@ -139,6 +139,7 @@ class SqlDelightQueriesTest { createdAt = "0", title = "test", url = "test_url", + commentCount = 0, commentsUrl = "test_comments_url", submitterName = "test_user_$i", submitterAvatarUrl = "test_avatar_url", diff --git a/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPost.kt b/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPost.kt index 1d314f50..f95bb795 100644 --- a/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPost.kt +++ b/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPost.kt @@ -10,6 +10,7 @@ class LobstersPost( val title: String, val url: String, val description: String, + @SerialName("comment_count") val commentCount: Int, @SerialName("comments_url") val commentsUrl: String, @SerialName("submitter_user") val submitter: User, val tags: List, diff --git a/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPostDetails.kt b/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPostDetails.kt index f3281aea..85d3de38 100644 --- a/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPostDetails.kt +++ b/model/src/commonMain/kotlin/dev/msfjarvis/claw/model/LobstersPostDetails.kt @@ -10,6 +10,7 @@ class LobstersPostDetails( val title: String, val url: String, val description: String, + @SerialName("comment_count") val commentCount: Int, @SerialName("comments_url") val commentsUrl: String, @SerialName("submitter_user") val submitter: User, val tags: List,