diff options
author | Gary Kim <gary@garykim.dev> | 2020-10-01 16:59:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-01 22:59:35 +0200 |
commit | 219a5453f9edaa87aa7aa4b9d5f9c3de9c75b38f (patch) | |
tree | 113553069c5577b4dd96e26b467f4d69a2df6884 /vendor/gomod.garykim.dev/nc-talk/ocs | |
parent | 214a6a13861b9fd495797386f36507373728e577 (diff) | |
download | matterbridge-msglm-219a5453f9edaa87aa7aa4b9d5f9c3de9c75b38f.tar.gz matterbridge-msglm-219a5453f9edaa87aa7aa4b9d5f9c3de9c75b38f.tar.bz2 matterbridge-msglm-219a5453f9edaa87aa7aa4b9d5f9c3de9c75b38f.zip |
Append a suffix if user is a guest user (nctalk) (#1250)
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/message.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/gomod.garykim.dev/nc-talk/ocs/message.go b/vendor/gomod.garykim.dev/nc-talk/ocs/message.go index e23078de..9de28b47 100644 --- a/vendor/gomod.garykim.dev/nc-talk/ocs/message.go +++ b/vendor/gomod.garykim.dev/nc-talk/ocs/message.go @@ -22,6 +22,9 @@ import ( // MessageType describes what kind of message a returned Nextcloud Talk message is type MessageType string +// ActorType describes what kind of actor a returned Nextcloud Talk message is from +type ActorType string + const ( // MessageComment is a Nextcloud Talk message that is a comment MessageComment MessageType = "comment" @@ -31,12 +34,19 @@ const ( // MessageCommand is a Nextcloud Talk message that is a command MessageCommand MessageType = "command" + + // ActorUser is a Nextcloud Talk message sent by a user + ActorUser ActorType = "users" + + // ActorGuest is a Nextcloud Talk message sent by a guest + ActorGuest ActorType = "guests" ) // TalkRoomMessageData describes the data part of a ocs response for a Talk room message type TalkRoomMessageData struct { Message string `json:"message"` ID int `json:"id"` + ActorType ActorType `json:"actorType"` ActorID string `json:"actorId"` ActorDisplayName string `json:"actorDisplayName"` SystemMessage string `json:"systemMessage"` @@ -63,6 +73,17 @@ func (m *TalkRoomMessageData) PlainMessage() string { return tr } +// DisplayName returns the display name for the sender of the message (" (Guest)" is appended if sent by a guest user) +func (m *TalkRoomMessageData) DisplayName() string { + if m.ActorType == ActorGuest { + if m.ActorDisplayName == "" { + return "Guest" + } + return m.ActorDisplayName + " (Guest)" + } + return m.ActorDisplayName +} + // TalkRoomMessage describes an ocs response for a Talk room message type TalkRoomMessage struct { OCS talkRoomMessage `json:"ocs"` |