mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Cache conversation messages
This commit is contained in:
		@@ -1,11 +1,14 @@
 | 
			
		||||
import 'package:comunic/helpers/database/database_contract.dart';
 | 
			
		||||
import 'package:comunic/models/cache_model.dart';
 | 
			
		||||
import 'package:meta/meta.dart';
 | 
			
		||||
 | 
			
		||||
/// Single conversation message
 | 
			
		||||
///
 | 
			
		||||
/// @author Pierre HUBERT
 | 
			
		||||
 | 
			
		||||
class ConversationMessage implements Comparable {
 | 
			
		||||
class ConversationMessage extends CacheModel implements Comparable {
 | 
			
		||||
  final int id;
 | 
			
		||||
  final int conversationID;
 | 
			
		||||
  final int userID;
 | 
			
		||||
  final int timeInsert;
 | 
			
		||||
  final String message;
 | 
			
		||||
@@ -13,6 +16,7 @@ class ConversationMessage implements Comparable {
 | 
			
		||||
 | 
			
		||||
  const ConversationMessage({
 | 
			
		||||
    @required this.id,
 | 
			
		||||
    @required this.conversationID,
 | 
			
		||||
    @required this.userID,
 | 
			
		||||
    @required this.timeInsert,
 | 
			
		||||
    @required this.message,
 | 
			
		||||
@@ -20,15 +24,38 @@ class ConversationMessage implements Comparable {
 | 
			
		||||
  })  : assert(id != null),
 | 
			
		||||
        assert(userID != null),
 | 
			
		||||
        assert(timeInsert != null),
 | 
			
		||||
        assert(message != null);
 | 
			
		||||
        assert(message != null),
 | 
			
		||||
        super(id: id);
 | 
			
		||||
 | 
			
		||||
  DateTime get date => DateTime.fromMillisecondsSinceEpoch(timeInsert * 1000);
 | 
			
		||||
  bool get hasMessage => message != null && message.length > 0;
 | 
			
		||||
  bool get hasImage => imageURL != null;
 | 
			
		||||
 | 
			
		||||
  bool get hasMessage => message != null && message.length > 0;
 | 
			
		||||
 | 
			
		||||
  bool get hasImage => imageURL != null && imageURL != "null";
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  int compareTo(other) {
 | 
			
		||||
    return id.compareTo(other.id);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Map<String, dynamic> toMap() {
 | 
			
		||||
    return {
 | 
			
		||||
      ConversationsMessagesTableContract.C_ID: id,
 | 
			
		||||
      ConversationsMessagesTableContract.C_CONVERSATION_ID: conversationID,
 | 
			
		||||
      ConversationsMessagesTableContract.C_USER_ID: userID,
 | 
			
		||||
      ConversationsMessagesTableContract.C_TIME_INSERT: timeInsert,
 | 
			
		||||
      ConversationsMessagesTableContract.C_MESSAGE: message,
 | 
			
		||||
      ConversationsMessagesTableContract.C_IMAGE_URL: imageURL
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ConversationMessage.fromMap(Map<String, dynamic> map)
 | 
			
		||||
      : id = map[ConversationsMessagesTableContract.C_ID],
 | 
			
		||||
        conversationID = map[ConversationsMessagesTableContract.C_CONVERSATION_ID],
 | 
			
		||||
        userID = map[ConversationsMessagesTableContract.C_USER_ID],
 | 
			
		||||
        timeInsert = map[ConversationsMessagesTableContract.C_TIME_INSERT],
 | 
			
		||||
        message = map[ConversationsMessagesTableContract.C_MESSAGE],
 | 
			
		||||
        imageURL = map[ConversationsMessagesTableContract.C_IMAGE_URL],
 | 
			
		||||
        super.fromMap(map);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user