Conversation constructor

const Conversation({
  1. @JsonKey(name: 'id', required: true) required String id,
  2. @JsonKey(name: 'type', required: true) required String type,
  3. @JsonKey(name: 'open', required: true) required bool open,
  4. @JsonKey(name: 'read', required: true) required bool read,
  5. @JsonKey(name: 'lastActivityAt', required: true) required DateTime lastActivityAt,
  6. @JsonKey(name: 'source', required: true) required ConversationSource source,
  7. @JsonKey(name: 'lastRenderablePart') required ConversationPart? lastRenderablePart,
  8. @JsonKey(name: 'conversationParts') required List<ConversationPart>? conversationParts,
  9. @JsonKey(name: 'participants', required: true) required List<ConversationParticipant> participants,
})

Implementation

const factory Conversation({
  /// Conversation Id
  @JsonKey(name: 'id', required: true) required String id,

  /// Conversation type
  @JsonKey(name: 'type', required: true) required String type,

  /// If the conversation is open
  @JsonKey(name: 'open', required: true) required bool open,

  /// A new message in the conversation that has not been read
  @JsonKey(name: 'read', required: true) required bool read,

  /// When there was last activity
  @JsonKey(name: 'lastActivityAt', required: true)
  required DateTime lastActivityAt,

  /// Conversation source
  @JsonKey(name: 'source', required: true) required ConversationSource source,

  /// The last part in the conversation
  ///
  /// Only returned when getting conversations list
  @JsonKey(name: 'lastRenderablePart')
  required ConversationPart? lastRenderablePart,

  /// The full conversation
  ///
  /// Only returned when getting one conversation
  @JsonKey(name: 'conversationParts')
  required List<ConversationPart>? conversationParts,

  /// The conversation participants
  @JsonKey(name: 'participants', required: true)
  required List<ConversationParticipant> participants,
}) = _Conversation;