Skip to content

Commit 1e2caf6

Browse files
author
simonhao
committed
openapi/v1: 删除成员接口新增选项 (merge request !25)
Squash merge branch 'feature_20220117_simonhao_members_story_871618069' into 'master' openapi/v1: 删除成员接口新增选项 --story=871618069 TAPD: --story=871618069
1 parent 53bfd8f commit 1e2caf6

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

dto/member.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,18 @@ type Member struct {
88
User *User `json:"user"`
99
Roles []string `json:"roles"`
1010
}
11+
12+
// MemberDeleteOpts 删除成员额外参数
13+
type MemberDeleteOpts struct {
14+
AddBlackList bool `json:"add_blacklist"`
15+
}
16+
17+
// MemberDeleteOption 删除成员选项
18+
type MemberDeleteOption func(*MemberDeleteOpts)
19+
20+
// WithAddBlackList 将当前成员同时添加到频道黑名单中
21+
func WithAddBlackList(b bool) MemberDeleteOption {
22+
return func(o *MemberDeleteOpts) {
23+
o.AddBlackList = b
24+
}
25+
}

openapi/iface.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ type GuildAPI interface {
6363
Guild(ctx context.Context, guildID string) (*dto.Guild, error)
6464
GuildMember(ctx context.Context, guildID, userID string) (*dto.Member, error)
6565
GuildMembers(ctx context.Context, guildID string, pager *dto.GuildMembersPager) ([]*dto.Member, error)
66-
DeleteGuildMember(ctx context.Context, guildID, userID string) error
66+
DeleteGuildMember(ctx context.Context, guildID, userID string, opts ...dto.MemberDeleteOption) error
6767
// 频道禁言
6868
GuildMute(ctx context.Context, guildID string, mute *dto.UpdateGuildMute) error
6969
}

openapi/v1/member.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,16 @@ func (o *openAPI) GuildMembers(
8181
}
8282

8383
// DeleteGuildMember 将指定成员踢出频道
84-
func (o *openAPI) DeleteGuildMember(ctx context.Context, guildID, userID string) error {
84+
func (o *openAPI) DeleteGuildMember(ctx context.Context, guildID, userID string, opts ...dto.MemberDeleteOption) error {
85+
opt := &dto.MemberDeleteOpts{}
86+
for _, o := range opts {
87+
o(opt)
88+
}
8589
_, err := o.request(ctx).
8690
SetResult(dto.Member{}).
8791
SetPathParam("guild_id", guildID).
8892
SetPathParam("user_id", userID).
93+
SetBody(opt).
8994
Delete(getURL(guildMemberURI, o.sandbox))
9095
return err
9196
}

0 commit comments

Comments
 (0)