전역 구조 리팩터링 및 테스트 확장
This commit is contained in:
@@ -4,7 +4,9 @@ import 'package:dio/dio.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
|
||||
import 'core/network/api_client.dart';
|
||||
import 'core/network/api_error.dart';
|
||||
import 'core/network/interceptors/auth_interceptor.dart';
|
||||
import 'core/services/token_storage.dart';
|
||||
import 'features/masters/customer/data/repositories/customer_repository_remote.dart';
|
||||
import 'features/masters/customer/domain/repositories/customer_repository.dart';
|
||||
import 'features/masters/group/data/repositories/group_repository_remote.dart';
|
||||
@@ -55,13 +57,20 @@ Future<void> initInjection({
|
||||
final dio = Dio(options);
|
||||
|
||||
// 인터셉터 등록 (Auth 등)
|
||||
dio.interceptors.add(AuthInterceptor());
|
||||
final tokenStorage = createTokenStorage();
|
||||
sl.registerLazySingleton<TokenStorage>(() => tokenStorage);
|
||||
sl.registerLazySingleton<ApiErrorMapper>(ApiErrorMapper.new);
|
||||
|
||||
final authInterceptor = AuthInterceptor(tokenStorage: tokenStorage, dio: dio);
|
||||
dio.interceptors.add(authInterceptor);
|
||||
|
||||
// 개발용 로거는 필요 시 추가 (pretty_dio_logger 등)
|
||||
// if (!kReleaseMode) { dio.interceptors.add(PrettyDioLogger(...)); }
|
||||
|
||||
// ApiClient 등록
|
||||
sl.registerLazySingleton<ApiClient>(() => ApiClient(dio: dio));
|
||||
sl.registerLazySingleton<ApiClient>(
|
||||
() => ApiClient(dio: dio, errorMapper: sl<ApiErrorMapper>()),
|
||||
);
|
||||
|
||||
// 리포지토리 등록 (예: 벤더)
|
||||
sl.registerLazySingleton<VendorRepository>(
|
||||
|
||||
Reference in New Issue
Block a user