From dcbb33ca127bc212107d8730796069653b871210 Mon Sep 17 00:00:00 2001 From: Lennart <1247198+totalimmersion@users.noreply.github.com> Date: Wed, 13 Dec 2023 07:11:25 +0100 Subject: [PATCH] feat: keep channel hidden (#261) --- message.go | 7 +++++++ message_test.go | 25 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/message.go b/message.go index e0e4094..406f3dd 100644 --- a/message.go +++ b/message.go @@ -120,6 +120,7 @@ type messageRequest struct { Pending bool `json:"pending,omitempty"` IsPendingMessage bool `json:"is_pending_message,omitempty"` PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"` + KeepChannelHidden bool `json:"keep_channel_hidden,omitempty"` } type messageRequestMessage struct { @@ -234,6 +235,12 @@ func MessagePendingMessageMetadata(metadata map[string]string) SendMessageOption } } +func KeepChannelHidden(r *messageRequest) { + if r != nil { + r.KeepChannelHidden = true + } +} + type MessageResponse struct { Message *Message `json:"message"` PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"` diff --git a/message_test.go b/message_test.go index dfe472a..379a8ac 100644 --- a/message_test.go +++ b/message_test.go @@ -121,3 +121,28 @@ func TestClient_PinMessage(t *testing.T) { require.Zero(t, msg.PinnedAt) require.Zero(t, msg.PinnedBy) } + +func TestClient_SendMessage_KeepChannelHidden(t *testing.T) { + c := initClient(t) + user := randomUser(t, c) + + ctx := context.Background() + + ch := initChannel(t, c, user.ID) + resp, err := c.CreateChannel(ctx, ch.Type, ch.ID, user.ID, nil) + require.NoError(t, err) + + _, err = resp.Channel.Hide(ctx, user.ID) + require.NoError(t, err) + + msg := &Message{Text: "test message"} + _, err = resp.Channel.SendMessage(ctx, msg, user.ID, KeepChannelHidden) + require.NoError(t, err) + + result, err := c.QueryChannels(ctx, &QueryOption{ + Filter: map[string]interface{}{"cid": resp.Channel.CID}, + UserID: user.ID, + }) + require.NoError(t, err) + require.Len(t, result.Channels, 0) +}