DismissGroup

This commit is contained in:
withchao
2023-05-19 19:59:39 +08:00
parent 8ec4ebbc32
commit 16475f3a70
5 changed files with 358 additions and 313 deletions
+10 -1
View File
@@ -1055,6 +1055,15 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou
if err := s.CheckGroupAdmin(ctx, req.GroupID); err != nil {
return nil, err
}
if !tokenverify.IsAppManagerUid(ctx) {
user, err := s.GroupDatabase.TakeGroupOwner(ctx, req.GroupID)
if err != nil {
return nil, err
}
if user.UserID != mcontext.GetOpUserID(ctx) {
return nil, errs.ErrNoPermission.Wrap("not group owner")
}
}
group, err := s.GroupDatabase.TakeGroup(ctx, req.GroupID)
if err != nil {
return nil, err
@@ -1062,7 +1071,7 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou
if group.Status == constant.GroupStatusDismissed {
return nil, errs.ErrArgs.Wrap("group status is dismissed")
}
if err := s.GroupDatabase.DismissGroup(ctx, req.GroupID); err != nil {
if err := s.GroupDatabase.DismissGroup(ctx, req.GroupID, req.DeleteMember); err != nil {
return nil, err
}
if group.GroupType == constant.SuperGroup {