import '../models/instruction_log.dart'; import 'interface/IRepository.dart'; class LocalInstructionLogRepository implements Repository { final List _logs = [ InstructionLog( id: '1', workerId: '1', instructionId: '1', status: InstructionStatus.completed, notes: 'Работа выполнена качественно' ), InstructionLog( id: '2', workerId: '2', instructionId: '2', status: InstructionStatus.assigned, notes: 'В процессе выполнения' ), InstructionLog( id: '3', workerId: '1', instructionId: '3', status: InstructionStatus.assigned, notes: 'Ожидает начала работ' ) ]; @override Future> load() async { return List.of(_logs); } @override Future add(InstructionLog log) async { _logs.add(log); return log; } @override Future update(InstructionLog log) async { final index = _logs.indexWhere((l) => l.id == log.id); if (index == -1) { throw Exception('Запись журнала не найдена'); } _logs[index] = log; } @override Future delete(String? id) async { _logs.removeWhere((log) => log.id == id); } Future> getByWorkerId(String workerId) async { return _logs.where((log) => log.workerId == workerId).toList(); } Future> getByInstructionId(String instructionId) async { return _logs.where((log) => log.instructionId == instructionId).toList(); } Future> getByStatus(InstructionStatus status) async { return _logs.where((log) => log.status == status).toList(); } }