diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 555e605..9d9042e 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -5,798 +5,798 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml
index 6ae284f..008f0f6 100644
--- a/.idea/libraries/Dart_SDK.xml
+++ b/.idea/libraries/Dart_SDK.xml
@@ -1,25 +1,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/dafl_project_flutter/lib/controller/controller.dart b/Sources/dafl_project_flutter/lib/controller/controller.dart
index 4d6a02d..4bf62b3 100644
--- a/Sources/dafl_project_flutter/lib/controller/controller.dart
+++ b/Sources/dafl_project_flutter/lib/controller/controller.dart
@@ -34,6 +34,10 @@ class Controller {
return _messageAccess.getMessage(idSender, idReceiver);
}
+ void addUserConversation(String idSender, String idReceiver){
+ _messageAccess.addMessagingUser(idSender, idReceiver);
+ }
+
diff --git a/Sources/dafl_project_flutter/lib/main.dart b/Sources/dafl_project_flutter/lib/main.dart
index 08ff993..d77562b 100644
--- a/Sources/dafl_project_flutter/lib/main.dart
+++ b/Sources/dafl_project_flutter/lib/main.dart
@@ -8,6 +8,7 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:rive/rive.dart' as riv;
import '../controller/controller.dart';
+import 'model/message.dart';
import 'model/spot.dart';
import 'dart:developer' as dev;
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
@@ -364,8 +365,14 @@ class CardProvider extends ChangeNotifier {
);
}
- void sendMessage(String message, String userId) {
- dev.log(MyApp.controller.getSpots().last.userId);
+ void sendMessage(String content, String idReceiver) {
+ Message message = Message(idSender: MyApp.controller.getIdDafl(), idReceiver: idReceiver,
+ content: content, timestamp: DateTime.now().toString());
+
+ MyApp.controller.sendMessage(message, MyApp.controller.getIdDafl(),
+ idReceiver);
+
+ MyApp.controller.addUserConversation(MyApp.controller.getIdDafl(), idReceiver);
}
void like(context) {
diff --git a/Sources/dafl_project_flutter/lib/services/messaging/message_database_service.dart b/Sources/dafl_project_flutter/lib/services/messaging/message_database_service.dart
index 60974d1..8c5c759 100644
--- a/Sources/dafl_project_flutter/lib/services/messaging/message_database_service.dart
+++ b/Sources/dafl_project_flutter/lib/services/messaging/message_database_service.dart
@@ -57,4 +57,24 @@ class MessageDatabaseService{
.orderBy('timestamp', descending: true)
.snapshots().map(_getAllMessages);
}
+
+
+ void addMessagingUser(String idSender, String idReceiver) {
+
+ // Get a message from a snapshot Firestore
+ var documentReference = FirebaseFirestore.instance
+ .collection('users')
+ .doc(idSender)
+ .collection(idSender)
+ .doc(DateTime
+ .now()
+ .millisecondsSinceEpoch
+ .toString());
+
+ Map receiver = { 'user' : idReceiver };
+
+ FirebaseFirestore.instance.runTransaction((transaction) async {
+ transaction.set(documentReference, receiver);
+ });
+ }
}
\ No newline at end of file