copyWith method

Conversation copyWith({
  1. String? id,
  2. String? name,
  3. String? avatarUrl,
  4. ConversationType? type,
  5. ConversationMode? mode,
  6. ConversationStatus? status,
  7. List<Participant>? participants,
  8. Message? lastMessage,
  9. DateTime? lastMessageAt,
  10. int? unreadCount,
  11. String? shareCode,
  12. DateTime? expiresAt,
  13. ParticipantRole? myRole,
  14. String? myUserId,
  15. Map<String, dynamic>? metadata,
  16. DateTime? createdAt,
  17. DateTime? updatedAt,
})

Implementation

Conversation copyWith({
  String? id,
  String? name,
  String? avatarUrl,
  ConversationType? type,
  ConversationMode? mode,
  ConversationStatus? status,
  List<Participant>? participants,
  Message? lastMessage,
  DateTime? lastMessageAt,
  int? unreadCount,
  String? shareCode,
  DateTime? expiresAt,
  ParticipantRole? myRole,
  String? myUserId,
  Map<String, dynamic>? metadata,
  DateTime? createdAt,
  DateTime? updatedAt,
}) {
  return Conversation(
    id: id ?? this.id,
    name: name ?? this.name,
    avatarUrl: avatarUrl ?? this.avatarUrl,
    type: type ?? this.type,
    mode: mode ?? this.mode,
    status: status ?? this.status,
    participants: participants ?? this.participants,
    lastMessage: lastMessage ?? this.lastMessage,
    lastMessageAt: lastMessageAt ?? this.lastMessageAt,
    unreadCount: unreadCount ?? this.unreadCount,
    shareCode: shareCode ?? this.shareCode,
    expiresAt: expiresAt ?? this.expiresAt,
    myRole: myRole ?? this.myRole,
    myUserId: myUserId ?? this.myUserId,
    metadata: metadata ?? this.metadata,
    createdAt: createdAt ?? this.createdAt,
    updatedAt: updatedAt ?? this.updatedAt,
  );
}