mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-07-03 15:13:29 +00:00
Cache conversation messages
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
import 'package:comunic/helpers/database/conversation_messages_database_helper.dart';
|
||||
import 'package:comunic/helpers/database/conversations_database_helper.dart';
|
||||
import 'package:comunic/helpers/users_helper.dart';
|
||||
import 'package:comunic/lists/conversation_messages_list.dart';
|
||||
@ -19,6 +20,8 @@ enum SendMessageResult { SUCCESS, MESSAGE_REJECTED, FAILED }
|
||||
class ConversationsHelper {
|
||||
final ConversationsDatabaseHelper _conversationsDatabaseHelper =
|
||||
ConversationsDatabaseHelper();
|
||||
final ConversationMessagesDatabaseHelper _conversationMessagesDatabaseHelper =
|
||||
ConversationMessagesDatabaseHelper();
|
||||
|
||||
/// Download the list of conversations from the server
|
||||
Future<ConversationsList> downloadList() async {
|
||||
@ -152,12 +155,16 @@ class ConversationsHelper {
|
||||
response.getArray().forEach((f) {
|
||||
list.add(ConversationMessage(
|
||||
id: f["ID"],
|
||||
conversationID: conversationID,
|
||||
userID: f["ID_user"],
|
||||
timeInsert: f["time_insert"],
|
||||
message: f["message"],
|
||||
imageURL: f["image_path"]));
|
||||
});
|
||||
|
||||
// Save messages in the cache
|
||||
_conversationMessagesDatabaseHelper.insertOrUpdateAll(list);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@ -173,20 +180,18 @@ class ConversationsHelper {
|
||||
);
|
||||
|
||||
//Check for image
|
||||
if(message.hasImage)
|
||||
request.addFile("image", message.image);
|
||||
if (message.hasImage) request.addFile("image", message.image);
|
||||
|
||||
//Send the message
|
||||
APIResponse response;
|
||||
if(!message.hasImage)
|
||||
if (!message.hasImage)
|
||||
response = await request.exec();
|
||||
else
|
||||
response = await request.execWithFiles();
|
||||
|
||||
if(response.code == 401)
|
||||
if (response.code == 401)
|
||||
return SendMessageResult.MESSAGE_REJECTED;
|
||||
else if(response.code != 200)
|
||||
return SendMessageResult.FAILED;
|
||||
else if (response.code != 200) return SendMessageResult.FAILED;
|
||||
|
||||
return SendMessageResult.SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user