TIMGroupInfo+TUIDataProvider.m 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Created by Tencent on 2023/06/09.
  2. // Copyright © 2023 Tencent. All rights reserved.
  3. #import <TUICore/TUIGlobalization.h>
  4. #import "TIMGroupInfo+TUIDataProvider.h"
  5. @implementation V2TIMGroupInfo (TUIDataProvider)
  6. - (BOOL)isMeOwner {
  7. return [self.owner isEqualToString:[[V2TIMManager sharedInstance] getLoginUser]] || (self.role == V2TIM_GROUP_MEMBER_ROLE_ADMIN);
  8. }
  9. - (BOOL)isPrivate {
  10. return [self.groupType isEqualToString:@"Work"];
  11. }
  12. - (BOOL)canInviteMember {
  13. return self.groupApproveOpt != V2TIM_GROUP_ADD_FORBID;
  14. }
  15. - (BOOL)canRemoveMember {
  16. return [self isMeOwner] && (self.memberCount > 1);
  17. }
  18. - (BOOL)canDismissGroup {
  19. if ([self isPrivate]) {
  20. return NO;
  21. } else {
  22. if ([self.owner isEqualToString:[[V2TIMManager sharedInstance] getLoginUser]] || (self.role == V2TIM_GROUP_MEMBER_ROLE_SUPER)) {
  23. return YES;
  24. } else {
  25. return NO;
  26. }
  27. }
  28. }
  29. - (BOOL)canSupportSetAdmain {
  30. BOOL isMeSuper = [self.owner isEqualToString:[[V2TIMManager sharedInstance] getLoginUser]] || (self.role == V2TIM_GROUP_MEMBER_ROLE_SUPER);
  31. BOOL isCurrentGroupTypeSupportSetAdmain = ([self.groupType isEqualToString:@"Public"] || [self.groupType isEqualToString:@"Meeting"] ||
  32. [self.groupType isEqualToString:@"Community"] || [self.groupType isEqualToString:@"Private"]);
  33. return isMeSuper && isCurrentGroupTypeSupportSetAdmain && (self.memberCount > 1);
  34. }
  35. @end