commonMain.app.bsky.feed.getLikes.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bluesky Show documentation
Show all versions of bluesky Show documentation
Bluesky Social API bindings for Kotlin.
The newest version!
@file:Suppress("DEPRECATION")
package app.bsky.feed
import kotlin.Any
import kotlin.Long
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlinx.collections.immutable.toImmutableList
import kotlinx.serialization.Serializable
import sh.christian.ozone.api.AtUri
import sh.christian.ozone.api.Cid
import sh.christian.ozone.api.model.ReadOnlyList
/**
* @param uri AT-URI of the subject (eg, a post record).
* @param cid CID of the subject record (aka, specific version of record), to filter likes.
*/
@Serializable
public data class GetLikesQueryParams(
/**
* AT-URI of the subject (eg, a post record).
*/
public val uri: AtUri,
/**
* CID of the subject record (aka, specific version of record), to filter likes.
*/
public val cid: Cid? = null,
public val limit: Long? = 50,
public val cursor: String? = null,
) {
init {
require(limit == null || limit >= 1) {
"limit must be >= 1, but was $limit"
}
require(limit == null || limit <= 100) {
"limit must be <= 100, but was $limit"
}
}
public fun asList(): ReadOnlyList> = buildList {
add("uri" to uri)
add("cid" to cid)
add("limit" to limit)
add("cursor" to cursor)
}.toImmutableList()
}
@Serializable
public data class GetLikesResponse(
public val uri: AtUri,
public val cid: Cid? = null,
public val cursor: String? = null,
public val likes: ReadOnlyList,
)