Files
rasadyar_application/packages/auth/lib/data/common/dio_manager.dart

51 lines
1.3 KiB
Dart
Raw Normal View History

2025-05-14 11:44:46 +03:30
import 'package:rasadyar_auth/data/repositories/auth_repository_imp.dart';
import 'package:rasadyar_core/core.dart';
import '../di/auth_di.dart';
import 'constant.dart';
/*
class DioRemoteManager {
DioRemote? _currentClient;
ApiEnvironment? _currentEnv;
Future<DioRemote> setEnvironment([ApiEnvironment env = ApiEnvironment.dam]) async {
if (_currentEnv != env) {
_currentClient = DioRemote(
baseUrl: env.baseUrl,
interceptors: AppInterceptor(
refreshTokenCallback: () async{
return null;
},
),
);
2025-05-14 15:01:03 +03:30
await _currentClient?.init();
_currentEnv = env;
}
return _currentClient!;
}
DioRemote get currentClient {
if (_currentClient == null) {
throw Exception('Call setEnvironment() before accessing DioRemote.');
}
return _currentClient!;
}
ApiEnvironment? get currentEnv => _currentEnv;
}
Future<void> switchAuthEnvironment(ApiEnvironment env) async {
final manager = diAuth.get<DioRemoteManager>();
2025-05-14 15:01:03 +03:30
final dioRemote = await manager.setEnvironment(env);
if (diAuth.isRegistered<AuthRepositoryImpl>()) {
2025-05-14 15:01:03 +03:30
await diAuth.unregister<AuthRepositoryImpl>();
}
diAuth.registerLazySingleton<AuthRepositoryImpl>(() => AuthRepositoryImpl(dioRemote));
}
*/