Skip to content

Commit 91a99b7

Browse files
authored
Revert "[CHA-941]: supporting passing member (#334)" (#335)
This reverts commit cc27f8e.
1 parent cc27f8e commit 91a99b7

11 files changed

+71
-90
lines changed

ban_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestShadowBanUser(t *testing.T) {
1414
userC := randomUser(t, c)
1515
ctx := context.Background()
1616

17-
ch := initChannel(t, c, userA, userB, userC)
17+
ch := initChannel(t, c, userA.ID, userB.ID, userC.ID)
1818
resp, err := c.CreateChannel(ctx, ch.Type, ch.ID, userA.ID, nil)
1919
require.NoError(t, err)
2020

@@ -113,7 +113,7 @@ func TestChannelBanUnban(t *testing.T) {
113113
c := initClient(t)
114114
target := randomUser(t, c)
115115
user := randomUser(t, c)
116-
ch := initChannel(t, c, user, target)
116+
ch := initChannel(t, c, user.ID, target.ID)
117117
ctx := context.Background()
118118

119119
_, err := ch.BanUser(ctx, target.ID, user.ID, BanWithReason("spammer"), BanWithExpiration(60))

channel.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ type ChannelRequest struct {
155155
AutoTranslationLanguage string `json:"auto_translation_language,omitempty"`
156156
Frozen *bool `json:"frozen,omitempty"`
157157
Disabled *bool `json:"disabled,omitempty"`
158-
Members []ChannelMember `json:"members,omitempty"`
158+
Members []string `json:"members,omitempty"`
159159
Invites []string `json:"invites,omitempty"`
160160
ExtraData map[string]interface{} `json:"-"`
161161
}
@@ -374,7 +374,7 @@ func (ch *Channel) GetMessages(ctx context.Context, messageIDs []string) (*GetMe
374374
}
375375

376376
type addMembersOptions struct {
377-
Members []ChannelMember `json:"add_members"`
377+
MemberIDs []string `json:"add_members"`
378378

379379
RolesAssignement []*RoleAssignment `json:"assign_roles"`
380380
HideHistory bool `json:"hide_history"`
@@ -402,13 +402,13 @@ func AddMembersWithRolesAssignment(assignements []*RoleAssignment) func(*addMemb
402402
}
403403

404404
// AddMembers adds members with given user IDs to the channel.
405-
func (ch *Channel) AddMembers(ctx context.Context, members []ChannelMember, options ...AddMembersOptions) (*Response, error) {
406-
if len(members) == 0 {
405+
func (ch *Channel) AddMembers(ctx context.Context, userIDs []string, options ...AddMembersOptions) (*Response, error) {
406+
if len(userIDs) == 0 {
407407
return nil, errors.New("user IDs are empty")
408408
}
409409

410410
opts := &addMembersOptions{
411-
Members: members,
411+
MemberIDs: userIDs,
412412
}
413413

414414
for _, fn := range options {
@@ -810,8 +810,8 @@ func (c *Client) CreateChannel(ctx context.Context, chanType, chanID, userID str
810810
}
811811

812812
// CreateChannelWithMembers creates new channel of given type and id or returns already created one.
813-
func (c *Client) CreateChannelWithMembers(ctx context.Context, chanType, chanID, userID string, members ...ChannelMember) (*CreateChannelResponse, error) {
814-
return c.CreateChannel(ctx, chanType, chanID, userID, &ChannelRequest{Members: members})
813+
func (c *Client) CreateChannelWithMembers(ctx context.Context, chanType, chanID, userID string, memberIDs ...string) (*CreateChannelResponse, error) {
814+
return c.CreateChannel(ctx, chanType, chanID, userID, &ChannelRequest{Members: memberIDs})
815815
}
816816

817817
type SendFileRequest struct {

channel_test.go

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ func (ch *Channel) refresh(ctx context.Context) error {
1919

2020
func TestClient_TestQuery(t *testing.T) {
2121
c := initClient(t)
22-
members := randomUsers(t, c, 3)
23-
ch := initChannel(t, c, members...)
22+
membersID := randomUsersID(t, c, 3)
23+
ch := initChannel(t, c, membersID...)
2424
ctx := context.Background()
2525
msg, err := ch.SendMessage(ctx, &Message{Text: "test message", Pinned: true}, ch.CreatedBy.ID)
2626
require.NoError(t, err)
@@ -51,8 +51,8 @@ func TestClient_CreateChannel(t *testing.T) {
5151
ctx := context.Background()
5252

5353
t.Run("get existing channel", func(t *testing.T) {
54-
members := randomUsers(t, c, 3)
55-
ch := initChannel(t, c, members...)
54+
membersID := randomUsersID(t, c, 3)
55+
ch := initChannel(t, c, membersID...)
5656
resp, err := c.CreateChannel(ctx, ch.Type, ch.ID, userID, nil)
5757
require.NoError(t, err, "create channel", ch)
5858

@@ -77,12 +77,12 @@ func TestClient_CreateChannel(t *testing.T) {
7777
{"create channel without ID and members", "messaging", "", userID, nil, nil, true},
7878
{
7979
"create channel without ID but with members", "messaging", "", userID,
80-
&ChannelRequest{Members: randomUsersChannelMember(t, c, 2)},
80+
&ChannelRequest{Members: randomUsersID(t, c, 2)},
8181
nil, false,
8282
},
8383
{
8484
"create channel with HideForCreator", "messaging", "", userID,
85-
&ChannelRequest{Members: []ChannelMember{ChannelMember{UserID: userID}, randomUsersChannelMember(t, c, 1)[0]}},
85+
&ChannelRequest{Members: []string{userID, randomUsersID(t, c, 1)[0]}},
8686
[]CreateChannelOptionFunc{HideForCreator(true)},
8787
false,
8888
},
@@ -115,7 +115,7 @@ func TestChannel_GetManyMessages(t *testing.T) {
115115
c := initClient(t)
116116
userA := randomUser(t, c)
117117
userB := randomUser(t, c)
118-
ch := initChannel(t, c, userA, userB)
118+
ch := initChannel(t, c, userA.ID, userB.ID)
119119

120120
msg := &Message{Text: "test message"}
121121
messageResp, err := ch.SendMessage(ctx, msg, userB.ID)
@@ -137,22 +137,19 @@ func TestChannel_AddMembers(t *testing.T) {
137137

138138
assert.Empty(t, ch.Members, "members are empty")
139139

140-
user := randomUsersChannelMember(t, c, 1)
140+
user := randomUser(t, c)
141141

142-
msg := &Message{
143-
Text: "some members",
144-
User: &User{ID: user[0].UserID},
145-
}
142+
msg := &Message{Text: "some members", User: &User{ID: user.ID}}
146143
_, err = ch.AddMembers(ctx,
147-
user,
144+
[]string{user.ID},
148145
AddMembersWithMessage(msg),
149146
AddMembersWithHideHistory(),
150147
)
151148
require.NoError(t, err, "add members")
152149

153150
// refresh channel state
154151
require.NoError(t, ch.refresh(ctx), "refresh channel")
155-
assert.Equal(t, user[0].UserID, ch.Members[0].User.ID, "members contain user id")
152+
assert.Equal(t, user.ID, ch.Members[0].User.ID, "members contain user id")
156153
}
157154

158155
func TestChannel_AssignRoles(t *testing.T) {
@@ -190,9 +187,7 @@ func TestChannel_QueryMembers(t *testing.T) {
190187
id := prefix + name
191188
_, err := c.UpsertUser(ctx, &User{ID: id, Name: id})
192189
require.NoError(t, err)
193-
_, err = ch.AddMembers(ctx, []ChannelMember{
194-
{UserID: id, User: &User{ID: id, Name: id}},
195-
})
190+
_, err = ch.AddMembers(ctx, []string{id})
196191
require.NoError(t, err)
197192
}
198193

@@ -490,9 +485,9 @@ func TestChannel_PartialUpdate(t *testing.T) {
490485
users := randomUsers(t, c, 5)
491486
ctx := context.Background()
492487

493-
members := make([]ChannelMember, 0, len(users))
488+
members := make([]string, 0, len(users))
494489
for i := range users {
495-
members = append(members, ChannelMember{UserID: users[i].ID})
490+
members = append(members, users[i].ID)
496491
}
497492

498493
req := &ChannelRequest{Members: members, ExtraData: map[string]interface{}{"color": "blue", "age": 30}}
@@ -521,17 +516,17 @@ func TestChannel_MemberPartialUpdate(t *testing.T) {
521516
users := randomUsers(t, c, 5)
522517
ctx := context.Background()
523518

524-
members := make([]ChannelMember, 0, len(users))
519+
members := make([]string, 0, len(users))
525520
for i := range users {
526-
members = append(members, ChannelMember{UserID: users[i].ID})
521+
members = append(members, users[i].ID)
527522
}
528523

529524
req := &ChannelRequest{Members: members}
530525
resp, err := c.CreateChannel(ctx, "team", randomString(12), randomUser(t, c).ID, req)
531526
require.NoError(t, err)
532527

533528
ch := resp.Channel
534-
member, err := ch.PartialUpdateMember(ctx, members[0].UserID, PartialUpdate{
529+
member, err := ch.PartialUpdateMember(ctx, members[0], PartialUpdate{
535530
Set: map[string]interface{}{
536531
"color": "red",
537532
},
@@ -540,7 +535,7 @@ func TestChannel_MemberPartialUpdate(t *testing.T) {
540535
require.NoError(t, err)
541536
require.Equal(t, "red", member.ChannelMember.ExtraData["color"])
542537

543-
member, err = ch.PartialUpdateMember(ctx, members[0].UserID, PartialUpdate{
538+
member, err = ch.PartialUpdateMember(ctx, members[0], PartialUpdate{
544539
Set: map[string]interface{}{
545540
"age": "18",
546541
},
@@ -627,16 +622,16 @@ func TestChannel_AcceptInvite(t *testing.T) {
627622
ctx := context.Background()
628623
users := randomUsers(t, c, 5)
629624

630-
members := make([]ChannelMember, 0, len(users))
625+
members := make([]string, 0, len(users))
631626
for i := range users {
632-
members = append(members, ChannelMember{UserID: users[i].ID})
627+
members = append(members, users[i].ID)
633628
}
634629

635-
req := &ChannelRequest{Members: members, Invites: []string{members[0].UserID}}
630+
req := &ChannelRequest{Members: members, Invites: []string{members[0]}}
636631
resp, err := c.CreateChannel(ctx, "team", randomString(12), randomUser(t, c).ID, req)
637632

638633
require.NoError(t, err, "create channel")
639-
_, err = resp.Channel.AcceptInvite(ctx, members[0].UserID, &Message{Text: "accepted", User: &User{ID: members[0].UserID}})
634+
_, err = resp.Channel.AcceptInvite(ctx, members[0], &Message{Text: "accepted", User: &User{ID: members[0]}})
640635
require.NoError(t, err, "accept invite")
641636
}
642637

@@ -645,16 +640,16 @@ func TestChannel_RejectInvite(t *testing.T) {
645640
ctx := context.Background()
646641
users := randomUsers(t, c, 5)
647642

648-
members := make([]ChannelMember, 0, len(users))
643+
members := make([]string, 0, len(users))
649644
for i := range users {
650-
members = append(members, ChannelMember{UserID: users[i].ID})
645+
members = append(members, users[i].ID)
651646
}
652647

653-
req := &ChannelRequest{Members: members, Invites: []string{members[0].UserID}}
648+
req := &ChannelRequest{Members: members, Invites: []string{members[0]}}
654649
resp, err := c.CreateChannel(ctx, "team", randomString(12), randomUser(t, c).ID, req)
655650

656651
require.NoError(t, err, "create channel")
657-
_, err = resp.Channel.RejectInvite(ctx, members[0].UserID, &Message{Text: "rejected", User: &User{ID: members[0].UserID}})
652+
_, err = resp.Channel.RejectInvite(ctx, members[0], &Message{Text: "rejected", User: &User{ID: members[0]}})
658653
require.NoError(t, err, "reject invite")
659654
}
660655

@@ -663,21 +658,21 @@ func TestChannel_Mute_Unmute(t *testing.T) {
663658
ctx := context.Background()
664659
users := randomUsers(t, c, 5)
665660

666-
members := make([]*User, 0, len(users))
661+
members := make([]string, 0, len(users))
667662
for i := range users {
668-
members = append(members, users[i])
663+
members = append(members, users[i].ID)
669664
}
670665
ch := initChannel(t, c, members...)
671666

672667
// mute the channel
673-
mute, err := ch.Mute(ctx, members[0].ID, nil)
668+
mute, err := ch.Mute(ctx, members[0], nil)
674669
require.NoError(t, err, "mute channel")
675670

676671
require.Equal(t, ch.CID, mute.ChannelMute.Channel.CID)
677-
require.Equal(t, members[0].ID, mute.ChannelMute.User.ID)
672+
require.Equal(t, members[0], mute.ChannelMute.User.ID)
678673
// query for muted the channel
679674
queryChannResp, err := c.QueryChannels(ctx, &QueryOption{
680-
UserID: members[0].ID,
675+
UserID: members[0],
681676
Filter: map[string]interface{}{
682677
"muted": true,
683678
"cid": ch.CID,
@@ -690,12 +685,12 @@ func TestChannel_Mute_Unmute(t *testing.T) {
690685
require.Equal(t, channels[0].CID, ch.CID)
691686

692687
// unmute the channel
693-
_, err = ch.Unmute(ctx, members[0].ID)
688+
_, err = ch.Unmute(ctx, members[0])
694689
require.NoError(t, err, "mute channel")
695690

696691
// query for unmuted the channel should return 1 results
697692
queryChannResp, err = c.QueryChannels(ctx, &QueryOption{
698-
UserID: members[0].ID,
693+
UserID: members[0],
699694
Filter: map[string]interface{}{
700695
"muted": false,
701696
"cid": ch.CID,
@@ -711,9 +706,9 @@ func TestChannel_Pin(t *testing.T) {
711706
ctx := context.Background()
712707
users := randomUsers(t, c, 5)
713708

714-
members := make([]*User, 0, len(users))
709+
members := make([]string, 0, len(users))
715710
for i := range users {
716-
members = append(members, users[i])
711+
members = append(members, users[i].ID)
717712
}
718713
ch := initChannel(t, c, members...)
719714

@@ -762,9 +757,9 @@ func TestChannel_Archive(t *testing.T) {
762757
ctx := context.Background()
763758
users := randomUsers(t, c, 5)
764759

765-
members := make([]*User, 0, len(users))
760+
members := make([]string, 0, len(users))
766761
for i := range users {
767-
members = append(members, users[i])
762+
members = append(members, users[i].ID)
768763
}
769764
ch := initChannel(t, c, members...)
770765

client_test.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,13 @@ func initClient(t *testing.T) *Client {
1919
return c
2020
}
2121

22-
func initChannel(t *testing.T, c *Client, users ...*User) *Channel {
22+
func initChannel(t *testing.T, c *Client, membersID ...string) *Channel {
2323
t.Helper()
2424

2525
owner := randomUser(t, c)
2626
ctx := context.Background()
27-
var members []ChannelMember
28-
for _, member := range users {
29-
members = append(members, ChannelMember{UserID: member.ID, User: member})
30-
}
31-
resp, err := c.CreateChannelWithMembers(ctx, "team", randomString(12), owner.ID, members...)
27+
28+
resp, err := c.CreateChannelWithMembers(ctx, "team", randomString(12), owner.ID, membersID...)
3229
require.NoError(t, err, "create channel")
3330

3431
t.Cleanup(func() {

draft_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ func TestClient_QueryDraftsWithFilters(t *testing.T) {
166166

167167
// Create a channel
168168
user := randomUser(t, c)
169-
channel1 := initChannel(t, c, user)
169+
channel1 := initChannel(t, c, user.ID)
170170

171171
// Create a draft message
172172
draft1 := &messageRequestMessage{
@@ -176,7 +176,7 @@ func TestClient_QueryDraftsWithFilters(t *testing.T) {
176176
require.NoError(t, err)
177177

178178
// Create a second channel
179-
channel2 := initChannel(t, c, user)
179+
channel2 := initChannel(t, c, user.ID)
180180

181181
// Create a draft in the second channel
182182
draft2 := &messageRequestMessage{

message_history_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestMessageHistory(t *testing.T) {
1414
user1 := users[0]
1515
user2 := users[1]
1616

17-
ch := initChannel(t, client, user1)
17+
ch := initChannel(t, client, user1.ID)
1818

1919
ctx := context.Background()
2020
initialText := "initial text"

0 commit comments

Comments
 (0)