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:
113
lib/data/repositories/model_repository_impl.dart
Normal file
113
lib/data/repositories/model_repository_impl.dart
Normal file
@@ -0,0 +1,113 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
import '../../core/errors/failures.dart';
|
||||
import '../../core/errors/exceptions.dart';
|
||||
import '../../domain/repositories/model_repository.dart';
|
||||
import '../datasources/remote/model_remote_datasource.dart';
|
||||
import '../models/model/model_dto.dart';
|
||||
|
||||
/// Models 관리 Repository 구현체
|
||||
/// 모델 정보 CRUD 작업을 처리하며 도메인 모델과 API DTO 간 변환을 담당
|
||||
@Injectable(as: ModelRepository)
|
||||
class ModelRepositoryImpl implements ModelRepository {
|
||||
final ModelRemoteDataSource remoteDataSource;
|
||||
|
||||
ModelRepositoryImpl({required this.remoteDataSource});
|
||||
|
||||
@override
|
||||
Future<Either<Failure, ModelListDto>> getModels({
|
||||
int? page,
|
||||
int? perPage,
|
||||
String? search,
|
||||
int? vendorId,
|
||||
bool? includeDeleted,
|
||||
}) async {
|
||||
try {
|
||||
final result = await remoteDataSource.getModels(
|
||||
page: page ?? 1,
|
||||
perPage: perPage ?? 10,
|
||||
search: search,
|
||||
vendorId: vendorId,
|
||||
includeDeleted: includeDeleted ?? false,
|
||||
);
|
||||
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 목록 조회 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, ModelDto>> getModelDetail(int id) async {
|
||||
try {
|
||||
final result = await remoteDataSource.getModelDetail(id);
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 상세 조회 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, ModelDto>> createModel(CreateModelRequest request) async {
|
||||
try {
|
||||
final result = await remoteDataSource.createModel(request);
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 생성 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, ModelDto>> updateModel(int id, UpdateModelRequest request) async {
|
||||
try {
|
||||
final result = await remoteDataSource.updateModel(id, request);
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 수정 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, void>> deleteModel(int id) async {
|
||||
try {
|
||||
await remoteDataSource.deleteModel(id);
|
||||
return const Right(null);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 삭제 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, ModelDto>> restoreModel(int id) async {
|
||||
try {
|
||||
final result = await remoteDataSource.restoreModel(id);
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '모델 복구 실패: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, List<ModelDto>>> getModelsByVendor(int vendorId) async {
|
||||
try {
|
||||
final result = await remoteDataSource.getModelsByVendor(vendorId);
|
||||
return Right(result);
|
||||
} on ServerException catch (e) {
|
||||
return Left(ServerFailure(message: e.message));
|
||||
} catch (e) {
|
||||
return Left(ServerFailure(message: '제조사별 모델 조회 실패: $e'));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user