Skip to content

Commit

Permalink
feat: instance tickerのサブサービスを利用して検索できるようにした
Browse files Browse the repository at this point in the history
  • Loading branch information
pantasystem committed Dec 22, 2023
1 parent 61926ac commit 5146ee4
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.pantasystem.milktea.api.milktea.instance.ticker

import net.pantasystem.milktea.api.misskey.infos.SimpleInstanceInfo
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Query
Expand All @@ -8,4 +9,11 @@ interface InstanceTickerAPIService {

@GET("/instances")
suspend fun getInstanceInfo(@Query("host") host: String): Response<InstanceTickerNetworkDTO>

@GET("instances-search")
suspend fun getInstances(
@Query("query") name: String? = null,
@Query("limit") limit: Int? = null,
@Query("offset") offset: Int? = null,
): Response<List<SimpleInstanceInfo>>
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import kotlinx.serialization.Serializable

@Serializable
data class SimpleInstanceInfo(
@SerialName("url") val url: String,
@SerialName("name") val name: String,
@SerialName("uri") val url: String,
@SerialName("name") val name: String? = null,
@SerialName("description") val description: String? = null,
@SerialName("iconUrl") val iconUrl: String? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ fun MisskeyInstanceInfoCard(
Modifier.weight(1f)
) {
Text(
info.name,
info.name ?: info.url,
fontSize = 18.sp,
maxLines = 1,
overflow = TextOverflow.Ellipsis
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package net.pantasystem.milktea.auth.suggestions

import androidx.compose.ui.text.intl.Locale
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import net.pantasystem.milktea.api.misskey.InstanceInfoAPIBuilder
import net.pantasystem.milktea.api.milktea.instance.ticker.InstanceTickerAPIServiceBuilder
import net.pantasystem.milktea.api.misskey.infos.SimpleInstanceInfo
import net.pantasystem.milktea.common.Logger
import net.pantasystem.milktea.common.PageableState
Expand All @@ -22,7 +21,7 @@ import net.pantasystem.milktea.common.throwIfHasError
import javax.inject.Inject

class InstanceSuggestionsPagingModel @Inject constructor(
private val instancesInfoAPIBuilder: InstanceInfoAPIBuilder,
private val instanceTickerAPIBuilder: InstanceTickerAPIServiceBuilder,
private val loggerFactory: Logger.Factory,
) : StateLocker,
PaginationState<SimpleInstanceInfo>,
Expand Down Expand Up @@ -56,10 +55,10 @@ class InstanceSuggestionsPagingModel @Inject constructor(

override suspend fun loadPrevious(): Result<List<SimpleInstanceInfo>> =
runCancellableCatching {
instancesInfoAPIBuilder.build().getInstances(
instanceTickerAPIBuilder.build("https://milktea-instance-ticker.milktea.workers.dev/").getInstances(
offset = _offset,
name = _name,
lang = Locale.current.language,
// lang = Locale.current.language,
).throwIfHasError().body()!!.also {
_offset += it.size
}
Expand Down

0 comments on commit 5146ee4

Please sign in to comment.