- 전체 371개 파일 중 82개 미사용 파일 식별 - Phase 1: 33개 파일 삭제 예정 (100% 안전) - Phase 2: 30개 파일 삭제 검토 예정 - Phase 3: 19개 파일 수동 검토 예정 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
47 lines
1.3 KiB
Dart
47 lines
1.3 KiB
Dart
import 'package:dartz/dartz.dart';
|
|
import '../../repositories/company_repository.dart';
|
|
import '../../../core/constants/app_constants.dart';
|
|
import '../../../models/company_model.dart';
|
|
import '../../../data/models/common/paginated_response.dart';
|
|
import '../../../core/errors/failures.dart';
|
|
import '../base_usecase.dart';
|
|
|
|
/// 회사 목록 조회 파라미터
|
|
class GetCompaniesParams {
|
|
final int page;
|
|
final int perPage;
|
|
final String? search;
|
|
final bool? isActive;
|
|
|
|
const GetCompaniesParams({
|
|
this.page = 1,
|
|
this.perPage = AppConstants.companyPageSize,
|
|
this.search,
|
|
this.isActive,
|
|
});
|
|
}
|
|
|
|
/// 회사 목록 조회 UseCase
|
|
class GetCompaniesUseCase extends UseCase<PaginatedResponse<Company>, GetCompaniesParams> {
|
|
final CompanyRepository _companyRepository;
|
|
|
|
GetCompaniesUseCase(this._companyRepository);
|
|
|
|
@override
|
|
Future<Either<Failure, PaginatedResponse<Company>>> call(GetCompaniesParams params) async {
|
|
try {
|
|
final result = await _companyRepository.getCompanies(
|
|
page: params.page,
|
|
limit: params.perPage,
|
|
search: params.search,
|
|
);
|
|
|
|
return result;
|
|
} catch (e) {
|
|
return Left(UnknownFailure(
|
|
message: '회사 목록을 불러오는 중 오류가 발생했습니다.',
|
|
originalError: e,
|
|
));
|
|
}
|
|
}
|
|
} |