From 63d18cedcad5702429a849de65c7a5e005cb29ea Mon Sep 17 00:00:00 2001 From: "mr.mojtaba" Date: Tue, 4 Nov 2025 16:03:58 +0330 Subject: [PATCH] feat: submit deviceName after login --- .../data_source/remote/auth/auth_remote.dart | 3 +++ .../data_source/remote/auth/auth_remote_imp.dart | 16 ++++++++++++++-- .../data/repositories/auth/auth_repository.dart | 4 +++- .../repositories/auth/auth_repository_imp.dart | 8 ++++++++ .../presentation/pages/common/auth/logic.dart | 8 ++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) diff --git a/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart b/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart index 57f064c..f9c6950 100644 --- a/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart +++ b/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart @@ -12,4 +12,7 @@ abstract class AuthRemoteDataSource { Future getUserInfo(String phoneNumber); Future submitUserInfo(Map userInfo); + + /// Calls `/steward-app-login/` endpoint with optional query parameters and required token header. + Future stewardAppLogin({required String token, Map? queryParameters}); } diff --git a/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart b/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart index 54d8702..f04d286 100644 --- a/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart +++ b/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart @@ -49,11 +49,23 @@ class AuthRemoteDataSourceImp extends AuthRemoteDataSource { } @override - Future submitUserInfo(Map userInfo)async { - var res = await _httpClient.post( + Future submitUserInfo(Map userInfo) async { + await _httpClient.post( '/steward-app-login/', data: userInfo, headers: {'Content-Type': 'application/json'}, ); } + + @override + Future stewardAppLogin({ + required String token, + Map? queryParameters, + }) async { + await _httpClient.post( + '/steward-app-login/', + queryParameters: queryParameters, + headers: {'Content-Type': 'application/json', 'Authorization': 'Bearer $token'}, + ); + } } diff --git a/packages/chicken/lib/data/repositories/auth/auth_repository.dart b/packages/chicken/lib/data/repositories/auth/auth_repository.dart index 0e11b9b..e0ea7d5 100644 --- a/packages/chicken/lib/data/repositories/auth/auth_repository.dart +++ b/packages/chicken/lib/data/repositories/auth/auth_repository.dart @@ -10,6 +10,8 @@ abstract class AuthRepository { Future getUserInfo(String phoneNumber); - Future submitUserInfo({required String phone,String? deviceName}); + Future submitUserInfo({required String phone, String? deviceName}); + /// Calls `/steward-app-login/` with Bearer token and optional query parameters. + Future stewardAppLogin({required String token, Map? queryParameters}); } diff --git a/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart b/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart index 7a61fa9..d6883db 100644 --- a/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart +++ b/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart @@ -28,4 +28,12 @@ class AuthRepositoryImpl implements AuthRepository { var tmp = {'mobile': phone, 'device_name': deviceName}; await authRemote.submitUserInfo(tmp); } + + @override + Future stewardAppLogin({ + required String token, + Map? queryParameters, + }) async { + await authRemote.stewardAppLogin(token: token, queryParameters: queryParameters); + } } diff --git a/packages/chicken/lib/presentation/pages/common/auth/logic.dart b/packages/chicken/lib/presentation/pages/common/auth/logic.dart index 939bc8c..18b0d11 100644 --- a/packages/chicken/lib/presentation/pages/common/auth/logic.dart +++ b/packages/chicken/lib/presentation/pages/common/auth/logic.dart @@ -136,6 +136,14 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin { deviceName: deviceName.value, ); + authRepository.stewardAppLogin( + token: result?.accessToken ?? '', + queryParameters: { + "mobile": usernameController.value.text, + "device_name": deviceName.value, + }, + ); + if (tmpRoles!.length > 1) { Get.offAndToNamed(ChickenRoutes.role); } else {