All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.net.folivo.trixnity.clientserverapi.model.server.WhoIs.kt Maven / Gradle / Ivy

There is a newer version: 4.7.1
Show newest version
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,
                )
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy