refactor: optimize module navigation delay and clean up unused code in splash and auth logic

fix : role access to chicken app
This commit is contained in:
2025-12-29 11:21:54 +03:30
parent 12cdc1a5e8
commit 57704399b9
12 changed files with 111 additions and 1942 deletions

View File

@@ -8,7 +8,6 @@ import 'package:rasadyar_chicken/features/common/data/model/response/user_info/u
import 'package:rasadyar_chicken/features/common/data/model/response/user_profile_model/user_profile_model.dart';
import 'package:rasadyar_chicken/features/common/data/repositories/auth/auth_repository.dart';
import 'package:rasadyar_chicken/features/common/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/features/steward/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/widget/captcha/logic.dart';
import 'package:rasadyar_core/core.dart';
@@ -124,16 +123,7 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin {
},
),
onSuccess: (result) async {
await gService.saveSelectedModule(_module);
await tokenStorageService.saveModule(_module);
await tokenStorageService.saveAccessToken(
_module,
result?.accessToken ?? '',
);
await tokenStorageService.saveRefreshToken(
_module,
result?.accessToken ?? '',
);
var tmpRoles = result?.role?.where((element) {
final allowedRoles = {
'poultryscience',
@@ -150,36 +140,45 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin {
final lowerElement = element.toString().toLowerCase().trim();
return allowedRoles.contains(lowerElement);
}).toList();
if (tmpRoles?.length==1) {
await tokenStorageService.saveRoles(_module, tmpRoles ?? []);
}
await tokenStorageService.saveRoles(_module, tmpRoles ?? []);
if (rememberMe.value) {
await tokenStorageService.saveUserPass(
_module,
usernameController.value.text,
passwordController.value.text,
);
}
authTmp.stewardAppLogin(
token: result?.accessToken ?? '',
queryParameters: {
"mobile": usernameController.value.text,
"device_name": deviceName.value,
},
);
Get.offAndToNamed(CommonRoutes.role);
if (tmpRoles != null && tmpRoles.isNotEmpty ) {
await gService.saveSelectedModule(_module);
await tokenStorageService.saveModule(_module);
await tokenStorageService.saveAccessToken(
_module,
result?.accessToken ?? '',
);
await tokenStorageService.saveRefreshToken(
_module,
result?.accessToken ?? '',
);
await tokenStorageService.saveRoles(_module, tmpRoles);
if (rememberMe.value) {
await tokenStorageService.saveUserPass(
_module,
usernameController.value.text,
passwordController.value.text,
);
}
authTmp.stewardAppLogin(
token: result?.accessToken ?? '',
queryParameters: {
"mobile": usernameController.value.text,
"device_name": deviceName.value,
},
);
/* if (tmpRoles!.length > 1) {
Get.offAndToNamed(CommonRoutes.role);
} else {
Get.offAllNamed(StewardRoutes.initSteward);
} */
Get.snackbar(
'با احترام ',
'دسترسی شما در دست اقدام میباشد ',
backgroundColor: AppColor.warning,
snackPosition: SnackPosition.TOP,
duration: Duration(seconds: 5),
).show();
}
},
onError: (error, stackTrace) {
if (error is DioException) {