diff --git a/bin/tcp_server.dart b/bin/tcp_server.dart index aea4020..f32d650 100644 --- a/bin/tcp_server.dart +++ b/bin/tcp_server.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-06 15:44:16 - * @LastEditTime : 2022-10-20 10:47:50 + * @LastEditTime : 2022-10-20 16:34:10 * @Description : */ @@ -200,6 +200,15 @@ void main(List arguments) async { case RequestType.addContact: { var response = await onAddContact(request, socket); controller.outStream.add(response); + var contactResponse = await onFetchContact( + TCPRequest.fromData( + type: RequestType.fetchContact, + body: {}, + tokenID: request.tokenID + ), + socket + ); + controller.outStream.add(contactResponse); break; } case RequestType.fetchContact: { diff --git a/lib/database.dart b/lib/database.dart index e7b4396..764c500 100644 --- a/lib/database.dart +++ b/lib/database.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-06 16:15:01 - * @LastEditTime : 2022-10-20 10:40:50 + * @LastEditTime : 2022-10-20 13:14:40 * @Description : */ @@ -617,6 +617,10 @@ class DataBaseHelper { 'username': userInfo.userName, 'avatar': userInfo.userAvatar }, + where: 'userid = ?', + whereArgs: [ + currentUserID + ], conflictAlgorithm: ConflictAlgorithm.rollback ); } catch (conflict) { diff --git a/lib/tcpcontroller/controller.dart b/lib/tcpcontroller/controller.dart index 4f7586a..0f3a6c7 100644 --- a/lib/tcpcontroller/controller.dart +++ b/lib/tcpcontroller/controller.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-08 15:10:04 - * @LastEditTime : 2022-10-19 10:41:12 + * @LastEditTime : 2022-10-20 17:33:52 * @Description : */ @@ -90,7 +90,8 @@ class TCPController { await socket.addStream(response.stream); } } catch (e) { - print(e); + print('[E] [EXCEPTION]-----------------------'); + print('[E] Adding bytes to socket stream failed'); await socket.flush(); socket.close(); } @@ -201,6 +202,11 @@ class TCPController { required List requestBytes, required File tempFile }) async { - _requestStreamController.add(TCPRequest(requestBytes, tempFile)); + try{ + _requestStreamController.add(TCPRequest(requestBytes, tempFile)); + } catch (e) { + print('[E] [EXCEPTION]-----------------------'); + print('[E] Adding bytes to request stream failed'); + } } } \ No newline at end of file diff --git a/lib/tcpcontroller/request.dart b/lib/tcpcontroller/request.dart index 1692cad..dcef501 100644 --- a/lib/tcpcontroller/request.dart +++ b/lib/tcpcontroller/request.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-08 15:14:26 - * @LastEditTime : 2022-10-09 22:56:26 + * @LastEditTime : 2022-10-20 16:33:16 * @Description : */ import 'dart:convert'; @@ -40,6 +40,16 @@ class TCPRequest { File? payload; TCPRequest(List data, this.payload): _data = jsonDecode(String.fromCharCodes(data)); + TCPRequest.fromData({ + required RequestType type, + required Map body, + required int? tokenID, + this.payload + }): _data = { + 'request': type.value, + 'tokenid': tokenID, + 'body': body + }; TCPRequest.none(): _data = {}; String get toJSON => jsonEncode(_data);