200 lines
5.3 KiB
Dart
200 lines
5.3 KiB
Dart
/// 聊天 Domain 实体
|
|
class Chat {
|
|
final int id;
|
|
final int? typ;
|
|
final int? lastId;
|
|
final int? lastTyp;
|
|
final String? lastMsg;
|
|
final int? lastTime;
|
|
final int lastPos;
|
|
final int firstPos;
|
|
final int? msgIdx;
|
|
final String? profile;
|
|
final String? pin;
|
|
final String? icon;
|
|
final String iconGaussian;
|
|
final String? name;
|
|
final int? userId;
|
|
final int? chatId;
|
|
final int? friendId;
|
|
final int? sort;
|
|
final int? unreadNum;
|
|
final int? unreadCount;
|
|
final int? hideChatMsgIdx;
|
|
final int? readChatMsgIdx;
|
|
final int? otherReadIdx;
|
|
final String? unreadAtMsgIdx;
|
|
final int? deleteTime;
|
|
final int? addIndex;
|
|
final int flag;
|
|
final int? flagMy;
|
|
final int? autoDeleteInterval;
|
|
final int? mute;
|
|
final int? verified;
|
|
final int? createTime;
|
|
final int? startIdx;
|
|
final int? isReadMsg;
|
|
final String translateOutgoing;
|
|
final String translateIncoming;
|
|
final int incomingIdx;
|
|
final int outgoingIdx;
|
|
final int incomingSoundId;
|
|
final int outgoingSoundId;
|
|
final int notificationSoundId;
|
|
final String chatKey;
|
|
final String activeChatKey;
|
|
final int coverIdx;
|
|
final int round;
|
|
final int workspaceId;
|
|
final int localPermission;
|
|
|
|
const Chat({
|
|
required this.id,
|
|
this.typ,
|
|
this.lastId,
|
|
this.lastTyp,
|
|
this.lastMsg,
|
|
this.lastTime,
|
|
this.lastPos = 0,
|
|
this.firstPos = -1,
|
|
this.msgIdx,
|
|
this.profile,
|
|
this.pin,
|
|
this.icon,
|
|
this.iconGaussian = '',
|
|
this.name,
|
|
this.userId,
|
|
this.chatId,
|
|
this.friendId,
|
|
this.sort,
|
|
this.unreadNum,
|
|
this.unreadCount,
|
|
this.hideChatMsgIdx,
|
|
this.readChatMsgIdx,
|
|
this.otherReadIdx,
|
|
this.unreadAtMsgIdx,
|
|
this.deleteTime,
|
|
this.addIndex,
|
|
this.flag = 0,
|
|
this.flagMy,
|
|
this.autoDeleteInterval,
|
|
this.mute,
|
|
this.verified,
|
|
this.createTime,
|
|
this.startIdx,
|
|
this.isReadMsg,
|
|
this.translateOutgoing = '',
|
|
this.translateIncoming = '',
|
|
this.incomingIdx = 0,
|
|
this.outgoingIdx = 0,
|
|
this.incomingSoundId = 0,
|
|
this.outgoingSoundId = 0,
|
|
this.notificationSoundId = 0,
|
|
this.chatKey = '',
|
|
this.activeChatKey = '',
|
|
this.coverIdx = 0,
|
|
this.round = 0,
|
|
this.workspaceId = 0,
|
|
this.localPermission = 0,
|
|
});
|
|
|
|
Chat copyWith({
|
|
int? id,
|
|
int? typ,
|
|
int? lastId,
|
|
int? lastTyp,
|
|
String? lastMsg,
|
|
int? lastTime,
|
|
int? lastPos,
|
|
int? firstPos,
|
|
int? msgIdx,
|
|
String? profile,
|
|
String? pin,
|
|
String? icon,
|
|
String? iconGaussian,
|
|
String? name,
|
|
int? userId,
|
|
int? chatId,
|
|
int? friendId,
|
|
int? sort,
|
|
int? unreadNum,
|
|
int? unreadCount,
|
|
int? hideChatMsgIdx,
|
|
int? readChatMsgIdx,
|
|
int? otherReadIdx,
|
|
String? unreadAtMsgIdx,
|
|
int? deleteTime,
|
|
int? addIndex,
|
|
int? flag,
|
|
int? flagMy,
|
|
int? autoDeleteInterval,
|
|
int? mute,
|
|
int? verified,
|
|
int? createTime,
|
|
int? startIdx,
|
|
int? isReadMsg,
|
|
String? translateOutgoing,
|
|
String? translateIncoming,
|
|
int? incomingIdx,
|
|
int? outgoingIdx,
|
|
int? incomingSoundId,
|
|
int? outgoingSoundId,
|
|
int? notificationSoundId,
|
|
String? chatKey,
|
|
String? activeChatKey,
|
|
int? coverIdx,
|
|
int? round,
|
|
int? workspaceId,
|
|
int? localPermission,
|
|
}) {
|
|
return Chat(
|
|
id: id ?? this.id,
|
|
typ: typ ?? this.typ,
|
|
lastId: lastId ?? this.lastId,
|
|
lastTyp: lastTyp ?? this.lastTyp,
|
|
lastMsg: lastMsg ?? this.lastMsg,
|
|
lastTime: lastTime ?? this.lastTime,
|
|
lastPos: lastPos ?? this.lastPos,
|
|
firstPos: firstPos ?? this.firstPos,
|
|
msgIdx: msgIdx ?? this.msgIdx,
|
|
profile: profile ?? this.profile,
|
|
pin: pin ?? this.pin,
|
|
icon: icon ?? this.icon,
|
|
iconGaussian: iconGaussian ?? this.iconGaussian,
|
|
name: name ?? this.name,
|
|
userId: userId ?? this.userId,
|
|
chatId: chatId ?? this.chatId,
|
|
friendId: friendId ?? this.friendId,
|
|
sort: sort ?? this.sort,
|
|
unreadNum: unreadNum ?? this.unreadNum,
|
|
unreadCount: unreadCount ?? this.unreadCount,
|
|
hideChatMsgIdx: hideChatMsgIdx ?? this.hideChatMsgIdx,
|
|
readChatMsgIdx: readChatMsgIdx ?? this.readChatMsgIdx,
|
|
otherReadIdx: otherReadIdx ?? this.otherReadIdx,
|
|
unreadAtMsgIdx: unreadAtMsgIdx ?? this.unreadAtMsgIdx,
|
|
deleteTime: deleteTime ?? this.deleteTime,
|
|
addIndex: addIndex ?? this.addIndex,
|
|
flag: flag ?? this.flag,
|
|
flagMy: flagMy ?? this.flagMy,
|
|
autoDeleteInterval: autoDeleteInterval ?? this.autoDeleteInterval,
|
|
mute: mute ?? this.mute,
|
|
verified: verified ?? this.verified,
|
|
createTime: createTime ?? this.createTime,
|
|
startIdx: startIdx ?? this.startIdx,
|
|
isReadMsg: isReadMsg ?? this.isReadMsg,
|
|
translateOutgoing: translateOutgoing ?? this.translateOutgoing,
|
|
translateIncoming: translateIncoming ?? this.translateIncoming,
|
|
incomingIdx: incomingIdx ?? this.incomingIdx,
|
|
outgoingIdx: outgoingIdx ?? this.outgoingIdx,
|
|
incomingSoundId: incomingSoundId ?? this.incomingSoundId,
|
|
outgoingSoundId: outgoingSoundId ?? this.outgoingSoundId,
|
|
notificationSoundId: notificationSoundId ?? this.notificationSoundId,
|
|
chatKey: chatKey ?? this.chatKey,
|
|
activeChatKey: activeChatKey ?? this.activeChatKey,
|
|
coverIdx: coverIdx ?? this.coverIdx,
|
|
round: round ?? this.round,
|
|
workspaceId: workspaceId ?? this.workspaceId,
|
|
localPermission: localPermission ?? this.localPermission,
|
|
);
|
|
}
|
|
} |