From 15668d7b419e32ad70b2b43fbd070ba5aac4eb56 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Mon, 27 Feb 2023 17:52:06 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E4=BB=98=E3=81=91=E3=82=8C?= =?UTF-8?q?=E3=82=8B=E3=83=AA=E3=82=A2=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E4=B8=80=E8=A6=A7=E3=81=AE=E5=8F=96=E5=BE=97API=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt b/core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt index ed0e4d3..388e3c8 100644 --- a/core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt +++ b/core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt @@ -6,6 +6,7 @@ import dev.usbharu.multim.Logger import dev.usbharu.multim.UniqueId import dev.usbharu.multim.error.ErrorType import dev.usbharu.multim.error.MultiMError +import dev.usbharu.multim.error.MultiMResult import dev.usbharu.multim.model.* import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -130,6 +131,12 @@ interface StatusApi { (status.content.text + status.account.accountName + date).encodeToByteArray() ).toInt() } + val AVAILABLE_REACTIONS:String + get() = "status/availableReactions" + suspend fun availableReactions(): MultiMResult> { + Logger.debug("Status Api", "Not impl status api availableReactions") + return Err(MultiMError("availableReactions not implements", null, ErrorType.NOT_IMPL)) + } } From 54f067124dc9025e6ac8ad2b481a76d66c431d3e Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Mon, 27 Feb 2023 17:53:26 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20CacheableStatusApi=E3=81=AB?= =?UTF-8?q?=E4=BB=98=E3=81=91=E3=82=8C=E3=82=8B=E3=83=AA=E3=82=A2=E3=82=AF?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E4=B8=80=E8=A6=A7=E5=8F=96=E5=BE=97?= =?UTF-8?q?API=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev/usbharu/multim/cache/CacheableStatusApi.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/main/kotlin/dev/usbharu/multim/cache/CacheableStatusApi.kt b/core/src/main/kotlin/dev/usbharu/multim/cache/CacheableStatusApi.kt index 25bc6f9..4bffdd5 100644 --- a/core/src/main/kotlin/dev/usbharu/multim/cache/CacheableStatusApi.kt +++ b/core/src/main/kotlin/dev/usbharu/multim/cache/CacheableStatusApi.kt @@ -3,6 +3,7 @@ package dev.usbharu.multim.cache import com.github.michaelbull.result.Result import dev.usbharu.multim.api.StatusApi import dev.usbharu.multim.error.MultiMError +import dev.usbharu.multim.error.MultiMResult import dev.usbharu.multim.model.PreviousAndNextPosts import dev.usbharu.multim.model.Reaction import dev.usbharu.multim.model.Status @@ -24,8 +25,15 @@ class CacheableStatusApi(private val cacheableApi: CacheableApi, private val sta override suspend fun getPreviousAndNext(id: StatusId): Result { return cacheableApi.cacheOrGet( - GET_PREVIOUS_AND_NEXT, - id + GET_PREVIOUS_AND_NEXT, id ) { statusApi.getPreviousAndNext(id) } } + + override suspend fun availableReactions(): MultiMResult> { + return cacheableApi.cacheOrGet( + (AVAILABLE_REACTIONS) + ) { + statusApi.availableReactions() + } + } } From f1cd9a0eea62b5cb59552a4b86847fc4d4101f67 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Mon, 27 Feb 2023 17:56:42 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E3=83=9E=E3=83=AB=E3=83=81?= =?UTF-8?q?=E3=82=A2=E3=82=AB=E3=82=A6=E3=83=B3=E3=83=88API=E3=81=AB?= =?UTF-8?q?=E4=BB=98=E3=81=91=E3=82=8C=E3=82=8B=E3=83=AA=E3=82=A2=E3=82=AF?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E4=B8=80=E8=A6=A7=E5=8F=96=E5=BE=97?= =?UTF-8?q?API=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../usbharu/multim/multi/MultiAccountStatusApi.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/src/main/kotlin/dev/usbharu/multim/multi/MultiAccountStatusApi.kt b/core/src/main/kotlin/dev/usbharu/multim/multi/MultiAccountStatusApi.kt index fec5d92..194ccad 100644 --- a/core/src/main/kotlin/dev/usbharu/multim/multi/MultiAccountStatusApi.kt +++ b/core/src/main/kotlin/dev/usbharu/multim/multi/MultiAccountStatusApi.kt @@ -6,6 +6,7 @@ import com.github.michaelbull.result.map import dev.usbharu.multim.Logger import dev.usbharu.multim.api.StatusApi import dev.usbharu.multim.error.MultiMError +import dev.usbharu.multim.error.MultiMResult import dev.usbharu.multim.model.* import dev.usbharu.multim.multi.model.MultiAccountReaction import dev.usbharu.multim.multi.model.MultiAccountStatus @@ -210,5 +211,16 @@ class MultiAccountStatusApi(private val multiAccountApiBase: MultiAccountApiBase return MultiAccountStatus(first, second) } + suspend fun availableReactions(hashCode: Int): MultiMResult> { + Logger.debug("Status Api", "Multi account status api availableReactions") + return multiAccountApiBase.getImpl(hashCode).flatMap { it.statusApi.availableReactions() } + } + suspend fun availableReactions(hashCode: MultiAccountData<*>): MultiMResult> { + Logger.debug( + "Status Api", + "Multi account status api availableReactions with multiAccountData" + ) + return getImpl2(hashCode) { availableReactions() }.flatMap { it.first } + } }