From ae13d0ae91d2037ad00f0f6c2fddffe8e4b9a478 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Tue, 14 Mar 2023 16:34:48 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20Note=E3=81=AE=E5=A4=89=E6=8F=9B?= =?UTF-8?q?=E3=81=AB=E5=A4=B1=E6=95=97=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F?= =?UTF-8?q?=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../converter/misskey/v12/NoteConverter.kt | 7 +++++- .../misskey/v12/ReactionConverter.kt | 17 +++++++++++++ .../v12/model/components/MeDetailed.kt | 2 +- .../misskey/v12/model/components/UserLite.kt | 5 ++++ .../multim/misskey/v12/api/ITestE2E.kt | 24 +++++++++++++++++++ 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 impl/misskey/src/test/kotlin/dev/usbharu/multim/misskey/v12/api/ITestE2E.kt diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt index aeb506b..eb440ab 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt @@ -1,6 +1,7 @@ package dev.usbharu.multim.misskey.v12.converter.misskey.v12 import dev.usbharu.multim.misskey.v12.common.* +import dev.usbharu.multim.misskey.v12.converter.misskey.v12.ReactionConverter.toReactions import dev.usbharu.multim.misskey.v12.model.components.Note import dev.usbharu.multim.misskey.v12.model.components.UserLite import dev.usbharu.multim.model.Status @@ -18,7 +19,11 @@ object NoteConverter { ), content = MisskeyContent(text.orEmpty()), files = files?.map { MisskeyFile(byteArrayOf(), it.type, it.url.orEmpty()) } - ?.let { MisskeyFiles(it) } + ?.let { MisskeyFiles(it) }, + reactions = reactions.toReactions(this), + repostCount = renoteCount, + repliesCount = repliesCount, + reposted = false, ) } diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/ReactionConverter.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/ReactionConverter.kt index 8d7c9df..0b7b5ef 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/ReactionConverter.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/ReactionConverter.kt @@ -1,9 +1,13 @@ package dev.usbharu.multim.misskey.v12.converter.misskey.v12 +import com.github.michaelbull.result.getOrElse +import com.github.michaelbull.result.map +import dev.usbharu.multim.api.EmojiApi import dev.usbharu.multim.misskey.v12.common.MisskeyReaction import dev.usbharu.multim.misskey.v12.model.components.Note import dev.usbharu.multim.misskey.v12.model.components.NoteReaction import dev.usbharu.multim.misskey.v12.model.components.Reactions +import dev.usbharu.multim.model.Emoji import dev.usbharu.multim.model.Reaction object ReactionConverter { @@ -23,4 +27,17 @@ object ReactionConverter { ) to it.value }.toMap() } + + suspend fun Reactions.toReactions(emojiApi: EmojiApi): Map { + return map { entries -> + emojiApi.get(entries.key) + .map { emoji: Emoji -> + MisskeyReaction(emoji.name, emoji.url) + }.map { misskeyReaction -> + misskeyReaction to entries.value + } + }.map { + it.getOrElse { null } + }.filterNotNull().toMap() + } } diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/MeDetailed.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/MeDetailed.kt index b6e14da..1de352d 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/MeDetailed.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/MeDetailed.kt @@ -79,6 +79,6 @@ class MeDetailed( val emailNotificationTypes: List, val email: String? = null, val emailVerified: Boolean? = null, - val securityKeysList: List, + val securityKeysList: List = emptyList(), ) : UserDetailed() diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/UserLite.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/UserLite.kt index f9edc75..4dc1d11 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/UserLite.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/model/components/UserLite.kt @@ -1,5 +1,6 @@ package dev.usbharu.multim.misskey.v12.model.components +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable @@ -21,8 +22,12 @@ data class UserLite( ) : User() enum class OnlineStatus(val string: String) { + @SerialName("unknown") UNKNOWN("unknown"), + @SerialName("online") ONLINE("online"), + @SerialName("active") ACTIVE("active"), + @SerialName("offline") OFFLINE("offline") } diff --git a/impl/misskey/src/test/kotlin/dev/usbharu/multim/misskey/v12/api/ITestE2E.kt b/impl/misskey/src/test/kotlin/dev/usbharu/multim/misskey/v12/api/ITestE2E.kt new file mode 100644 index 0000000..b06fba5 --- /dev/null +++ b/impl/misskey/src/test/kotlin/dev/usbharu/multim/misskey/v12/api/ITestE2E.kt @@ -0,0 +1,24 @@ +package dev.usbharu.multim.misskey.v12.api + +import dev.usbharu.multim.MultiM +import dev.usbharu.multim.TestUtil.failOnError +import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient +import dev.usbharu.multim.model.SingleTokenAuth +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.test.runTest +import org.junit.jupiter.api.Test + +class ITestE2E { + + val misskeyApiClient = MisskeyApiClient( + SingleTokenAuth(System.getProperty("multim_misskey_token")), + System.getProperty("multim_misskey_instance"), + MultiM.httpClientWithJson.config {} + ) + + @Test + fun iTest() = runTest { + val failOnError = I(misskeyApiClient).i().failOnError() + println(failOnError) + } +} From e58d4c7dfdd6ccd17ea4de83337b6b853e140f00 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Tue, 14 Mar 2023 16:37:26 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E6=99=82=E5=88=BB=E3=81=8C=E5=8F=8D?= =?UTF-8?q?=E6=98=A0=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev/usbharu/multim/misskey/v12/common/MisskeyStatus.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/common/MisskeyStatus.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/common/MisskeyStatus.kt index 9cd9b62..1abe601 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/common/MisskeyStatus.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/common/MisskeyStatus.kt @@ -1,6 +1,8 @@ package dev.usbharu.multim.misskey.v12.common import dev.usbharu.multim.model.* +import kotlinx.datetime.Clock +import kotlinx.datetime.Instant @Suppress("LongParameterList") class MisskeyStatus( @@ -17,6 +19,7 @@ class MisskeyStatus( language: String? = null, poll: Poll? = null, files: Files? = null, + createdAt:Instant = Clock.System.now() ) : Status( id, account, @@ -30,5 +33,6 @@ class MisskeyStatus( tags, language, poll, - files + files, + createdAt ) From 5c64db49b9ce8a1d5e1a017e3c827e8d3ea24e6d Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Tue, 14 Mar 2023 16:40:02 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E6=99=82=E5=88=BB=E3=82=92=E5=A4=89?= =?UTF-8?q?=E6=8F=9B=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=8B=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E3=81=AE=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../multim/misskey/v12/converter/misskey/v12/NoteConverter.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt index eb440ab..0bdbaaa 100644 --- a/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt +++ b/impl/misskey/src/main/kotlin/dev/usbharu/multim/misskey/v12/converter/misskey/v12/NoteConverter.kt @@ -24,6 +24,7 @@ object NoteConverter { repostCount = renoteCount, repliesCount = repliesCount, reposted = false, + createdAt = createdAt ) }