import 'package:cloud_firestore/cloud_firestore.dart'; class ConversationModel { String? id; String? senderId; String? receiverId; String? orderId; String? message; String? messageType; String? videoThumbnail; Url? url; Timestamp? createdAt; ConversationModel({ this.id, this.senderId, this.receiverId, this.orderId, this.message, this.messageType, this.videoThumbnail, this.url, this.createdAt, }); factory ConversationModel.fromJson(Map parsedJson) { return ConversationModel( id: parsedJson['id'] ?? '', senderId: parsedJson['senderId'] ?? '', receiverId: parsedJson['receiverId'] ?? '', orderId: parsedJson['orderId'] ?? '', message: parsedJson['message'] ?? '', messageType: parsedJson['messageType'] ?? '', videoThumbnail: parsedJson['videoThumbnail'] ?? '', url: parsedJson.containsKey('url') ? parsedJson['url'] != null ? Url.fromJson(parsedJson['url']) : null : Url(), createdAt: parsedJson['createdAt'] ?? Timestamp.now(), ); } Map toJson() { return { 'id': id, 'senderId': senderId, 'receiverId': receiverId, 'orderId': orderId, 'message': message, 'messageType': messageType, 'videoThumbnail': videoThumbnail, 'url': url?.toJson(), 'createdAt': createdAt, }; } } class Url { String mime; String url; String? videoThumbnail; Url({this.mime = '', this.url = '', this.videoThumbnail}); factory Url.fromJson(Map parsedJson) { return Url(url: parsedJson['url'] ?? '', videoThumbnail: parsedJson['videoThumbnail'] ?? ''); } Map toJson() { return {'mime': mime, 'url': url, 'videoThumbnail': videoThumbnail}; } }