From 834e8106638e7a2c0ee7a0ad170e3df7ac002c58 Mon Sep 17 00:00:00 2001 From: Linloir <3145078758@qq.com> Date: Thu, 13 Oct 2022 20:37:30 +0800 Subject: [PATCH] Adjust API for profile fetching - require tokenid -> required userid --- lib/database.dart | 29 +++++++++++++---------------- lib/requesthandler.dart | 4 ++-- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/lib/database.dart b/lib/database.dart index daca771..2d52a6a 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-12 09:35:07 + * @LastEditTime : 2022-10-13 20:36:34 * @Description : */ @@ -526,30 +526,27 @@ class DataBaseHelper { return queryResult[0]['dir'] as String; } - Future fetchUserInfoViaToken({ - required int? tokenID + Future fetchUserInfoViaID({ + required int userid }) async { - if(tokenID == null) { - throw Exception('Invalid device token'); - } //Find current binded userID - var currentUserQueryResult = (await _database.query( - 'bindings natural join users', - where: 'bindings.tokenid = ?', + var userQueryResult = (await _database.query( + 'users', + where: 'userid = ?', whereArgs: [ - tokenID + userid ] )); - if(currentUserQueryResult.isEmpty) { - throw Exception('User not logged in'); + + if(userQueryResult.isEmpty) { + throw Exception('User not found'); } - var currentUser = currentUserQueryResult[0]; return UserInfo( - userID: currentUser['userid'] as int, - userName: currentUser['username'] as String, - userAvatar: currentUser['avatar'] as String? + userID: userQueryResult[0]['userid'] as int, + userName: userQueryResult[0]['username'] as String, + userAvatar: userQueryResult[0]['avatar'] as String? ); } diff --git a/lib/requesthandler.dart b/lib/requesthandler.dart index 2072e37..4ea6fa6 100644 --- a/lib/requesthandler.dart +++ b/lib/requesthandler.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-08 20:52:48 - * @LastEditTime : 2022-10-12 09:09:16 + * @LastEditTime : 2022-10-13 20:30:53 * @Description : */ @@ -90,7 +90,7 @@ Future onLogout(TCPRequest request, Socket socket) async { Future onFetchProfile(TCPRequest request, Socket socket) async { try { - var userInfo = await DataBaseHelper().fetchUserInfoViaToken(tokenID: request.tokenID); + var userInfo = await DataBaseHelper().fetchUserInfoViaID(userid: request.body['userid'] as int); return TCPResponse( type: ResponseType.fromRequestType(request.requestType), status: ResponseStatus.ok,