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:
JiWoong Sul
2025-09-02 19:51:40 +09:00
parent 650cd4be55
commit c419f8f458
149 changed files with 12934 additions and 3644 deletions

View File

@@ -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(

View File

@@ -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,
});
}

View 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);
}
}

View 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);
}
}