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