mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
add properties to LinkedItem model to match ios model
This commit is contained in:
parent
7a49b52921
commit
abb5eade24
3 changed files with 53 additions and 18 deletions
|
|
@ -62,10 +62,10 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse {
|
|||
val linkedItem = LinkedItem(
|
||||
id = article.articleFields.id,
|
||||
title = article.articleFields.title,
|
||||
createdAt = article.articleFields.createdAt,
|
||||
savedAt = article.articleFields.savedAt,
|
||||
readAt = article.articleFields.readAt,
|
||||
updatedAt = article.articleFields.updatedAt,
|
||||
createdAt = article.articleFields.createdAt as String,
|
||||
savedAt = article.articleFields.savedAt as String,
|
||||
readAt = article.articleFields.readAt as String?,
|
||||
updatedAt = article.articleFields.updatedAt as String?,
|
||||
readingProgress = article.articleFields.readingProgressPercent,
|
||||
readingProgressAnchor = article.articleFields.readingProgressAnchorIndex,
|
||||
imageURLString = article.articleFields.image,
|
||||
|
|
@ -74,7 +74,7 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse {
|
|||
publisherURLString = article.articleFields.originalArticleUrl,
|
||||
siteName = article.articleFields.siteName,
|
||||
author = article.articleFields.author,
|
||||
publishDate = article.articleFields.publishedAt,
|
||||
publishDate = article.articleFields.publishedAt as String?,
|
||||
slug = article.articleFields.slug,
|
||||
isArchived = article.articleFields.isArchived,
|
||||
contentReader = article.articleFields.contentReader.rawValue,
|
||||
|
|
|
|||
|
|
@ -72,10 +72,10 @@ suspend fun Networker.search(
|
|||
LinkedItem(
|
||||
id = it.node.id,
|
||||
title = it.node.title,
|
||||
createdAt = it.node.createdAt,
|
||||
savedAt = it.node.savedAt,
|
||||
readAt = it.node.readAt,
|
||||
updatedAt = it.node.updatedAt,
|
||||
createdAt = it.node.createdAt as String,
|
||||
savedAt = it.node.savedAt as String,
|
||||
readAt = it.node.readAt as String?,
|
||||
updatedAt = it.node.updatedAt as String?,
|
||||
readingProgress = it.node.readingProgressPercent,
|
||||
readingProgressAnchor = it.node.readingProgressAnchorIndex,
|
||||
imageURLString = it.node.image,
|
||||
|
|
@ -84,7 +84,7 @@ suspend fun Networker.search(
|
|||
publisherURLString = it.node.originalArticleUrl,
|
||||
siteName = it.node.siteName,
|
||||
author = it.node.author,
|
||||
publishDate = it.node.publishedAt,
|
||||
publishDate = it.node.publishedAt as String?,
|
||||
slug = it.node.slug,
|
||||
isArchived = it.node.isArchived,
|
||||
contentReader = it.node.contentReader.rawValue,
|
||||
|
|
|
|||
|
|
@ -1,14 +1,18 @@
|
|||
package app.omnivore.omnivore.persistence.entities
|
||||
|
||||
import androidx.core.net.toUri
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
@Entity
|
||||
data class LinkedItem(
|
||||
val id: String,
|
||||
@PrimaryKey val id: String,
|
||||
val title: String,
|
||||
val createdAt: Any,
|
||||
val savedAt: Any,
|
||||
val readAt: Any?,
|
||||
val updatedAt: Any?,
|
||||
val createdAt: String,
|
||||
val savedAt: String,
|
||||
val readAt: String?,
|
||||
val updatedAt: String?,
|
||||
val readingProgress: Double,
|
||||
val readingProgressAnchor: Int,
|
||||
val imageURLString: String?,
|
||||
|
|
@ -17,11 +21,27 @@ data class LinkedItem(
|
|||
val publisherURLString: String?,
|
||||
val siteName: String?,
|
||||
val author: String?,
|
||||
val publishDate: Any?,
|
||||
val publishDate: String?,
|
||||
val slug: String,
|
||||
val isArchived: Boolean,
|
||||
val contentReader: String?,
|
||||
val content: String?
|
||||
val contentReader: String? = null,
|
||||
val content: String? = null,
|
||||
val createdId: String? = null,
|
||||
val htmlContent: String? = null,
|
||||
val language: String? = null,
|
||||
val listenPositionIndex: Int? = null,
|
||||
val listenPositionOffset: Double? = null,
|
||||
val listenPositionTime: Double? = null,
|
||||
val localPDF: String? = null,
|
||||
val onDeviceImageURLString: String? = null,
|
||||
val originalHtml: String? = null,
|
||||
@ColumnInfo(typeAffinity = ColumnInfo.BLOB) val pdfData: ByteArray? = null,
|
||||
val serverSyncStatus: Int = 0, // TODO: implement,
|
||||
val tempPDFURL: String? = null
|
||||
|
||||
// hasMany highlights
|
||||
// hasMany labels
|
||||
// has Many recommendations
|
||||
) {
|
||||
fun publisherDisplayName(): String? {
|
||||
return publisherURLString?.toUri()?.host
|
||||
|
|
@ -31,4 +51,19 @@ data class LinkedItem(
|
|||
val hasPDFSuffix = pageURLString.endsWith("pdf")
|
||||
return contentReader == "PDF" || hasPDFSuffix
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as LinkedItem
|
||||
|
||||
if (id != other.id) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return id.hashCode()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue