api integration

This commit is contained in:
2025-06-02 10:29:32 +05:30
parent 7c9e089c62
commit 805aa5e015
289 changed files with 40017 additions and 1082 deletions

View File

@@ -1,5 +1,6 @@
import 'package:get_it/get_it.dart';
import 'package:dio/dio.dart';
import 'package:kmobile/api/services/user_service.dart';
import '../api/services/auth_service.dart';
import '../api/interceptors/auth_interceptor.dart';
import '../data/repositories/auth_repository.dart';
@@ -11,31 +12,35 @@ final getIt = GetIt.instance;
Future<void> setupDependencies() async {
// Register Dio client
getIt.registerSingleton<Dio>(_createDioClient());
// Register secure storage
getIt.registerSingleton<SecureStorage>(SecureStorage());
// Register user service if needed
getIt.registerSingleton<UserService>(UserService(getIt<Dio>()));
// Register services
getIt.registerSingleton<AuthService>(AuthService(getIt<Dio>()));
// Register repositories
getIt.registerSingleton<AuthRepository>(
AuthRepository(getIt<AuthService>(), getIt<SecureStorage>()),
AuthRepository(
getIt<AuthService>(), getIt<UserService>(), getIt<SecureStorage>()),
);
// Add auth interceptor after repository is available
getIt<Dio>().interceptors.add(
AuthInterceptor(getIt<AuthRepository>(), getIt<Dio>()),
);
AuthInterceptor(getIt<AuthRepository>(), getIt<Dio>()),
);
// Register controllers/cubits
getIt.registerFactory<AuthCubit>(() => AuthCubit(getIt<AuthRepository>()));
getIt.registerFactory<AuthCubit>(() => AuthCubit(getIt<AuthRepository>(), getIt<UserService>()));
}
Dio _createDioClient() {
final dio = Dio(
BaseOptions(
baseUrl: 'http://localhost:3000',
baseUrl: 'http://lb-test-mobile-banking-app-192209417.ap-south-1.elb.amazonaws.com:8080',
connectTimeout: const Duration(seconds: 5),
receiveTimeout: const Duration(seconds: 3),
headers: {
@@ -44,7 +49,7 @@ Dio _createDioClient() {
},
),
);
// Add logging interceptor for development
dio.interceptors.add(LogInterceptor(
request: true,
@@ -54,6 +59,6 @@ Dio _createDioClient() {
responseBody: true,
error: true,
));
return dio;
}
}