Files
forkmessager/client-mobile/lib/features/chat/data/models/message_model.dart
Халимов Рустам 0b013def2e Отображение чатов
2026-05-14 22:56:42 +03:00

54 lines
1.1 KiB
Dart

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;
}
}