backup: 사용하지 않는 파일 삭제 전 복구 지점
- 전체 371개 파일 중 82개 미사용 파일 식별 - Phase 1: 33개 파일 삭제 예정 (100% 안전) - Phase 2: 30개 파일 삭제 검토 예정 - Phase 3: 19개 파일 수동 검토 예정 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -12,20 +12,8 @@ class CreateEquipmentUseCase extends UseCase<EquipmentDto, EquipmentRequestDto>
|
||||
|
||||
@override
|
||||
Future<Either<Failure, EquipmentDto>> call(EquipmentRequestDto params) async {
|
||||
// 입력 검증
|
||||
if (params.companiesId <= 0) {
|
||||
return Left(ValidationFailure(
|
||||
message: '회사를 선택해주세요.',
|
||||
errors: {'companiesId': '회사는 필수 선택 항목입니다.'},
|
||||
));
|
||||
}
|
||||
|
||||
if (params.modelsId <= 0) {
|
||||
return Left(ValidationFailure(
|
||||
message: '모델을 선택해주세요.',
|
||||
errors: {'modelsId': '모델은 필수 선택 항목입니다.'},
|
||||
));
|
||||
}
|
||||
// 입력 검증 (백엔드에서 companies_id, models_id는 Optional이므로 null 허용)
|
||||
// 존재 여부 검증은 백엔드에서 수행
|
||||
|
||||
if (params.serialNumber.trim().isEmpty) {
|
||||
return Left(ValidationFailure(
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../repositories/equipment_repository.dart';
|
||||
import '../../../core/constants/app_constants.dart';
|
||||
import '../../../data/models/equipment/equipment_dto.dart';
|
||||
import '../../../core/errors/failures.dart';
|
||||
import '../../../data/models/common/paginated_response.dart';
|
||||
@@ -13,7 +14,7 @@ class GetEquipmentsParams {
|
||||
|
||||
const GetEquipmentsParams({
|
||||
this.page = 1,
|
||||
this.perPage = 20,
|
||||
this.perPage = AppConstants.equipmentPageSize,
|
||||
this.search,
|
||||
});
|
||||
}
|
||||
|
||||
21
lib/domain/usecases/equipment/restore_equipment_usecase.dart
Normal file
21
lib/domain/usecases/equipment/restore_equipment_usecase.dart
Normal file
@@ -0,0 +1,21 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../repositories/equipment_repository.dart';
|
||||
import '../../../data/models/equipment/equipment_dto.dart';
|
||||
import '../../../core/errors/failures.dart';
|
||||
import '../base_usecase.dart';
|
||||
|
||||
/// 장비 복구 UseCase
|
||||
class RestoreEquipmentUseCase extends UseCase<EquipmentDto, int> {
|
||||
final EquipmentRepository _equipmentRepository;
|
||||
|
||||
RestoreEquipmentUseCase(this._equipmentRepository);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, EquipmentDto>> call(int equipmentId) async {
|
||||
if (equipmentId <= 0) {
|
||||
return Left(ValidationFailure(message: '유효하지 않은 장비 ID입니다.'));
|
||||
}
|
||||
|
||||
return await _equipmentRepository.restoreEquipment(equipmentId);
|
||||
}
|
||||
}
|
||||
53
lib/domain/usecases/equipment/search_equipment_usecase.dart
Normal file
53
lib/domain/usecases/equipment/search_equipment_usecase.dart
Normal file
@@ -0,0 +1,53 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../repositories/equipment_repository.dart';
|
||||
import '../../../data/models/equipment/equipment_dto.dart';
|
||||
import '../../../core/errors/failures.dart';
|
||||
import '../base_usecase.dart';
|
||||
|
||||
/// 장비 시리얼 검색 UseCase
|
||||
class GetEquipmentBySerialUseCase extends UseCase<EquipmentDto, String> {
|
||||
final EquipmentRepository _equipmentRepository;
|
||||
|
||||
GetEquipmentBySerialUseCase(this._equipmentRepository);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, EquipmentDto>> call(String serial) async {
|
||||
if (serial.trim().isEmpty) {
|
||||
return Left(ValidationFailure(message: '시리얼 번호를 입력해주세요.'));
|
||||
}
|
||||
|
||||
return await _equipmentRepository.getEquipmentBySerial(serial);
|
||||
}
|
||||
}
|
||||
|
||||
/// 장비 바코드 검색 UseCase
|
||||
class GetEquipmentByBarcodeUseCase extends UseCase<EquipmentDto, String> {
|
||||
final EquipmentRepository _equipmentRepository;
|
||||
|
||||
GetEquipmentByBarcodeUseCase(this._equipmentRepository);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, EquipmentDto>> call(String barcode) async {
|
||||
if (barcode.trim().isEmpty) {
|
||||
return Left(ValidationFailure(message: '바코드를 입력해주세요.'));
|
||||
}
|
||||
|
||||
return await _equipmentRepository.getEquipmentByBarcode(barcode);
|
||||
}
|
||||
}
|
||||
|
||||
/// 회사별 장비 조회 UseCase
|
||||
class GetEquipmentsByCompanyUseCase extends UseCase<List<EquipmentDto>, int> {
|
||||
final EquipmentRepository _equipmentRepository;
|
||||
|
||||
GetEquipmentsByCompanyUseCase(this._equipmentRepository);
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<EquipmentDto>>> call(int companyId) async {
|
||||
if (companyId <= 0) {
|
||||
return Left(ValidationFailure(message: '올바른 회사 ID를 입력해주세요.'));
|
||||
}
|
||||
|
||||
return await _equipmentRepository.getEquipmentsByCompany(companyId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user