stockMoveRepository->all(); return response()->json([ 'data' => StockMoveResource::collection($moves), 'status' => 'success' ]); } catch (\Exception $e) { Log::error('Error fetching stock moves: ' . $e->getMessage()); return response()->json([ 'message' => 'Une erreur est survenue lors de la récupération des mouvements de stock.', 'error' => config('app.debug') ? $e->getMessage() : null, ], 500); } } /** * Store a newly created stock move. */ public function store(StoreStockMoveRequest $request): JsonResponse { try { $move = $this->stockMoveRepository->create($request->validated()); return response()->json([ 'data' => new StockMoveResource($move), 'message' => 'Mouvement de stock enregistré avec succès.', 'status' => 'success' ], 201); } catch (\Exception $e) { Log::error('Error creating stock move: ' . $e->getMessage()); return response()->json([ 'message' => 'Une erreur est survenue lors de l\'enregistrement du mouvement de stock.', 'error' => config('app.debug') ? $e->getMessage() : null, ], 500); } } /** * Display the specified stock move. */ public function show(string $id): JsonResponse { try { $move = $this->stockMoveRepository->find((int) $id); if (!$move) { return response()->json(['message' => 'Mouvement de stock non trouvé.'], 404); } return response()->json([ 'data' => new StockMoveResource($move), 'status' => 'success' ]); } catch (\Exception $e) { Log::error('Error fetching stock move: ' . $e->getMessage()); return response()->json([ 'message' => 'Une erreur est survenue lors de la récupération du mouvement de stock.', 'error' => config('app.debug') ? $e->getMessage() : null, ], 500); } } }