ADD : Methods call by the controller and some comments
continuous-integration/drone/push Build is passing Details

#MSG01/ImplementationFirebaseMessaging
Audric SABATIER 2 years ago
parent 9497713be4
commit 67df69604b

@ -29,8 +29,9 @@ class Controller {
_messageAccess.sendMessage(message, idSender, idReceiver);
}
Stream<List<Message>> getMessage(String chatId){
return _messageAccess.getMessage(chatId);
}

@ -3,16 +3,20 @@ import 'package:cloud_firestore/cloud_firestore.dart';
class MessageDatabaseService{
String _getChatId(String idSender, String idReceiver) {
// Make an unique chat ID between 2 client. Look like 'User1-User2'
static String _getChatId(String idSender, String idReceiver){
// Test to always have the same id
if (idSender.hashCode <= idReceiver.hashCode)
return '$idSender-${idReceiver}';
else
return '${idReceiver}-$idSender';
}
// Send a message from an user to an other
void sendMessage(Message message, String idSender, String idReceiver) {
String chatId = _getChatId(idSender, idReceiver);
// Get a message from a snapshot Firestore
var documentReference = FirebaseFirestore.instance
.collection('messages')
.doc(chatId)
@ -35,13 +39,14 @@ class MessageDatabaseService{
return Message.fromMap(data);
}
// Get a list of messages from Firestore
List<Message> _getAllMessages(QuerySnapshot<Map<String, dynamic>> snapshot) {
return snapshot.docs.map((doc) {
return _getMessage(doc);
}).toList();
}
// Get the massages from Firestore
Stream<List<Message>> getMessage(String chatId) {
return FirebaseFirestore.instance
.collection('messages')

Loading…
Cancel
Save