equipmentService->getEquipments( $request->all(), $request->input('per_page', 20) ); if ($request->header('HX-Request')) { return view('equipment.partials.table', compact('equipments')); } return response()->json([ 'success' => true, 'data' => $equipments->items(), 'meta' => [ 'current_page' => $equipments->currentPage(), 'total' => $equipments->total(), 'per_page' => $equipments->perPage(), 'last_page' => $equipments->lastPage(), ], ]); } public function store(StoreEquipmentRequest $request): JsonResponse { try { $equipment = $this->equipmentService->createEquipment($request->validated()); return response()->json([ 'success' => true, 'message' => '설비가 등록되었습니다.', 'data' => $equipment, ], 201); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage(), ], 400); } } public function show(int $id): JsonResponse { $equipment = $this->equipmentService->getEquipmentById($id); if (! $equipment) { return response()->json([ 'success' => false, 'message' => '설비를 찾을 수 없습니다.', ], 404); } return response()->json([ 'success' => true, 'data' => $equipment, ]); } public function update(UpdateEquipmentRequest $request, int $id): JsonResponse { try { $equipment = $this->equipmentService->updateEquipment($id, $request->validated()); return response()->json([ 'success' => true, 'message' => '설비 정보가 수정되었습니다.', 'data' => $equipment, ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage(), ], 400); } } public function destroy(int $id): JsonResponse { try { $this->equipmentService->deleteEquipment($id); return response()->json([ 'success' => true, 'message' => '설비가 삭제되었습니다.', ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage(), ], 400); } } public function restore(int $id): JsonResponse { try { $this->equipmentService->restoreEquipment($id); return response()->json([ 'success' => true, 'message' => '설비가 복원되었습니다.', ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage(), ], 400); } } public function templates(int $id): JsonResponse { $equipment = $this->equipmentService->getEquipmentById($id); if (! $equipment) { return response()->json(['success' => false, 'message' => '설비를 찾을 수 없습니다.'], 404); } return response()->json([ 'success' => true, 'data' => $equipment->inspectionTemplates, ]); } }