import 'package:cloud_firestore/cloud_firestore.dart'; class Message { String? id; String? message; DateTime? date; String? receiverID; String? receiverName; String? senderID; String? senderName; String? messageType; String? messageID; Message( {this.id, this.message, this.date, this.receiverID, this.receiverName, this.senderID, this.senderName, this.messageType, this.messageID}); bool fromToday() { if (date == null) return false; var now = DateTime.now(); return date!.day == now.day && date!.month == now.month && date!.year == now.year; } Map toMap() { return { 'message': message, "receiver_id": receiverID, }; } bool sameDay(Message another) { if (date == null) return false; return date!.year == another.date!.year && date!.month == another.date!.month && date!.day == another.date!.day; } factory Message.fromMap(Map map, String id) { var date = (map['date'] as Timestamp); return Message( id: id, message: map['message'], senderID: map['sender_id'], senderName: map['sender_name'], receiverID: map['receiver_id'], receiverName: map['receiver_name'], messageType: map['msg_type'], messageID: map['msg_id'], date: date.toDate(), ); } }