//
//  GroupNetApi.h
//  Pods
//
//  Created by gan on 2025/3/24.
//

#ifndef GroupNetApi_h
#define GroupNetApi_h


#endif /* GroupNetApi_h */
#import "GBaseNetApi.h"

@interface GroupNetApi : NSObject

//新建群组
+(void)addNewGroup:(NSDictionary *_Nullable)parameters succ:(nullable GSucc)succ fail:(nullable GFail)fail;

//更新群组信息
+(void)updateGroup:(NSDictionary *_Nullable)parameters groupId:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;

//获取群组信息
+(void)getGroupInfo:(NSString *_Nullable)groupId  succ:(nullable GSucc)succ fail:(nullable GFail)fail;

//获取用户加入的群组列表
+(void)getGroupList:(nullable GSucc)succ fail:(nullable GFail)fail;

//获取群组内用户列表
+(void)getGroupUserList:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;


//删除自己的群
+(void)deleteGroup:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;

//退出群
+(void)exitGroup:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;


//将用户添加入群
+(void)addUsertoGroup:(NSDictionary *_Nullable)parameters groupId:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;


//将用户踢出群
+(void)getoutUserGroup:(NSString *_Nullable)groupId userId:(NSString *_Nullable)userId succ:(nullable GSucc)succ fail:(nullable GFail)fail;


//批量将用户踢出群
+(void)getoutUsersGroup:(NSDictionary *_Nullable)parameters succ:(nullable GSucc)succ fail:(nullable GFail)fail;


//转让群主
+(void)transferGroup:(NSString *_Nullable)groupId userId:(NSString *_Nullable)userId succ:(nullable GSucc)succ fail:(nullable GFail)fail;
//上传头像
+(void)upLoaddataWToken:(NSData *_Nonnull)data fileName:(NSString *_Nullable)fileName succ:(GSucc _Nullable )succ fail:(GFail _Nullable )fail;

/**
 * 查询当前待审核的群邀请
 */
+(void)getshenheList:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;
/**
 * 查询当前待审核的群邀请数量
 */
+(void)waitCheckList:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;
//同意加入
+(void)Checkagree:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;
//拒绝加入
+(void)Checkrefuse:(NSString *_Nullable)groupId succ:(nullable GSucc)succ fail:(nullable GFail)fail;

///获取群消息列表(/api/sys/messages/queryGroupMessage)
+(void)getGroupMsgListWithChatId:(NSString * _Nonnull)chatId time:(NSInteger)timestamp pageSize:(NSInteger)size succ:(nullable GSucc)succ fail:(nullable GFail)fail;

@end
