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