commonMain.com.atproto.sync.listBlobs.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 com.atproto.sync
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.Cid
import sh.christian.ozone.api.Did
import sh.christian.ozone.api.model.ReadOnlyList
/**
* @param did The DID of the repo.
* @param since Optional revision of the repo to list blobs since.
*/
@Serializable
public data class ListBlobsQueryParams(
/**
* The DID of the repo.
*/
public val did: Did,
/**
* Optional revision of the repo to list blobs since.
*/
public val since: String? = null,
public val limit: Long? = 500,
public val cursor: String? = null,
) {
init {
require(limit == null || limit >= 1) {
"limit must be >= 1, but was $limit"
}
require(limit == null || limit <= 1_000) {
"limit must be <= 1_000, but was $limit"
}
}
public fun asList(): ReadOnlyList> = buildList {
add("did" to did)
add("since" to since)
add("limit" to limit)
add("cursor" to cursor)
}.toImmutableList()
}
@Serializable
public data class ListBlobsResponse(
public val cursor: String? = null,
public val cids: ReadOnlyList,
)