diff --git a/functions/conversations_upd_function/lib/main.dart b/functions/conversations_upd_function/lib/main.dart index de471fd..289c6bc 100644 --- a/functions/conversations_upd_function/lib/main.dart +++ b/functions/conversations_upd_function/lib/main.dart @@ -9,7 +9,7 @@ var _conversationDbId; var _documentId; var _databaseId; -//Default Function call by function +//Default call by function Future main(final context) async { try { final client = Client() diff --git a/functions/mesaages_upd_function/lib/main.dart b/functions/mesaages_upd_function/lib/main.dart index c3a6476..3a0105e 100644 --- a/functions/mesaages_upd_function/lib/main.dart +++ b/functions/mesaages_upd_function/lib/main.dart @@ -13,7 +13,7 @@ var _conversationDbId; var _documentId; var _databaseId; -//Default Function call by function +//Default call by function Future main(final context) async { // try { @@ -34,9 +34,7 @@ Future main(final context) async { _databaseId = context.req.bodyJson['\$databaseId']; for (String _member in _members) { - var _membersReduced = - _members.where((_data) => _data != _member).toList(); - await updateConversation(context, _member, _membersReduced, _messages); + await updateConversation(context, _member, _messages); } } } on AppwriteException catch (e) { @@ -48,48 +46,42 @@ Future main(final context) async { } // -dynamic updateConversation( - var context, var member, var _members, var _messages) async { +dynamic updateConversation(var context, var _member, var _messages) async { // Map _message = json.decode(_messages[_messages.length - 1]); - // if (_message.isNotEmpty) { + List _chatIdMap = []; + List _detailMap = []; - for (var _member in _members) { - // - List _chatIdMap = []; - List _detailMap = []; + var _conversationDetail = await _database.getDocument( + databaseId: _databaseId, + collectionId: _conversationDbId, + 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 _conversationMap = { + "chatId": _chatIdMap, + "details": _detailMap + }; + + await _database.updateDocument( databaseId: _databaseId, collectionId: _conversationDbId, - documentId: member, - ); - - _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 _conversationMap = { - "chatId": _chatIdMap, - "details": _detailMap - }; - - await _database.updateDocument( - databaseId: _databaseId, - collectionId: _conversationDbId, - documentId: member, - data: _conversationMap); - } + documentId: _member, + data: _conversationMap); } return ''; }