ImageMessage.create constructor

ImageMessage.create(
  1. Iterable<String> paths, {
  2. String? roomId,
  3. String? caption,
  4. MessageExtra? extra,
  5. String? id,
  6. String? senderId,
  7. String? replyId,
  8. ChatValueTimestamp? createdAt,
})

Implementation

factory ImageMessage.create(
  Iterable<String> paths, {
  String? roomId,
  String? caption,
  MessageExtra? extra,
  String? id,
  String? senderId,
  String? replyId,
  ChatValueTimestamp? createdAt,
}) {
  senderId ??= RoomManager.i.me;
  if (senderId.isEmpty) return const ImageMessage.empty();
  id ??= ChatHelper.generateMessageId();
  createdAt ??= ChatValueTimestamp.now();
  return ImageMessage._(
    id: id,
    roomId: roomId ?? '',
    senderId: senderId,
    createdAt: createdAt,
    updatedAt: createdAt,
    statuses: {senderId: MessageStatus.sending},
    extra: extra ?? {},
    replyId: replyId,
    caption: caption,
    urls: paths.toList(),
  );
}