//
//  GIMobj.h
//  Pods
//
//  Created by gan on 2025/3/23.
//

#ifndef GIMobj_h
#define GIMobj_h


#endif /* GIMobj_h */
#import <Foundation/Foundation.h>
//#import "ReactiveObjC.h"

@interface  chat: NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *type;
@property (nonatomic, strong) NSString *lastMessage;
@property (nonatomic, strong) NSNumber* lastTime;
@property (nonatomic, strong) NSNumber* lastReadTime;//用于判断是否已读
@property (nonatomic, strong) NSNumber* unreadCount;
@property  bool isLoading;
@property  bool loaded;
@property  bool top;

@end

@interface  ChatSimple:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *type;

@end

@interface  Collect:NSObject
@property (nonatomic, strong) NSString *id;

@property (nonatomic, strong) NSString *fromId;

@property (nonatomic, strong) NSNumber* sendTime;

@property (nonatomic, strong) NSString *content;
@property (nonatomic, strong) NSObject *extend;
@property (nonatomic, strong) NSString *messageType;
@property (nonatomic, strong) NSString *createTime;

@end

@interface  Dept:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *parentId;
@property (nonatomic, strong) NSArray *children;

@end

@interface  Extend:NSObject
@property (nonatomic, strong) NSString *fileName;
@property (nonatomic, strong) NSString *url;
@property (nonatomic, strong) NSString *localurl;
@property (nonatomic, strong) NSString *time;
@property (nonatomic, strong) NSArray *atUserIds;
@property (nonatomic, strong) NSString *atAll;
@property (nonatomic, strong) NSObject *quoteMessage;
@property (nonatomic, strong) NSArray *messageList;
@end

@interface  Group:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *master;
@property (nonatomic, strong) NSString *openInvite;
@property (nonatomic, strong) NSString *inviteCheck;
@property (nonatomic, strong) NSString *prohibition;
@property (nonatomic, strong) NSString *prohibitFriend;
@property (nonatomic, strong) NSString *announcement;

@end



@interface  GroupInvite:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *groupId;
@property (nonatomic, strong) NSString *fromId;
@property (nonatomic, strong) NSString *userId;
@property (nonatomic, strong) NSString *checkUserId;
@property (nonatomic, strong) NSString *checkMessage;
@property (nonatomic, strong) NSString *waitCheck;
@property (nonatomic, strong) NSString *checkResult;
@property (nonatomic, strong) NSString *createTime;

@end

@interface  Immunity:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *userId;
@property (nonatomic, strong) NSString *chatId;
@end


@interface  Message:NSObject
//消息id,雪花id,有序增长
@property (nonatomic, strong) NSString *id;
//消息文件类型 文本|附件|ping|语音
@property (nonatomic, strong) NSString *messageType;
//聊天室id
@property (nonatomic, strong) NSString *chatId;
//消息发送人
@property (nonatomic, strong) NSString *fromId;
//是否是本人
@property  bool mine;
//消息内容
@property (nonatomic, strong) NSString *content;
//消息时间
@property (nonatomic, strong) NSNumber* timestamp;
//本地消息时间
@property (nonatomic, strong) NSNumber* localtime;
//消息类型：私聊|群聊
@property (nonatomic, strong) NSString *type;
//消息是否重发：true重发|false 非重发
@property  bool reSend;
@property  bool result;
//扩展
@property (nonatomic, strong) NSObject *extend;

-(void)setValuesWithDictionary:(NSDictionary *)dic;

@end


/**
 * 接受到的消息回执
 */
@interface  Receipt:NSObject
@property (nonatomic, strong) NSString *chatId;
@property (nonatomic, strong) NSString *userId;
@property (nonatomic, strong) NSNumber* timestamp;
@property (nonatomic, strong) NSString *type;
@end


@interface  Setting:NSObject
@property (nonatomic, strong) NSString *canAddFriend;
@property (nonatomic, strong) NSString *addFriendValidate;
@property (nonatomic, strong) NSString *canSendMessage;
@property (nonatomic, strong) NSString *canSoundRemind;
//声音提醒
@property (nonatomic, strong) NSString *canVoiceRemind;
@property (nonatomic, strong) NSString *showMobile;
@property (nonatomic, strong) NSString *showEmail;
@property (nonatomic, strong) NSString *createBy;
@end

@interface  setUser:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSNumber *userId;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *mobile;
@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *deptId;
@property (nonatomic, strong) NSString *sex;
@property (nonatomic, strong) NSString *registrationId;
@property bool canAddFriend;
@end

@interface  User:NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *mobile;
@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSString *avatar;
@property (nonatomic, strong) NSString *deptId;
@property (nonatomic, strong) NSString *sex;
@property (nonatomic, strong) NSString *registrationId;
@property bool canAddFriend;
@end

@interface  Friend: NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *userId;
@property (nonatomic, strong) NSString *friendId;
@property (nonatomic, strong) NSString *state;
@property (nonatomic, strong) NSString *message;
@property (nonatomic, strong) NSString *createBy;
@property (nonatomic, strong) NSString *createTime;

@end

@interface  UserSimple: NSObject
@property (nonatomic, strong) NSString *id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *avatar;
@end

@interface  Webrtc: NSObject
@property (nonatomic, strong) NSString *type;//'0'友聊  '1'群聊
@property (nonatomic, strong) NSString *msgtype;//calling  offer answer candidate
@property (nonatomic, strong) NSString *payload;//webrtc通讯信息
//聊天室id
@property (nonatomic, strong) NSString *chatId;
//消息发送人
@property (nonatomic, strong) NSString *fromId;
//消息类型，0通话。1视频
@property bool conetType;
@property (nonatomic, strong) NSNumber *timestamp;
@end




