Отображение чатов
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import '../../domain/entities/message.dart';
|
||||
|
||||
part 'message_model.g.dart';
|
||||
|
||||
@collection
|
||||
class MessageModel {
|
||||
Id isarId = Isar.autoIncrement;
|
||||
|
||||
@Index(unique: true, replace: true)
|
||||
late String id;
|
||||
|
||||
@Index()
|
||||
late String chatId;
|
||||
|
||||
late String senderId;
|
||||
late String content;
|
||||
late String messageType;
|
||||
|
||||
@Index()
|
||||
DateTime? createdAt;
|
||||
|
||||
DateTime? updatedAt;
|
||||
bool isRead = false;
|
||||
|
||||
// For simplicity, store media as a JSON string or ignore for now
|
||||
String? mediaJson;
|
||||
|
||||
Message toEntity() {
|
||||
return Message(
|
||||
id: id,
|
||||
chatId: chatId,
|
||||
senderId: senderId,
|
||||
content: content,
|
||||
messageType: messageType,
|
||||
createdAt: createdAt,
|
||||
updatedAt: updatedAt,
|
||||
isRead: isRead,
|
||||
);
|
||||
}
|
||||
|
||||
static MessageModel fromEntity(Message message) {
|
||||
return MessageModel()
|
||||
..id = message.id
|
||||
..chatId = message.chatId
|
||||
..senderId = message.senderId
|
||||
..content = message.content
|
||||
..messageType = message.messageType
|
||||
..createdAt = message.createdAt
|
||||
..updatedAt = message.updatedAt
|
||||
..isRead = message.isRead ?? false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user