removed unecessary for loop from messages update functions

Also made some little changes to code look

Working to really start adding proper comments to functins. arrh
This commit is contained in:
2025-02-02 02:50:12 +00:00
parent e3d54228cc
commit aab55a730f
2 changed files with 32 additions and 40 deletions
@@ -9,7 +9,7 @@ var _conversationDbId;
var _documentId; var _documentId;
var _databaseId; var _databaseId;
//Default Function call by function //Default call by function
Future<dynamic> main(final context) async { Future<dynamic> main(final context) async {
try { try {
final client = Client() final client = Client()
+31 -39
View File
@@ -13,7 +13,7 @@ var _conversationDbId;
var _documentId; var _documentId;
var _databaseId; var _databaseId;
//Default Function call by function //Default call by function
Future<dynamic> main(final context) async { Future<dynamic> main(final context) async {
// //
try { try {
@@ -34,9 +34,7 @@ Future<dynamic> main(final context) async {
_databaseId = context.req.bodyJson['\$databaseId']; _databaseId = context.req.bodyJson['\$databaseId'];
for (String _member in _members) { for (String _member in _members) {
var _membersReduced = await updateConversation(context, _member, _messages);
_members.where((_data) => _data != _member).toList();
await updateConversation(context, _member, _membersReduced, _messages);
} }
} }
} on AppwriteException catch (e) { } on AppwriteException catch (e) {
@@ -48,48 +46,42 @@ Future<dynamic> main(final context) async {
} }
// //
dynamic updateConversation( dynamic updateConversation(var context, var _member, var _messages) async {
var context, var member, var _members, var _messages) async {
// //
Map _message = json.decode(_messages[_messages.length - 1]); Map _message = json.decode(_messages[_messages.length - 1]);
//
if (_message.isNotEmpty) { if (_message.isNotEmpty) {
List<dynamic> _chatIdMap = [];
List<dynamic> _detailMap = [];
for (var _member in _members) { var _conversationDetail = await _database.getDocument(
// databaseId: _databaseId,
List<dynamic> _chatIdMap = []; collectionId: _conversationDbId,
List<dynamic> _detailMap = []; documentId: _member,
);
var _conversationDetail = await _database.getDocument( _detailMap = _conversationDetail.data['details'];
_chatIdMap = _conversationDetail.data['chatId'];
var _index = _chatIdMap.indexOf(_documentId);
Map _detail = json.decode(_detailMap[_index]);
_detail['unseenCount'] += 1;
_detail['lastMessage'] = _message['message'];
_detail['timeStamp'] = _message['timeStamp'];
_detailMap[_index] = json.encode(_detail);
_conversationDetail.data['details'] = _detailMap;
Map<String, dynamic> _conversationMap = {
"chatId": _chatIdMap,
"details": _detailMap
};
await _database.updateDocument(
databaseId: _databaseId, databaseId: _databaseId,
collectionId: _conversationDbId, collectionId: _conversationDbId,
documentId: member, documentId: _member,
); data: _conversationMap);
_detailMap = _conversationDetail.data['details'];
_chatIdMap = _conversationDetail.data['chatId'];
var _index = _chatIdMap.indexOf(_documentId);
Map _detail = json.decode(_detailMap[_index]);
_detail['unseenCount'] += 1;
_detail['lastMessage'] = _message['message'];
_detail['timeStamp'] = _message['timeStamp'];
_detailMap[_index] = json.encode(_detail);
_conversationDetail.data['details'] = _detailMap;
Map<String, dynamic> _conversationMap = {
"chatId": _chatIdMap,
"details": _detailMap
};
await _database.updateDocument(
databaseId: _databaseId,
collectionId: _conversationDbId,
documentId: member,
data: _conversationMap);
}
} }
return ''; return '';
} }