feat : profile and map
This commit is contained in:
71
packages/inspection/lib/injection/inspection_di.dart
Normal file
71
packages/inspection/lib/injection/inspection_di.dart
Normal file
@@ -0,0 +1,71 @@
|
||||
import 'package:rasadyar_core/core.dart';
|
||||
import 'package:rasadyar_inspection/data/data_source/remote/auth/auth_remote.dart';
|
||||
import 'package:rasadyar_inspection/data/data_source/remote/auth/auth_remote_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/data_source/remote/inspection/inspection_remote_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/data_source/remote/user/user_data_source_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/repositories/auth/auth_repository_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/repositories/inspection/inspection_repository_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/repositories/user/user_repository_imp.dart';
|
||||
import 'package:rasadyar_inspection/data/utils/dio_exception_handeler.dart';
|
||||
import 'package:rasadyar_inspection/presentation/routes/app_routes.dart';
|
||||
|
||||
GetIt diInspection = GetIt.instance;
|
||||
|
||||
Future<void> setupInspectionDI() async {
|
||||
diInspection.registerSingleton(DioErrorHandler());
|
||||
var tokenService = Get.find<TokenStorageService>();
|
||||
if (tokenService.baseurl.value == null) {
|
||||
await tokenService.saveBaseUrl('https://bazrasbackend.rasadyaar.ir/');
|
||||
}
|
||||
diInspection.registerLazySingleton<AppInterceptor>(
|
||||
() => AppInterceptor(
|
||||
//TODO : Update the base URL to the correct one for inspection module
|
||||
refreshTokenCallback: () async => null,
|
||||
saveTokenCallback: (String newToken) async {
|
||||
await tokenService.saveAccessToken(newToken);
|
||||
},
|
||||
clearTokenCallback: () async {
|
||||
await tokenService.deleteTokens();
|
||||
Get.offAllNamed(InspectionRoutes.auth, arguments: Module.inspection);
|
||||
},
|
||||
authArguments: Module.inspection,
|
||||
),
|
||||
instanceName: 'inspectionInterceptor',
|
||||
);
|
||||
|
||||
diInspection.registerLazySingleton<DioRemote>(() {
|
||||
return DioRemote(
|
||||
baseUrl: tokenService.baseurl.value,
|
||||
interceptors: diInspection.get<AppInterceptor>(instanceName: 'inspectionInterceptor'),
|
||||
);
|
||||
}, instanceName: 'inspectionDioRemote');
|
||||
|
||||
var dioRemote = diInspection.get<DioRemote>(instanceName: 'inspectionDioRemote');
|
||||
await dioRemote.init();
|
||||
|
||||
diInspection.registerLazySingleton<AuthRemote>(
|
||||
() => AuthRemoteImp(diInspection.get<DioRemote>(instanceName: 'inspectionDioRemote')),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton<AuthRepositoryImpl>(
|
||||
AuthRepositoryImpl(diInspection.get<AuthRemote>()),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton<UserRemoteDataSourceImp>(
|
||||
UserRemoteDataSourceImp(diInspection.get<DioRemote>(instanceName: 'inspectionDioRemote')),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton<UserRepositoryImp>(
|
||||
UserRepositoryImp(diInspection.get<UserRemoteDataSourceImp>()),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton<InspectionRemoteDataSourceImp>(
|
||||
InspectionRemoteDataSourceImp(diInspection.get<DioRemote>(instanceName: 'inspectionDioRemote')),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton<InspectionRepositoryImp>(
|
||||
InspectionRepositoryImp(remoteDataSource: diInspection.get<InspectionRemoteDataSourceImp>()),
|
||||
);
|
||||
|
||||
diInspection.registerSingleton(ImagePicker());
|
||||
}
|
||||
Reference in New Issue
Block a user