UpdateGroupRequest

data class UpdateGroupRequest(account: String, groupID: String, title: String?, description: String?, avatar: String?, updateTimer: Int?, addMembers: List<JsonAddress>?, removeMembers: List<JsonAddress>?, updateRole: GroupMember?, updateAccessControl: GroupAccessControl?, resetLink: Boolean?, announcements: String?) : SignaldRequestBodyV1<GroupInfo>

modify a group. Note that only one modification action may be performed at once

Constructors

Link copied to clipboard
fun UpdateGroupRequest(account: String, groupID: String, title: String? = null, description: String? = null, avatar: String? = null, updateTimer: Int? = null, addMembers: List<JsonAddress>? = null, removeMembers: List<JsonAddress>? = null, updateRole: GroupMember? = null, updateAccessControl: GroupAccessControl? = null, resetLink: Boolean? = null, announcements: String? = null)

Functions

Link copied to clipboard
fun submit(socketCommunicator: SocketCommunicator): GroupInfo
open override fun submit(socketCommunicator: SocketCommunicator, id: String): GroupInfo
Link copied to clipboard
suspend fun submitSuspend(socketCommunicator: SuspendSocketCommunicator): GroupInfo
open suspend override fun submitSuspend(socketCommunicator: SuspendSocketCommunicator, id: String): GroupInfo

Properties

Link copied to clipboard
val account: String

The identifier of the account to interact with

Link copied to clipboard
val addMembers: List<JsonAddress>? = null
Link copied to clipboard
val announcements: String? = null

ENABLED to only allow admins to post messages, DISABLED to allow anyone to post

Link copied to clipboard
val avatar: String? = null

Example: "/tmp/image.jpg"

Link copied to clipboard
val description: String? = null

A new group description. Set to empty string to remove an existing description.

Link copied to clipboard
val groupID: String

the ID of the group to update

Link copied to clipboard
val id: String

The id to include in the request. This is expected to be present in the response JSON.

Link copied to clipboard
val removeMembers: List<JsonAddress>? = null
Link copied to clipboard
val resetLink: Boolean? = null

regenerate the group link password, invalidating the old one

Link copied to clipboard
val title: String? = null

Example: "Parkdale Run Club"

Link copied to clipboard
val updateAccessControl: GroupAccessControl? = null

note that only one of the access controls may be updated per request

Link copied to clipboard
val updateRole: GroupMember? = null
Link copied to clipboard
val updateTimer: Int? = null

update the group timer.

Link copied to clipboard
val version: String

The version to include in the request. As this class won't be used to deserialize the response, the Required annotation is being used to force this field to be serialized