Files
superport/lib/domain/repositories/equipment_repository.dart
JiWoong Sul a13c485302 feat: API 통합 2차 작업 완료
- 자동 로그인 구현: 앱 시작 시 토큰 확인 후 적절한 화면으로 라우팅
- AuthInterceptor 개선: AuthService와 통합하여 토큰 관리 일원화
- 로그아웃 기능 개선: AuthService를 사용한 API 로그아웃 처리
- 대시보드 API 연동: MockDataService에서 실제 API로 완전 전환
  - Dashboard DTO 모델 생성 (OverviewStats, RecentActivity 등)
  - DashboardRemoteDataSource 및 DashboardService 구현
  - OverviewController를 ChangeNotifier 패턴으로 개선
  - OverviewScreenRedesign에 Provider 패턴 적용
- API 통합 진행 상황 문서 업데이트
2025-07-24 15:55:05 +09:00

68 lines
2.0 KiB
Dart

import 'package:dartz/dartz.dart';
import '../../core/errors/failures.dart';
import '../../models/equipment_unified_model.dart';
/// 장비 관리 Repository 인터페이스
abstract class EquipmentRepository {
/// 장비 입고 목록 조회
Future<Either<Failure, List<EquipmentIn>>> getEquipmentIns({
int? page,
int? limit,
String? search,
String? sortBy,
String? sortOrder,
});
/// 장비 입고 상세 조회
Future<Either<Failure, EquipmentIn>> getEquipmentInById(int id);
/// 장비 입고 생성
Future<Either<Failure, EquipmentIn>> createEquipmentIn(EquipmentIn equipmentIn);
/// 장비 입고 수정
Future<Either<Failure, EquipmentIn>> updateEquipmentIn(int id, EquipmentIn equipmentIn);
/// 장비 입고 삭제
Future<Either<Failure, void>> deleteEquipmentIn(int id);
/// 장비 출고 목록 조회
Future<Either<Failure, List<EquipmentOut>>> getEquipmentOuts({
int? page,
int? limit,
String? search,
String? sortBy,
String? sortOrder,
});
/// 장비 출고 상세 조회
Future<Either<Failure, EquipmentOut>> getEquipmentOutById(int id);
/// 장비 출고 생성
Future<Either<Failure, EquipmentOut>> createEquipmentOut(EquipmentOut equipmentOut);
/// 장비 출고 수정
Future<Either<Failure, EquipmentOut>> updateEquipmentOut(int id, EquipmentOut equipmentOut);
/// 장비 출고 삭제
Future<Either<Failure, void>> deleteEquipmentOut(int id);
/// 장비 일괄 출고
Future<Either<Failure, List<EquipmentOut>>> createBatchEquipmentOut(List<EquipmentOut> equipmentOuts);
/// 제조사 목록 조회
Future<Either<Failure, List<String>>> getManufacturers();
/// 장비명 목록 조회
Future<Either<Failure, List<String>>> getEquipmentNames();
/// 장비 이력 조회
Future<Either<Failure, List<dynamic>>> getEquipmentHistory(int equipmentId);
/// 장비 검색
Future<Either<Failure, List<Equipment>>> searchEquipment({
String? manufacturer,
String? name,
String? category,
String? serialNumber,
});
}