replace Highlight model with Highlight entity

This commit is contained in:
Satindar Dhillon
2023-01-03 09:43:18 -08:00
parent 39ce9a67b3
commit a6c115d5bf
8 changed files with 21 additions and 24 deletions

View File

@ -15,7 +15,7 @@ android {
defaultConfig {
applicationId "app.omnivore.omnivore"
minSdk 23
minSdk 26
targetSdk 33
versionCode 19
versionName "0.0.19"

View File

@ -1,15 +0,0 @@
package app.omnivore.omnivore.models
data class Highlight(
val id: String,
val shortId: String,
val quote: String,
val prefix: String?,
val suffix: String?,
val patch: String,
val annotation: String?,
val createdAt: Any?,
val updatedAt: Any?,
val createdByMe : Boolean,
)

View File

@ -8,10 +8,10 @@ import app.omnivore.omnivore.graphql.generated.UpdateHighlightMutation
import app.omnivore.omnivore.graphql.generated.type.CreateHighlightInput
import app.omnivore.omnivore.graphql.generated.type.MergeHighlightInput
import app.omnivore.omnivore.graphql.generated.type.UpdateHighlightInput
import app.omnivore.omnivore.models.Highlight
import app.omnivore.omnivore.persistence.entities.Highlight
import com.apollographql.apollo3.api.Optional
import com.google.gson.Gson
import com.pspdfkit.annotations.HighlightAnnotation
import java.time.LocalDate
data class CreateHighlightParams(
val shortId: String?,
@ -137,6 +137,8 @@ suspend fun Networker.createHighlight(input: CreateHighlightInput): Highlight? {
val createdHighlight = result.data?.createHighlight?.onCreateHighlightSuccess?.highlight
if (createdHighlight != null) {
// val updatedAtString = createdHighlight.highlightFields.updatedAt as? String
return Highlight(
id = createdHighlight.highlightFields.id,
shortId = createdHighlight.highlightFields.shortId,
@ -146,8 +148,10 @@ suspend fun Networker.createHighlight(input: CreateHighlightInput): Highlight? {
patch = createdHighlight.highlightFields.patch,
annotation = createdHighlight.highlightFields.annotation,
createdAt = null, // TODO: update gql query to get this
updatedAt = createdHighlight.highlightFields.updatedAt,
updatedAt = null, // TODO: fix updatedAtString?.let { LocalDate.parse(it) },
createdByMe = createdHighlight.highlightFields.createdByMe,
markedForDeletion = false,
serverSyncStatus = 1 // TODO: create enum for this
)
} else {
return null

View File

@ -1,9 +1,10 @@
package app.omnivore.omnivore.networking
import app.omnivore.omnivore.graphql.generated.GetArticleQuery
import app.omnivore.omnivore.models.Highlight
import app.omnivore.omnivore.models.LinkedItem
import app.omnivore.omnivore.models.LinkedItemLabel
import app.omnivore.omnivore.persistence.entities.Highlight
import java.time.LocalDate
data class LinkedItemQueryResponse(
val item: LinkedItem?,
@ -39,6 +40,8 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse {
}
val highlights = article.highlights.map {
// val updatedAtString = it.highlightFields.updatedAt as? String
Highlight(
id = it.highlightFields.id,
shortId = it.highlightFields.shortId,
@ -48,8 +51,10 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse {
patch = it.highlightFields.patch,
annotation = it.highlightFields.annotation,
createdAt = null, // TODO: update gql query to get this
updatedAt = it.highlightFields.updatedAt,
updatedAt = null, //updatedAtString?.let { str -> LocalDate.parse(str) }, TODO: fix date parsing
createdByMe = it.highlightFields.createdByMe,
markedForDeletion = false,
serverSyncStatus = 1 // TODO: create enum for this
)
}

View File

@ -2,6 +2,7 @@ package app.omnivore.omnivore.persistence.entities
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.time.LocalDate
import java.util.Date
@Entity
@ -17,7 +18,8 @@ data class Highlight(
val serverSyncStatus: Int, // default 0
val shortId: String,
val suffix: String?,
val updatedAt: Date?
val updatedAt: LocalDate?
// has many LinkedItems and LinkedItemLabels
// has a UserProfile
)

View File

@ -19,7 +19,7 @@ import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.lifecycle.Observer
import app.omnivore.omnivore.R
import app.omnivore.omnivore.models.Highlight
import app.omnivore.omnivore.persistence.entities.Highlight
import com.pspdfkit.annotations.Annotation
import com.pspdfkit.annotations.HighlightAnnotation
import com.pspdfkit.configuration.PdfConfiguration

View File

@ -12,6 +12,7 @@ import app.omnivore.omnivore.graphql.generated.type.MergeHighlightInput
import app.omnivore.omnivore.graphql.generated.type.UpdateHighlightInput
import app.omnivore.omnivore.models.LinkedItem
import app.omnivore.omnivore.networking.*
import app.omnivore.omnivore.persistence.entities.Highlight
import com.apollographql.apollo3.api.Optional
import com.google.gson.Gson
import com.pspdfkit.annotations.Annotation

View File

@ -1,8 +1,8 @@
package app.omnivore.omnivore.ui.reader
import android.util.Log
import app.omnivore.omnivore.models.Highlight
import app.omnivore.omnivore.models.LinkedItem
import app.omnivore.omnivore.persistence.entities.Highlight
import com.google.gson.Gson
enum class WebFont(val displayText: String, val rawValue: String) {