commonMain.net.folivo.trixnity.clientserverapi.model.server.WhoIs.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.server
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.UserId
/**
* @see matrix spec
*/
@Serializable
@Resource("/_matrix/client/v3/admin/whois/{userId}")
@HttpMethod(GET)
data class WhoIs(
@SerialName("userId") val userId: UserId,
@SerialName("user_id") val asUserId: UserId? = null
) : MatrixEndpoint {
@Serializable
data class Response(
@SerialName("user_id") val userId: UserId? = null,
@SerialName("devices") val devices: Map? = null
) {
@Serializable
data class DeviceInfo(
@SerialName("sessions") val sessions: Set? = null
) {
@Serializable
data class SessionInfo(
@SerialName("connections") val connections: Set? = null
) {
@Serializable
data class ConnectionInfo(
@SerialName("ip") val ip: String? = null,
@SerialName("last_seen") val lastSeen: Long? = null,
@SerialName("user_agent") val userAgent: String? = null,
)
}
}
}
}