37 lines
1.3 KiB
Dart
37 lines
1.3 KiB
Dart
import 'package:rasadyar_auth/auth.dart';
|
|
import 'package:rasadyar_auth/data/services/token_storage_service.dart';
|
|
import 'package:rasadyar_core/core.dart';
|
|
import 'package:rasadyar_inspection/inspection.dart';
|
|
|
|
class AuthService extends GetxService {
|
|
var tokenService = Get.find<TokenStorageService>();
|
|
RxBool accessRes = false.obs;
|
|
RxBool refAccessRes = false.obs;
|
|
@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);
|
|
});
|
|
|
|
|
|
everAll([accessRes, refAccessRes], (_) {
|
|
if (accessRes.value && refAccessRes.value) {
|
|
|
|
Get.offAndToNamed(InspectionRoutes.inspection);
|
|
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}');
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|