Skip to content

Commit dcbb33c

Browse files
feat: keep channel hidden (#261)
1 parent 8528214 commit dcbb33c

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

message.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ type messageRequest struct {
120120
Pending bool `json:"pending,omitempty"`
121121
IsPendingMessage bool `json:"is_pending_message,omitempty"`
122122
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`
123+
KeepChannelHidden bool `json:"keep_channel_hidden,omitempty"`
123124
}
124125

125126
type messageRequestMessage struct {
@@ -234,6 +235,12 @@ func MessagePendingMessageMetadata(metadata map[string]string) SendMessageOption
234235
}
235236
}
236237

238+
func KeepChannelHidden(r *messageRequest) {
239+
if r != nil {
240+
r.KeepChannelHidden = true
241+
}
242+
}
243+
237244
type MessageResponse struct {
238245
Message *Message `json:"message"`
239246
PendingMessageMetadata map[string]string `json:"pending_message_metadata,omitempty"`

message_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,28 @@ func TestClient_PinMessage(t *testing.T) {
121121
require.Zero(t, msg.PinnedAt)
122122
require.Zero(t, msg.PinnedBy)
123123
}
124+
125+
func TestClient_SendMessage_KeepChannelHidden(t *testing.T) {
126+
c := initClient(t)
127+
user := randomUser(t, c)
128+
129+
ctx := context.Background()
130+
131+
ch := initChannel(t, c, user.ID)
132+
resp, err := c.CreateChannel(ctx, ch.Type, ch.ID, user.ID, nil)
133+
require.NoError(t, err)
134+
135+
_, err = resp.Channel.Hide(ctx, user.ID)
136+
require.NoError(t, err)
137+
138+
msg := &Message{Text: "test message"}
139+
_, err = resp.Channel.SendMessage(ctx, msg, user.ID, KeepChannelHidden)
140+
require.NoError(t, err)
141+
142+
result, err := c.QueryChannels(ctx, &QueryOption{
143+
Filter: map[string]interface{}{"cid": resp.Channel.CID},
144+
UserID: user.ID,
145+
})
146+
require.NoError(t, err)
147+
require.Len(t, result.Channels, 0)
148+
}

0 commit comments

Comments
 (0)