commonMain.net.folivo.trixnity.clientserverapi.model.rooms.TimestampToEvent.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of trixnity-clientserverapi-model Show documentation
Show all versions of trixnity-clientserverapi-model Show documentation
Multiplatform Kotlin SDK for matrix-protocol
package net.folivo.trixnity.clientserverapi.model.rooms
import io.ktor.resources.*
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import net.folivo.trixnity.core.HttpMethod
import net.folivo.trixnity.core.HttpMethodType.GET
import net.folivo.trixnity.core.MatrixEndpoint
import net.folivo.trixnity.core.model.EventId
import net.folivo.trixnity.core.model.RoomId
import net.folivo.trixnity.core.model.UserId
/**
* @see matrix spec
*/
@Serializable
@Resource("/_matrix/client/v1/rooms/{roomId}/timestamp_to_event")
@HttpMethod(GET)
data class TimestampToEvent(
@SerialName("roomId") val roomId: RoomId,
@SerialName("ts") val timestamp: Long,
@SerialName("dir") val dir: Direction,
@SerialName("user_id") val asUserId: UserId? = null
) : MatrixEndpoint {
@Serializable
enum class Direction {
@SerialName("f")
FORWARDS,
@SerialName("b")
BACKWARDS
}
@Serializable
data class Response(
@SerialName("event_id") val eventId: EventId,
@SerialName("origin_server_ts") val originTimestamp: Long,
)
}