import 'package:comunic/helpers/database/database_contract.dart'; import 'package:comunic/helpers/database/model_database_helper.dart'; import 'package:comunic/lists/conversation_messages_list.dart'; import 'package:comunic/models/conversation_message.dart'; /// Conversation messages database helper /// /// @author Pierre HUBERT class ConversationMessagesDatabaseHelper extends ModelDatabaseHelper { @override ConversationMessage initializeFromMap(Map map) { return ConversationMessage.fromMap(map); } @override String tableName() { return ConversationsMessagesTableContract.TABLE_NAME; } /// Get all the message cached for a given conversation Future getAllMessagesConversations( int conversationID, {int lastMessageID = 0}) async { final list = await getMultiple( where: "${ConversationsMessagesTableContract.C_CONVERSATION_ID} = ? " "AND ${BaseTableContract.C_ID} > ?", whereArgs: [conversationID, lastMessageID], ); // Turn the list into a conversation messages list ConversationMessagesList finalList = ConversationMessagesList(); finalList.addAll(list); return finalList; } }