commonMain.net.folivo.trixnity.clientserverapi.model.push.SetPushRule.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.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.PUT
import net.folivo.trixnity.core.MatrixEndpoint
import net.folivo.trixnity.core.model.UserId
import net.folivo.trixnity.core.model.push.PushAction
import net.folivo.trixnity.core.model.push.PushCondition
import net.folivo.trixnity.core.model.push.PushRuleKind
/**
* @see matrix spec
*/
@Serializable
@Resource("/_matrix/client/v3/pushrules/{scope}/{kind}/{ruleId}")
@HttpMethod(PUT)
data class SetPushRule(
@SerialName("scope") val scope: String,
@SerialName("kind") val kind: PushRuleKind,
@SerialName("ruleId") val ruleId: String,
@SerialName("before") val beforeRuleId: String? = null,
@SerialName("after") val afterRuleId: String? = null,
@SerialName("user_id") val asUserId: UserId? = null
) : MatrixEndpoint {
@Serializable
data class Request(
@SerialName("actions")
val actions: Set,
@SerialName("conditions")
val conditions: Set = setOf(),
@SerialName("pattern")
val pattern: String? = null,
)
}