summaryrefslogtreecommitdiffstats
path: root/vendor/gomod.garykim.dev/nc-talk/ocs
diff options
context:
space:
mode:
authorGary Kim <gary@garykim.dev>2021-06-01 17:17:07 -0400
committerGitHub <noreply@github.com>2021-06-01 23:17:07 +0200
commit1d50da4b1c43273ab2dc8c47829e03f5f6981f92 (patch)
treec99fbf0d82b335fd298703f33ace3cb7f0f37742 /vendor/gomod.garykim.dev/nc-talk/ocs
parentc7897cca5d61bbe3579403fbbef62c0d70779876 (diff)
downloadmatterbridge-msglm-1d50da4b1c43273ab2dc8c47829e03f5f6981f92.tar.gz
matterbridge-msglm-1d50da4b1c43273ab2dc8c47829e03f5f6981f92.tar.bz2
matterbridge-msglm-1d50da4b1c43273ab2dc8c47829e03f5f6981f92.zip
Add support for message deletion (nctalk) (#1492)
* nctalk: add message deletion support Signed-off-by: Gary Kim <gary@garykim.dev> * nctalk: seperate out deletion and sending logic Signed-off-by: Gary Kim <gary@garykim.dev> * nctalk: update library to v0.2.0 Signed-off-by: Gary Kim <gary@garykim.dev> * Rename functions to be clearer Signed-off-by: Gary Kim <gary@garykim.dev> * Update to go-nc-talk v0.2.1 Signed-off-by: Gary Kim <gary@garykim.dev> * Update to go-nc-talk v0.2.2 Signed-off-by: Gary Kim <gary@garykim.dev> * Make deletions easier to debug Signed-off-by: Gary Kim <gary@garykim.dev>
Diffstat (limited to 'vendor/gomod.garykim.dev/nc-talk/ocs')
-rw-r--r--vendor/gomod.garykim.dev/nc-talk/ocs/capabilities.go6
-rw-r--r--vendor/gomod.garykim.dev/nc-talk/ocs/message.go11
2 files changed, 16 insertions, 1 deletions
diff --git a/vendor/gomod.garykim.dev/nc-talk/ocs/capabilities.go b/vendor/gomod.garykim.dev/nc-talk/ocs/capabilities.go
index 4dbaa735..8b2919fc 100644
--- a/vendor/gomod.garykim.dev/nc-talk/ocs/capabilities.go
+++ b/vendor/gomod.garykim.dev/nc-talk/ocs/capabilities.go
@@ -33,10 +33,14 @@ type SpreedCapabilities struct {
Folder string `json:"folder"`
} `json:"attachments"`
Chat struct {
- MaxLength int `json:"max-length"`
+ MaxLength int `json:"max-length"`
+ ReadPrivacy int `json:"read-privacy"`
} `json:"chat"`
Conversations struct {
CanCreate bool `json:"can-create"`
} `json:"conversations"`
+ Previews struct {
+ MaxGifSize int `json:"max-gif-size"`
+ } `json:"previews"`
} `json:"config"`
}
diff --git a/vendor/gomod.garykim.dev/nc-talk/ocs/message.go b/vendor/gomod.garykim.dev/nc-talk/ocs/message.go
index d4766006..1a8f95dc 100644
--- a/vendor/gomod.garykim.dev/nc-talk/ocs/message.go
+++ b/vendor/gomod.garykim.dev/nc-talk/ocs/message.go
@@ -35,6 +35,15 @@ const (
// MessageCommand is a Nextcloud Talk message that is a command
MessageCommand MessageType = "command"
+ // MessageDelete is a Nextcloud Talk message indicating a message that was deleted
+ //
+ // If a message has been deleted, a message of MessageType MessageSystem is
+ // sent through the channel for which the parent message's MessageType is MessageDelete.
+ // So, in order to check if a new message is a message deletion request, a check
+ // like this can be used:
+ // msg.MessageType == ocs.MessageSystem && msg.Parent != nil && msg.Parent.MessageType == ocs.MessageDelete
+ MessageDelete MessageType = "comment_deleted"
+
// ActorUser is a Nextcloud Talk message sent by a user
ActorUser ActorType = "users"
@@ -55,6 +64,8 @@ type TalkRoomMessageData struct {
SystemMessage string `json:"systemMessage"`
Timestamp int `json:"timestamp"`
MessageType MessageType `json:"messageType"`
+ Deleted bool `json:"deleted"`
+ Parent *TalkRoomMessageData `json:"parent"`
MessageParameters map[string]RichObjectString `json:"-"`
}