feat: API 연동 개선 및 라이선스 모델 확장
- 라이선스 모델 전면 개편 (상세 필드 추가, 계산 필드 구현) - API 응답 처리 개선 (HTTP 상태 코드 기반) - 장비 출고 폼 컨트롤러 추가 - 회사 지점 정보 모델 추가 - 공통 데이터 모델 구조 추가 - 전체 서비스 레이어 API 호출 방식 통일 - UI 컴포넌트 마이너 개선
This commit is contained in:
@@ -10,7 +10,6 @@ import 'package:superport/data/models/equipment/equipment_out_request.dart';
|
||||
import 'package:superport/data/models/equipment/equipment_request.dart';
|
||||
import 'package:superport/data/models/equipment/equipment_response.dart';
|
||||
import 'package:superport/models/equipment_unified_model.dart';
|
||||
import 'package:superport/utils/constants.dart';
|
||||
|
||||
class EquipmentService {
|
||||
final EquipmentRemoteDataSource _remoteDataSource = GetIt.instance<EquipmentRemoteDataSource>();
|
||||
@@ -34,9 +33,9 @@ class EquipmentService {
|
||||
|
||||
return dtoList.map((dto) => _convertListDtoToEquipment(dto)).toList();
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to fetch equipment list: $e');
|
||||
throw ServerFailure(message: 'Failed to fetch equipment list: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,9 +58,9 @@ class EquipmentService {
|
||||
final response = await _remoteDataSource.createEquipment(request);
|
||||
return _convertResponseToEquipment(response);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to create equipment: $e');
|
||||
throw ServerFailure(message: 'Failed to create equipment: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,11 +70,16 @@ class EquipmentService {
|
||||
final response = await _remoteDataSource.getEquipmentDetail(id);
|
||||
return _convertResponseToEquipment(response);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to fetch equipment detail: $e');
|
||||
throw ServerFailure(message: 'Failed to fetch equipment detail: $e');
|
||||
}
|
||||
}
|
||||
|
||||
// 장비 조회 (getEquipmentDetail의 alias)
|
||||
Future<Equipment> getEquipment(int id) async {
|
||||
return getEquipmentDetail(id);
|
||||
}
|
||||
|
||||
// 장비 수정
|
||||
Future<Equipment> updateEquipment(int id, Equipment equipment) async {
|
||||
@@ -96,9 +100,9 @@ class EquipmentService {
|
||||
final response = await _remoteDataSource.updateEquipment(id, request);
|
||||
return _convertResponseToEquipment(response);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to update equipment: $e');
|
||||
throw ServerFailure(message: 'Failed to update equipment: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,9 +111,9 @@ class EquipmentService {
|
||||
try {
|
||||
await _remoteDataSource.deleteEquipment(id);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to delete equipment: $e');
|
||||
throw ServerFailure(message: 'Failed to delete equipment: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,9 +123,9 @@ class EquipmentService {
|
||||
final response = await _remoteDataSource.changeEquipmentStatus(id, status, reason);
|
||||
return _convertResponseToEquipment(response);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to change equipment status: $e');
|
||||
throw ServerFailure(message: 'Failed to change equipment status: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,9 +141,9 @@ class EquipmentService {
|
||||
|
||||
return await _remoteDataSource.addEquipmentHistory(equipmentId, request);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to add equipment history: $e');
|
||||
throw ServerFailure(message: 'Failed to add equipment history: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,9 +152,9 @@ class EquipmentService {
|
||||
try {
|
||||
return await _remoteDataSource.getEquipmentHistory(equipmentId, page: page, perPage: perPage);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to fetch equipment history: $e');
|
||||
throw ServerFailure(message: 'Failed to fetch equipment history: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,9 +175,9 @@ class EquipmentService {
|
||||
|
||||
return await _remoteDataSource.equipmentIn(request);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to process equipment in: $e');
|
||||
throw ServerFailure(message: 'Failed to process equipment in: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,9 +200,9 @@ class EquipmentService {
|
||||
|
||||
return await _remoteDataSource.equipmentOut(request);
|
||||
} on ServerException catch (e) {
|
||||
throw Failure(message: e.message);
|
||||
throw ServerFailure(message: e.message);
|
||||
} catch (e) {
|
||||
throw Failure(message: 'Failed to process equipment out: $e');
|
||||
throw ServerFailure(message: 'Failed to process equipment out: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user