copyWith method

Conversation copyWith({
  1. String? conversationId,
  2. String? conversationType,
  3. AppEntity? conversationWith,
  4. BaseMessage? lastMessage,
  5. DateTime? updatedAt,
  6. int? unreadMessageCount,
  7. List<String>? tags,
  8. int? unreadMentionsCount,
  9. int? lastReadMessageId,
  10. int? latestMessageId,
  11. bool clearLastMessage = false,
})

Creates a copy of this Conversation with updated fields.

Implementation

Conversation copyWith({
  String? conversationId,
  String? conversationType,
  AppEntity? conversationWith,
  BaseMessage? lastMessage,
  DateTime? updatedAt,
  int? unreadMessageCount,
  List<String>? tags,
  int? unreadMentionsCount,
  int? lastReadMessageId,
  int? latestMessageId,
  bool clearLastMessage = false,
}) {
  return Conversation(
    conversationId: conversationId ?? this.conversationId,
    conversationType: conversationType ?? this.conversationType,
    conversationWith: conversationWith ?? this.conversationWith,
    lastMessage: clearLastMessage ? null : (lastMessage ?? this.lastMessage),
    updatedAt: updatedAt ?? this.updatedAt,
    unreadMessageCount: unreadMessageCount ?? this.unreadMessageCount,
    tags: tags ?? this.tags,
    unreadMentionsCount: unreadMentionsCount ?? this.unreadMentionsCount,
    lastReadMessageId: lastReadMessageId ?? this.lastReadMessageId,
    latestMessageId: latestMessageId ?? this.latestMessageId,
  );
}