9#import <Foundation/Foundation.h>
11#import "AgoraChatCommonDefs.h"
12#import "AgoraChatGroupManagerDelegate.h"
13#import "AgoraChatGroup.h"
14#import "AgoraChatGroupOptions.h"
15#import "AgoraChatCursorResult.h"
16#import "AgoraChatGroupSharedFile.h"
26#pragma mark - Delegate
36 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
44- (void)removeDelegate:(
id _Nonnull)aDelegate;
47#pragma mark - Get Group
76#pragma mark - Get group from server
91 pageSize:(NSInteger)aPageSize
105- (void)getPublicGroupsFromServerWithCursor:(NSString *_Nullable)aCursor
106 pageSize:(NSInteger)aPageSize
120- (
AgoraChatGroup * _Nullable)searchPublicGroupWithId:(NSString *_Nonnull)aGroundId
131- (void)searchPublicGroupWithId:(NSString *_Nonnull)aGroundId
143- (void)getJoinedGroupsCountFromServerWithCompletion:(
void (^_Nullable)(NSInteger groupCount,
AgoraChatError *_Nullable aError))aCompletionBlock;
162- (
AgoraChatGroup * _Nullable)createGroupWithSubject:(NSString *_Nullable)aSubject
163 description:(NSString *_Nullable)aDescription
164 invitees:(NSArray<NSString *> * _Nullable)aInvitees
165 message:(NSString *_Nullable)aMessage
183- (void)createGroupWithSubject:(NSString *_Nullable)aSubject
184 description:(NSString *_Nullable)aDescription
185 invitees:(NSArray<NSString *> * _Nullable)aInvitees
186 message:(NSString *_Nullable)aMessage
190#pragma mark - Fetch Info
203- (
AgoraChatGroup * _Nullable)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
218- (
AgoraChatGroup * _Nullable)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
219 fetchMembers:(BOOL)fetchMembers
232- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
244- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
245 fetchMembers:(BOOL)fetchMembers
263 cursor:(NSString *_Nullable)aCursor
264 pageSize:(NSInteger)aPageSize
277- (void)getGroupMemberListFromServerWithId:(NSString *_Nonnull)aGroupId
278 cursor:(NSString *_Nullable)aCursor
279 pageSize:(NSInteger)aPageSize
295- (NSArray<NSString *> * _Nullable)getGroupBlacklistFromServerWithId:(NSString *_Nonnull)aGroupId
296 pageNumber:(NSInteger)aPageNum
297 pageSize:(NSInteger)aPageSize
312- (void)getGroupBlacklistFromServerWithId:(NSString *_Nonnull)aGroupId
313 pageNumber:(NSInteger)aPageNum
314 pageSize:(NSInteger)aPageSize
315 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
330- (NSArray<NSString *> * _Nullable)getGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
331 pageNumber:(NSInteger)aPageNum
332 pageSize:(NSInteger)aPageSize
347- (void)getGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
348 pageNumber:(NSInteger)aPageNum
349 pageSize:(NSInteger)aPageSize
350 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
364- (void)fetchGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
365 pageNumber:(NSInteger)aPageNum
366 pageSize:(NSInteger)aPageSize
367 completion:(
void (^_Nullable)(NSDictionary<NSString *, NSNumber *> *_Nullable aDict,
AgoraChatError *_Nullable aError))aCompletionBlock;
381 pageNumber:(NSInteger)aPageNum
382 pageSize:(NSInteger)aPageSize
396- (void)getGroupFileListWithId:(NSString *_Nonnull)aGroupId
397 pageNumber:(NSInteger)aPageNum
398 pageSize:(NSInteger)aPageSize
412- (NSArray *)getGroupWhiteListFromServerWithId:(NSString *_Nonnull)aGroupId
424- (void)getGroupWhiteListFromServerWithId:(NSString *_Nonnull)aGroupId
425 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
437- (BOOL)isMemberInWhiteListFromServerWithGroupId:(NSString *_Nonnull)aGroupId
448- (void)isMemberInWhiteListFromServerWithGroupId:(NSString *_Nonnull)aGroupId
449 completion:(
void (^_Nullable)(BOOL inWhiteList,
AgoraChatError *_Nullable aError))aCompletionBlock;
460- (NSString *_Nullable)getGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
471- (void)isMemberInMuteListFromServerWithGroupId:(NSString * _Nonnull)aGroupId
472 completion:(
void (^ _Nonnull)(BOOL inMuteList,
AgoraChatError * _Nullable aError))aCompletionBlock;
482- (void)getGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
483 completion:(
void (^_Nullable)(NSString *aAnnouncement,
AgoraChatError *_Nullable aError))aCompletionBlock;
485#pragma mark - Edit Group
500- (
AgoraChatGroup * _Nullable)addOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
501 toGroup:(NSString *_Nonnull)aGroupId
502 welcomeMessage:(NSString *_Nullable)aWelcomeMessage
515- (void)addMembers:(NSArray<NSString *> * _Nonnull)aUsers
516 toGroup:(NSString *_Nonnull)aGroupId
517 message:(NSString *_Nullable)aMessage
534- (
AgoraChatGroup * _Nullable)removeOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
535 fromGroup:(NSString *_Nonnull)aGroupId
549- (void)removeMembers:(NSArray<NSString *> * _Nonnull)aUsers
550 fromGroup:(NSString *_Nonnull)aGroupId
567- (
AgoraChatGroup * _Nullable)blockOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
568 fromGroup:(NSString *_Nonnull)aGroupId
582- (void)blockMembers:(NSArray<NSString *> * _Nonnull)aMembers
583 fromGroup:(NSString *_Nonnull)aGroupId
601- (
AgoraChatGroup * _Nullable)unblockOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
602 forGroup:(NSString *_Nonnull)aGroupId
616- (void)unblockMembers:(NSArray<NSString *> * _Nonnull)aMembers
617 fromGroup:(NSString *_Nonnull)aGroupId
634- (
AgoraChatGroup * _Nullable)changeGroupSubject:(NSString *_Nullable)aSubject
635 forGroup:(NSString *_Nonnull)aGroupId
649- (void)updateGroupSubject:(NSString *_Nullable)aSubject
650 forGroup:(NSString *_Nonnull)aGroupId
667- (
AgoraChatGroup * _Nullable)changeDescription:(NSString *_Nullable)aDescription
668 forGroup:(NSString *_Nonnull)aGroupId
682- (void)updateDescription:(NSString *_Nullable)aDescription
683 forGroup:(NSString *_Nonnull)aGroupId
696- (void)leaveGroup:(NSString *_Nonnull)aGroupId
707- (void)leaveGroup:(NSString *_Nonnull)aGroupId
708 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
734- (void)destroyGroup:(NSString *_Nonnull)aGroupId
735 finishCompletion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
751- (
AgoraChatGroup * _Nullable)blockGroup:(NSString *_Nonnull)aGroupId
764- (void)blockGroup:(NSString *_Nonnull)aGroupId
778- (
AgoraChatGroup * _Nullable)unblockGroup:(NSString *_Nonnull)aGroupId
789- (void)unblockGroup:(NSString *_Nonnull)aGroupId
807- (
AgoraChatGroup * _Nullable)updateGroupOwner:(NSString *_Nonnull)aGroupId
808 newOwner:(NSString *_Nonnull)aNewOwner
822- (void)updateGroupOwner:(NSString *_Nonnull)aGroupId
823 newOwner:(NSString *_Nonnull)aNewOwner
840 toGroup:(NSString *_Nonnull)aGroupId
856- (void)addAdmin:(NSString *_Nonnull)aAdmin
857 toGroup:(NSString *_Nonnull)aGroupId
874- (
AgoraChatGroup * _Nullable)removeAdmin:(NSString *_Nonnull)aAdmin
875 fromGroup:(NSString *_Nonnull)aGroupId
891- (void)removeAdmin:(NSString *_Nonnull)aAdmin
892 fromGroup:(NSString *_Nonnull)aGroupId
911- (
AgoraChatGroup * _Nullable)muteMembers:(NSArray<NSString *> * _Nonnull)aMuteMembers
912 muteMilliseconds:(NSInteger)aMuteMilliseconds
913 fromGroup:(NSString *_Nonnull)aGroupId
930- (void)muteMembers:(NSArray<NSString *> * _Nonnull)aMuteMembers
931 muteMilliseconds:(NSInteger)aMuteMilliseconds
932 fromGroup:(NSString *_Nonnull)aGroupId
949- (
AgoraChatGroup * _Nullable)unmuteMembers:(NSArray<NSString *> * _Nonnull)aMembers
950 fromGroup:(NSString *_Nonnull)aGroupId
966- (void)unmuteMembers:(NSArray<NSString *> * _Nonnull)aMembers
967 fromGroup:(NSString *_Nonnull)aGroupId
983- (
AgoraChatGroup * _Nullable)muteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
998- (void)muteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1015- (
AgoraChatGroup * _Nullable)unmuteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1031- (void)unmuteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1049- (
AgoraChatGroup * _Nullable)addWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1050 fromGroup:(NSString *_Nonnull)aGroupId
1064- (void)addWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1065 fromGroup:(NSString *_Nonnull)aGroupId
1083- (
AgoraChatGroup * _Nullable)removeWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1084 fromGroup:(NSString *_Nonnull)aGroupId
1100- (void)removeWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1101 fromGroup:(NSString *_Nonnull)aGroupId
1114- (void)uploadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1115 filePath:(NSString* _Nonnull)aFilePath
1116 progress:(
void (^_Nullable)(
int progress))aProgressBlock
1129- (void)downloadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1130 filePath:(NSString *_Nonnull)aFilePath
1131 sharedFileId:(NSString *_Nonnull)aSharedFileId
1132 progress:(
void (^_Nullable)(
int progress))aProgressBlock
1147- (
AgoraChatGroup * _Nullable)removeGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1148 sharedFileId:(NSString *_Nonnull)aSharedFileId
1159- (void)removeGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1160 sharedFileId:(NSString *_Nonnull)aSharedFileId
1177- (
AgoraChatGroup * _Nullable)updateGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
1178 announcement:(NSString *_Nullable)aAnnouncement
1194- (void)updateGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
1195 announcement:(NSString *_Nullable)aAnnouncement
1212- (
AgoraChatGroup * _Nullable)updateGroupExtWithId:(NSString *_Nonnull)aGroupId
1213 ext:(NSString *_Nullable)aExt
1227- (void)updateGroupExtWithId:(NSString *_Nonnull)aGroupId
1228 ext:(NSString *_Nullable)aExt
1231#pragma mark - Edit Public Group
1244- (
AgoraChatGroup * _Nullable)joinPublicGroup:(NSString *_Nonnull)aGroupId
1255- (void)joinPublicGroup:(NSString *_Nonnull)aGroupId
1270- (
AgoraChatGroup * _Nullable)applyJoinPublicGroup:(NSString *_Nonnull)aGroupId
1271 message:(NSString *_Nullable)aMessage
1283- (void)requestToJoinPublicGroup:(NSString *_Nonnull)aGroupId
1284 message:(NSString *_Nullable)aMessage
1287#pragma mark - Application
1302- (
AgoraChatError *)acceptJoinApplication:(NSString *_Nonnull)aGroupId
1303 applicant:(NSString *_Nonnull)aUsername;
1318- (void)approveJoinGroupRequest:(NSString *_Nonnull)aGroupId
1319 sender:(NSString *_Nonnull)aUsername
1336- (
AgoraChatError *)declineJoinApplication:(NSString *_Nonnull)aGroupId
1337 applicant:(NSString *_Nonnull)aUsername
1338 reason:(NSString *_Nullable)aReason;
1354- (void)declineJoinGroupRequest:(NSString *_Nonnull)aGroupId
1355 sender:(NSString *_Nonnull)aUsername
1356 reason:(NSString *_Nullable)aReason
1371- (
AgoraChatGroup * _Nullable)acceptInvitationFromGroup:(NSString *_Nonnull)aGroupId
1372 inviter:(NSString *_Nonnull)aUsername
1386- (void)acceptInvitationFromGroup:(NSString *_Nonnull)aGroupId
1387 inviter:(NSString *_Nonnull)aUsername
1402- (
AgoraChatError *)declineInvitationFromGroup:(NSString *_Nonnull)aGroupId
1403 inviter:(NSString *_Nonnull)aUsername
1404 reason:(NSString *_Nullable)aReason;
1418- (void)declineGroupInvitation:(NSString *_Nonnull)aGroupId
1419 inviter:(NSString *_Nonnull)aInviter
1420 reason:(NSString *_Nullable)aReason
1421 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
1445- (void)getJoinedGroupsFromServerWithPage:(NSInteger)aPageNum
1446 pageSize:(NSInteger)aPageSize
1447 needMemberCount:(BOOL)aNeedMemberCount
1448 needRole:(BOOL)aNeedRole
1451#pragma mark - Group member attributes
1461- (void)setMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId attributes:(NSDictionary<NSString*,NSString*> *_Nonnull)attributes completion:(
void (^_Nullable)(
AgoraChatError *_Nullable error))completionBlock;
1474- (void)fetchMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId completion:(
void (^ _Nullable)(NSDictionary<NSString *,NSString *> * _Nullable,
AgoraChatError * _Nullable))completionBlock;
1487- (void)fetchMembersAttributes:(NSString *_Nonnull)groupId userIds:(NSArray<__kindof NSString *> *_Nonnull)userIds keys:(NSArray<__kindof NSString *> *_Nonnull)keys completion:(
void (^_Nullable)(NSDictionary<NSString*,NSDictionary<NSString*,NSString*>*> *_Nullable attributes,
AgoraChatError *_Nullable error))completionBlock;
Definition: AgoraChatCursorResult.h:16
Definition: AgoraChatError.h:18
Definition: AgoraChatGroup.h:31
Definition: AgoraChatGroupOptions.h:30
Definition: AgoraChatGroupSharedFile.h:15
Definition: AgoraChatGroupManagerDelegate.h:28
Definition: IAgoraChatGroupManager.h:22
void cleanAllGroupsFromDB()
NSArray< AgoraChatGroup * > *_Nullable getJoinedGroups()
Definition: IAgoraChatPushManager.h:25