Files
rasadyar_application/lib/infrastructure/service/auth_service.dart

38 lines
1.3 KiB
Dart
Raw Normal View History

2025-05-17 17:07:44 +03:30
import 'package:rasadyar_auth/auth.dart';
import 'package:rasadyar_auth/data/services/token_storage_service.dart';
import 'package:rasadyar_core/core.dart';
2025-05-18 09:32:43 +03:30
import 'package:rasadyar_inspection/inspection.dart';
2025-05-17 17:07:44 +03:30
class AuthService extends GetxService {
2025-05-18 09:32:43 +03:30
var tokenService = Get.find<TokenStorageService>();
2025-05-17 17:07:44 +03:30
RxBool accessRes = false.obs;
RxBool refAccessRes = false.obs;
2025-05-18 09:57:10 +03:30
2025-05-17 17:07:44 +03:30
@override
void onInit() {
super.onInit();
ever(tokenService.accessToken, (callback) {
iLog('Access token callback: $callback, value: ${tokenService.accessToken.value}');
accessRes.value = (callback != null);
});
ever(tokenService.refreshToken, (callback) {
fLog('Refresh token callback: $callback, value: ${tokenService.refreshToken.value}');
refAccessRes.value = (callback != null);
});
2025-05-18 09:32:43 +03:30
2025-05-17 17:07:44 +03:30
everAll([accessRes, refAccessRes], (_) {
if (accessRes.value && refAccessRes.value) {
2025-05-18 09:32:43 +03:30
Get.offAndToNamed(InspectionRoutes.inspection);
2025-05-17 17:07:44 +03:30
fLog('Both accessToken and refreshToken are available: accessToken=${tokenService.accessToken.value}, refreshToken=${tokenService.refreshToken.value}');
} else {
fLog('One or both tokens are missing: accessToken=${tokenService.accessToken.value}, refreshToken=${tokenService.refreshToken.value}');
}
});
}
}