- 전체 371개 파일 중 82개 미사용 파일 식별 - Phase 1: 33개 파일 삭제 예정 (100% 안전) - Phase 2: 30개 파일 삭제 검토 예정 - Phase 3: 19개 파일 수동 검토 예정 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
1.7 KiB
Dart
53 lines
1.7 KiB
Dart
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);
|
|
}
|
|
} |