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 } ' ) ;
}
} ) ;
}
}