Initial commit
This commit is contained in:
75
lib/models/conversation_model.dart
Normal file
75
lib/models/conversation_model.dart
Normal file
@@ -0,0 +1,75 @@
|
||||
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<String, dynamic> 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<String, dynamic> 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<dynamic, dynamic> parsedJson) {
|
||||
return Url(url: parsedJson['url'] ?? '', videoThumbnail: parsedJson['videoThumbnail'] ?? '');
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {'mime': mime, 'url': url, 'videoThumbnail': videoThumbnail};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user