/// 聊天 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, ); } }