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

commonMain.net.folivo.trixnity.clientserverapi.model.push.GetPushers.kt Maven / Gradle / Ivy

There is a newer version: 4.7.1
Show newest version
package net.folivo.trixnity.clientserverapi.model.push

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/pushers")
@HttpMethod(GET)
data class GetPushers(
    @SerialName("user_id") val asUserId: UserId? = null
) : MatrixEndpoint {
    @Serializable
    data class Response(
        @SerialName("pushers") val devices: List,
    ) {
        @Serializable
        data class Pusher(
            @SerialName("app_display_name")
            val appDisplayName: String,
            @SerialName("app_id")
            val appId: String,
            @SerialName("data")
            val data: PusherData,
            @SerialName("device_display_name")
            val deviceDisplayName: String,
            @SerialName("kind")
            val kind: String,
            @SerialName("lang")
            val lang: String,
            @SerialName("profile_tag")
            val profileTag: String? = null,
            @SerialName("pushkey")
            val pushkey: String,
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy