From c8b5f34c6dda2e11d5b4e9f085c013fe5e700323 Mon Sep 17 00:00:00 2001 From: Tlaster Date: Wed, 10 Dec 2025 15:00:44 +0900 Subject: [PATCH] fix xqt mapping --- .../flare/data/database/cache/mapper/XQT.kt | 25 +++---------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/mapper/XQT.kt b/shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/mapper/XQT.kt index a489f6c20..b6524e5f2 100644 --- a/shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/mapper/XQT.kt +++ b/shared/src/commonMain/kotlin/dev/dimension/flare/data/database/cache/mapper/XQT.kt @@ -45,7 +45,6 @@ import dev.dimension.flare.model.ReferenceType import dev.dimension.flare.ui.model.mapper.name import dev.dimension.flare.ui.model.mapper.parseXQTCustomDateTime import dev.dimension.flare.ui.model.mapper.screenName -import kotlin.collections.toMap import kotlin.time.Clock internal object XQT { @@ -267,21 +266,21 @@ private fun TweetUnion.toDbStatusWithUser(accountKey: MicroBlogKey): DbStatusWit private fun toDbStatusWithUser( tweet: Tweet, accountKey: MicroBlogKey, -): DbStatusWithUser { +): DbStatusWithUser? { val user = tweet.core ?.userResults ?.result ?.let { it as? User - }?.toDbUser(accountKey) ?: throw IllegalStateException("Tweet.user should not be null") + }?.toDbUser(accountKey) ?: return null return DbStatusWithUser( data = DbStatus( statusKey = MicroBlogKey( id = tweet.restId, - host = user.userKey.host, + host = accountKey.host, ), content = StatusContent.XQT(tweet), userKey = user.userKey, @@ -295,24 +294,6 @@ private fun toDbStatusWithUser( ) } -private fun TimelineTweet.toDbUser(accountKey: MicroBlogKey): DbUser { - val tweet = - when (tweetResults.result) { - is Tweet -> tweetResults.result - null, is TweetTombstone -> throw IllegalStateException("Tweet tombstone should not be saved") - is TweetWithVisibilityResults -> tweetResults.result.tweet - } - val user = - tweet.core - ?.userResults - ?.result - ?.let { - it as? User - } - ?: throw IllegalStateException("Tweet.user should not be null") - return user.toDbUser(accountKey = accountKey) -} - internal fun User.toDbUser(accountKey: MicroBlogKey) = DbUser( userKey =