# Mock Service 제거 계획 > 작성일: 2025-01-09 > 목적: Real API 전용으로 전환 (2025-01-07 결정사항) ## 📋 제거 대상 (25개 파일) ### Controllers - List (8개) - [x] `user_list_controller_refactored.dart` ✅ - [x] `company_list_controller_refactored.dart` ✅ - [x] `warehouse_location_list_controller_refactored.dart` ✅ - [ ] `warehouse_location_list_controller.dart` (구버전) - [ ] `user_list_controller.dart` (구버전) - [ ] `company_list_controller.dart` (구버전) - [x] `equipment_list_controller_refactored.dart` (새로 생성) ✅ - [ ] `license_list_controller.dart` ### Controllers - Form (5개) - [ ] `equipment_in_form_controller.dart` - [ ] `equipment_out_form_controller.dart` - [ ] `warehouse_location_form_controller.dart` - [ ] `user_form_controller.dart` - [ ] `license_form_controller.dart` ### Views (9개) - [ ] `company_list_redesign.dart` - [ ] `equipment_list_redesign.dart` - [ ] `license_list_redesign.dart` - [ ] `user_list_redesign.dart` - [ ] `equipment_in_form.dart` - [ ] `equipment_out_form.dart` - [ ] `company_form.dart` - [ ] `license_form.dart` - [ ] `user_form.dart` ### Core (4개) - [ ] `main.dart` - [x] `base_list_controller.dart` ✅ - [ ] `auth_service.dart` - [ ] `mock_data_service.dart` (파일 삭제) ## 🔄 제거 패턴 ### 1. Controller 수정 패턴 ```dart // BEFORE class SomeController extends ChangeNotifier { final MockDataService? dataService; bool _useApi = true; Future loadData() async { if (_useApi && _service != null) { // API 호출 } else { // Mock 데이터 사용 } } } // AFTER class SomeController extends ChangeNotifier { // MockDataService 완전 제거 // useApi 플래그 제거 Future loadData() async { // API 호출만 유지 } } ``` ### 2. View 수정 패턴 ```dart // BEFORE ChangeNotifierProvider( create: (_) => SomeController( dataService: GetIt.instance(), ), ) // AFTER ChangeNotifierProvider( create: (_) => SomeController(), ) ``` ### 3. BaseListController 수정 ```dart // useApi 파라미터 제거 // Mock 관련 로직 제거 ``` ## ⚠️ 주의사항 1. **GetIt 의존성**: MockDataService가 DI에 등록되지 않았으므로 직접 전달 부분만 제거 2. **테스트 코드**: 테스트에서 Mock을 사용하는 경우 별도 처리 필요 3. **Environment.useApi**: 환경변수 자체는 유지 (향후 완전 제거) 4. **백업**: 중요 변경사항이므로 커밋 전 백업 필수 ## 📊 진행 상황 - **시작**: 2025-01-09 - **예상 완료**: 2025-01-09 - **진행률**: 5/26 파일 (19%) - **완료 항목**: - BaseListController (useApi 파라미터 제거) - WarehouseLocationListControllerRefactored (Mock 코드 제거) - CompanyListControllerRefactored (Mock 코드 제거) - UserListControllerRefactored (Mock 코드 제거) - EquipmentListControllerRefactored (새로 생성, Mock 없이 구현) ## 🔧 실행 순서 1. BaseListController에서 useApi 관련 로직 제거 2. Refactored Controllers 수정 (3개) 3. 기존 Controllers 수정 (나머지) 4. Form Controllers 수정 5. Views 수정 6. Core 파일 정리 7. MockDataService 파일 삭제 8. 테스트 실행 및 검증