commonMain.app.bsky.embed.recordViewRecord.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.embed
import app.bsky.actor.ProfileViewBasic
import com.atproto.label.Label
import kotlin.Long
import kotlin.Suppress
import kotlin.jvm.JvmInline
import kotlinx.collections.immutable.persistentListOf
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import sh.christian.ozone.api.AtUri
import sh.christian.ozone.api.Cid
import sh.christian.ozone.api.model.JsonContent
import sh.christian.ozone.api.model.ReadOnlyList
import sh.christian.ozone.api.model.Timestamp
import sh.christian.ozone.api.runtime.valueClassSerializer
@Serializable
public sealed interface RecordViewRecordEmbedUnion {
public class ImagesViewSerializer : KSerializer by valueClassSerializer(
serialName = "app.bsky.embed.images#view",
constructor = ::ImagesView,
valueProvider = ImagesView::value,
valueSerializerProvider = { app.bsky.embed.ImagesView.serializer() },
)
@Serializable(with = ImagesViewSerializer::class)
@JvmInline
@SerialName("app.bsky.embed.images#view")
public value class ImagesView(
public val `value`: app.bsky.embed.ImagesView,
) : RecordViewRecordEmbedUnion
public class VideoViewSerializer : KSerializer by valueClassSerializer(
serialName = "app.bsky.embed.video#view",
constructor = ::VideoView,
valueProvider = VideoView::value,
valueSerializerProvider = { app.bsky.embed.VideoView.serializer() },
)
@Serializable(with = VideoViewSerializer::class)
@JvmInline
@SerialName("app.bsky.embed.video#view")
public value class VideoView(
public val `value`: app.bsky.embed.VideoView,
) : RecordViewRecordEmbedUnion
public class ExternalViewSerializer : KSerializer by valueClassSerializer(
serialName = "app.bsky.embed.external#view",
constructor = ::ExternalView,
valueProvider = ExternalView::value,
valueSerializerProvider = { app.bsky.embed.ExternalView.serializer() },
)
@Serializable(with = ExternalViewSerializer::class)
@JvmInline
@SerialName("app.bsky.embed.external#view")
public value class ExternalView(
public val `value`: app.bsky.embed.ExternalView,
) : RecordViewRecordEmbedUnion
public class RecordViewSerializer : KSerializer by valueClassSerializer(
serialName = "app.bsky.embed.record#view",
constructor = ::RecordView,
valueProvider = RecordView::value,
valueSerializerProvider = { app.bsky.embed.RecordView.serializer() },
)
@Serializable(with = RecordViewSerializer::class)
@JvmInline
@SerialName("app.bsky.embed.record#view")
public value class RecordView(
public val `value`: app.bsky.embed.RecordView,
) : RecordViewRecordEmbedUnion
public class RecordWithMediaViewSerializer : KSerializer by valueClassSerializer(
serialName = "app.bsky.embed.recordWithMedia#view",
constructor = ::RecordWithMediaView,
valueProvider = RecordWithMediaView::value,
valueSerializerProvider = { app.bsky.embed.RecordWithMediaView.serializer() },
)
@Serializable(with = RecordWithMediaViewSerializer::class)
@JvmInline
@SerialName("app.bsky.embed.recordWithMedia#view")
public value class RecordWithMediaView(
public val `value`: app.bsky.embed.RecordWithMediaView,
) : RecordViewRecordEmbedUnion
}
/**
* @param value The record data itself.
*/
@Serializable
public data class RecordViewRecord(
public val uri: AtUri,
public val cid: Cid,
public val author: ProfileViewBasic,
/**
* The record data itself.
*/
public val `value`: JsonContent,
public val labels: ReadOnlyList