ADD : Send messages From MassagingService by controller
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
7f35484e2c
commit
cee8a2fd80
@ -1,20 +0,0 @@
|
||||
import 'package:dafl_project_flutter/model/message.dart';
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
|
||||
|
||||
class MessageDatabase{
|
||||
|
||||
|
||||
void SendMessage(String chatId, Message message) {
|
||||
var documentReference = FirebaseFirestore.instance
|
||||
.collection('messages')
|
||||
.doc(chatId)
|
||||
.collection(chatId)
|
||||
.doc(DateTime.now().millisecondsSinceEpoch.toString());
|
||||
|
||||
FirebaseFirestore.instance.runTransaction((transaction) async {
|
||||
transaction.set(documentReference,message.toHashMap());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
import 'package:dafl_project_flutter/model/message.dart';
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
|
||||
|
||||
class MessageDatabase {
|
||||
String _getChatId(String idSender, String idReceiver) {
|
||||
if (idSender.hashCode <= idReceiver.hashCode)
|
||||
return '$idSender-${idReceiver}';
|
||||
else
|
||||
return '${idReceiver}-$idSender';
|
||||
}
|
||||
|
||||
void sendMessage(Message message, String idSender, String idReceiver) {
|
||||
String chatId = _getChatId(idSender, idReceiver);
|
||||
|
||||
var documentReference = FirebaseFirestore.instance
|
||||
.collection('messages')
|
||||
.doc(chatId)
|
||||
.collection(chatId)
|
||||
.doc(DateTime
|
||||
.now()
|
||||
.millisecondsSinceEpoch
|
||||
.toString());
|
||||
|
||||
FirebaseFirestore.instance.runTransaction((transaction) async {
|
||||
transaction.set(documentReference, message.toHashMap());
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Reference in new issue