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
184- (void)createGroupWithSubject:(NSString *_Nullable)subject
185 avatar:(NSString *_Nullable)avatar
186 description:(NSString *_Nullable)description
187 invitees:(NSArray<NSString *> * _Nullable)invitees
188 message:(NSString *_Nullable)message
206- (void)createGroupWithSubject:(NSString *_Nullable)aSubject
207 description:(NSString *_Nullable)aDescription
208 invitees:(NSArray<NSString *> * _Nullable)aInvitees
209 message:(NSString *_Nullable)aMessage
213#pragma mark - Fetch Info
226- (
AgoraChatGroup * _Nullable)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
241- (
AgoraChatGroup * _Nullable)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
242 fetchMembers:(BOOL)fetchMembers
255- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
267- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
268 fetchMembers:(BOOL)fetchMembers
286 cursor:(NSString *_Nullable)aCursor
287 pageSize:(NSInteger)aPageSize
300- (void)getGroupMemberListFromServerWithId:(NSString *_Nonnull)aGroupId
301 cursor:(NSString *_Nullable)aCursor
302 pageSize:(NSInteger)aPageSize
315- (void)fetchGroupMemberInfoListFromServerWithGroupId:(NSString *_Nonnull)groupId
316 cursor:(NSString *_Nonnull)cursor
317 limit:(NSInteger)limit
333- (NSArray<NSString *> * _Nullable)getGroupBlacklistFromServerWithId:(NSString *_Nonnull)aGroupId
334 pageNumber:(NSInteger)aPageNum
335 pageSize:(NSInteger)aPageSize
350- (void)getGroupBlacklistFromServerWithId:(NSString *_Nonnull)aGroupId
351 pageNumber:(NSInteger)aPageNum
352 pageSize:(NSInteger)aPageSize
353 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
368- (NSArray<NSString *> * _Nullable)getGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
369 pageNumber:(NSInteger)aPageNum
370 pageSize:(NSInteger)aPageSize
385- (void)getGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
386 pageNumber:(NSInteger)aPageNum
387 pageSize:(NSInteger)aPageSize
388 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
402- (void)fetchGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
403 pageNumber:(NSInteger)aPageNum
404 pageSize:(NSInteger)aPageSize
405 completion:(
void (^_Nullable)(NSDictionary<NSString *, NSNumber *> *_Nullable aDict,
AgoraChatError *_Nullable aError))aCompletionBlock;
419 pageNumber:(NSInteger)aPageNum
420 pageSize:(NSInteger)aPageSize
434- (void)getGroupFileListWithId:(NSString *_Nonnull)aGroupId
435 pageNumber:(NSInteger)aPageNum
436 pageSize:(NSInteger)aPageSize
450- (NSArray *)getGroupWhiteListFromServerWithId:(NSString *_Nonnull)aGroupId
462- (void)getGroupWhiteListFromServerWithId:(NSString *_Nonnull)aGroupId
463 completion:(
void (^_Nullable)(NSArray<NSString *> * _Nullable aList,
AgoraChatError *_Nullable aError))aCompletionBlock;
475- (BOOL)isMemberInWhiteListFromServerWithGroupId:(NSString *_Nonnull)aGroupId
486- (void)isMemberInWhiteListFromServerWithGroupId:(NSString *_Nonnull)aGroupId
487 completion:(
void (^_Nullable)(BOOL inWhiteList,
AgoraChatError *_Nullable aError))aCompletionBlock;
498- (NSString *_Nullable)getGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
509- (void)isMemberInMuteListFromServerWithGroupId:(NSString * _Nonnull)aGroupId
510 completion:(
void (^ _Nonnull)(BOOL inMuteList,
AgoraChatError * _Nullable aError))aCompletionBlock;
520- (void)getGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
521 completion:(
void (^_Nullable)(NSString *aAnnouncement,
AgoraChatError *_Nullable aError))aCompletionBlock;
523#pragma mark - Edit Group
538- (
AgoraChatGroup * _Nullable)addOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
539 toGroup:(NSString *_Nonnull)aGroupId
540 welcomeMessage:(NSString *_Nullable)aWelcomeMessage
553- (void)addMembers:(NSArray<NSString *> * _Nonnull)aUsers
554 toGroup:(NSString *_Nonnull)aGroupId
555 message:(NSString *_Nullable)aMessage
572- (
AgoraChatGroup * _Nullable)removeOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
573 fromGroup:(NSString *_Nonnull)aGroupId
587- (void)removeMembers:(NSArray<NSString *> * _Nonnull)aUsers
588 fromGroup:(NSString *_Nonnull)aGroupId
605- (
AgoraChatGroup * _Nullable)blockOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
606 fromGroup:(NSString *_Nonnull)aGroupId
620- (void)blockMembers:(NSArray<NSString *> * _Nonnull)aMembers
621 fromGroup:(NSString *_Nonnull)aGroupId
639- (
AgoraChatGroup * _Nullable)unblockOccupants:(NSArray<NSString *> * _Nonnull)aOccupants
640 forGroup:(NSString *_Nonnull)aGroupId
654- (void)unblockMembers:(NSArray<NSString *> * _Nonnull)aMembers
655 fromGroup:(NSString *_Nonnull)aGroupId
672- (
AgoraChatGroup * _Nullable)changeGroupSubject:(NSString *_Nullable)aSubject
673 forGroup:(NSString *_Nonnull)aGroupId
687- (void)updateGroupAvatar:(NSString *_Nullable)avatar
688 groupId:(NSString *_Nonnull)groupId
705- (
AgoraChatGroup * _Nullable)changeDescription:(NSString *_Nullable)aDescription
706 forGroup:(NSString *_Nonnull)aGroupId
720- (void)updateDescription:(NSString *_Nullable)aDescription
721 forGroup:(NSString *_Nonnull)aGroupId
734- (void)leaveGroup:(NSString *_Nonnull)aGroupId
745- (void)leaveGroup:(NSString *_Nonnull)aGroupId
746 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
772- (void)destroyGroup:(NSString *_Nonnull)aGroupId
773 finishCompletion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
789- (
AgoraChatGroup * _Nullable)blockGroup:(NSString *_Nonnull)aGroupId
802- (void)blockGroup:(NSString *_Nonnull)aGroupId
816- (
AgoraChatGroup * _Nullable)unblockGroup:(NSString *_Nonnull)aGroupId
827- (void)unblockGroup:(NSString *_Nonnull)aGroupId
845- (
AgoraChatGroup * _Nullable)updateGroupOwner:(NSString *_Nonnull)aGroupId
846 newOwner:(NSString *_Nonnull)aNewOwner
860- (void)updateGroupOwner:(NSString *_Nonnull)aGroupId
861 newOwner:(NSString *_Nonnull)aNewOwner
878 toGroup:(NSString *_Nonnull)aGroupId
894- (void)addAdmin:(NSString *_Nonnull)aAdmin
895 toGroup:(NSString *_Nonnull)aGroupId
912- (
AgoraChatGroup * _Nullable)removeAdmin:(NSString *_Nonnull)aAdmin
913 fromGroup:(NSString *_Nonnull)aGroupId
929- (void)removeAdmin:(NSString *_Nonnull)aAdmin
930 fromGroup:(NSString *_Nonnull)aGroupId
949- (
AgoraChatGroup * _Nullable)muteMembers:(NSArray<NSString *> * _Nonnull)aMuteMembers
950 muteMilliseconds:(NSInteger)aMuteMilliseconds
951 fromGroup:(NSString *_Nonnull)aGroupId
968- (void)muteMembers:(NSArray<NSString *> * _Nonnull)aMuteMembers
969 muteMilliseconds:(NSInteger)aMuteMilliseconds
970 fromGroup:(NSString *_Nonnull)aGroupId
987- (
AgoraChatGroup * _Nullable)unmuteMembers:(NSArray<NSString *> * _Nonnull)aMembers
988 fromGroup:(NSString *_Nonnull)aGroupId
1004- (void)unmuteMembers:(NSArray<NSString *> * _Nonnull)aMembers
1005 fromGroup:(NSString *_Nonnull)aGroupId
1021- (
AgoraChatGroup * _Nullable)muteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1036- (void)muteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1053- (
AgoraChatGroup * _Nullable)unmuteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1069- (void)unmuteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
1087- (
AgoraChatGroup * _Nullable)addWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1088 fromGroup:(NSString *_Nonnull)aGroupId
1102- (void)addWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1103 fromGroup:(NSString *_Nonnull)aGroupId
1121- (
AgoraChatGroup * _Nullable)removeWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1122 fromGroup:(NSString *_Nonnull)aGroupId
1138- (void)removeWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
1139 fromGroup:(NSString *_Nonnull)aGroupId
1152- (void)uploadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1153 filePath:(NSString* _Nonnull)aFilePath
1154 progress:(
void (^_Nullable)(
int progress))aProgressBlock
1167- (void)downloadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1168 filePath:(NSString *_Nonnull)aFilePath
1169 sharedFileId:(NSString *_Nonnull)aSharedFileId
1170 progress:(
void (^_Nullable)(
int progress))aProgressBlock
1185- (
AgoraChatGroup * _Nullable)removeGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1186 sharedFileId:(NSString *_Nonnull)aSharedFileId
1197- (void)removeGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1198 sharedFileId:(NSString *_Nonnull)aSharedFileId
1215- (
AgoraChatGroup * _Nullable)updateGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
1216 announcement:(NSString *_Nullable)aAnnouncement
1232- (void)updateGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
1233 announcement:(NSString *_Nullable)aAnnouncement
1250- (
AgoraChatGroup * _Nullable)updateGroupExtWithId:(NSString *_Nonnull)aGroupId
1251 ext:(NSString *_Nullable)aExt
1265- (void)updateGroupExtWithId:(NSString *_Nonnull)aGroupId
1266 ext:(NSString *_Nullable)aExt
1269#pragma mark - Edit Public Group
1282- (
AgoraChatGroup * _Nullable)joinPublicGroup:(NSString *_Nonnull)aGroupId
1293- (void)joinPublicGroup:(NSString *_Nonnull)aGroupId
1308- (
AgoraChatGroup * _Nullable)applyJoinPublicGroup:(NSString *_Nonnull)aGroupId
1309 message:(NSString *_Nullable)aMessage
1321- (void)requestToJoinPublicGroup:(NSString *_Nonnull)aGroupId
1322 message:(NSString *_Nullable)aMessage
1325#pragma mark - Application
1340- (
AgoraChatError *)acceptJoinApplication:(NSString *_Nonnull)aGroupId
1341 applicant:(NSString *_Nonnull)aUsername;
1356- (void)approveJoinGroupRequest:(NSString *_Nonnull)aGroupId
1357 sender:(NSString *_Nonnull)aUsername
1374- (
AgoraChatError *)declineJoinApplication:(NSString *_Nonnull)aGroupId
1375 applicant:(NSString *_Nonnull)aUsername
1376 reason:(NSString *_Nullable)aReason;
1392- (void)declineJoinGroupRequest:(NSString *_Nonnull)aGroupId
1393 sender:(NSString *_Nonnull)aUsername
1394 reason:(NSString *_Nullable)aReason
1409- (
AgoraChatGroup * _Nullable)acceptInvitationFromGroup:(NSString *_Nonnull)aGroupId
1410 inviter:(NSString *_Nonnull)aUsername
1424- (void)acceptInvitationFromGroup:(NSString *_Nonnull)aGroupId
1425 inviter:(NSString *_Nonnull)aUsername
1440- (
AgoraChatError *)declineInvitationFromGroup:(NSString *_Nonnull)aGroupId
1441 inviter:(NSString *_Nonnull)aUsername
1442 reason:(NSString *_Nullable)aReason;
1456- (void)declineGroupInvitation:(NSString *_Nonnull)aGroupId
1457 inviter:(NSString *_Nonnull)aInviter
1458 reason:(NSString *_Nullable)aReason
1459 completion:(
void (^_Nullable)(
AgoraChatError *_Nullable aError))aCompletionBlock;
1483- (void)getJoinedGroupsFromServerWithPage:(NSInteger)aPageNum
1484 pageSize:(NSInteger)aPageSize
1485 needMemberCount:(BOOL)aNeedMemberCount
1486 needRole:(BOOL)aNeedRole
1489#pragma mark - Group member attributes
1499- (void)setMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId attributes:(NSDictionary<NSString*,NSString*> *_Nonnull)attributes completion:(
void (^_Nullable)(
AgoraChatError *_Nullable error))completionBlock;
1512- (void)fetchMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId completion:(
void (^ _Nullable)(NSDictionary<NSString *,NSString *> * _Nullable,
AgoraChatError * _Nullable))completionBlock;
1525- (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:23
Definition: AgoraChatGroupMemberInfo.h:25
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