id()) ->latest() ->paginate(20); return view('nail-polish-imports.index', compact('imports')); } public function create() { return view('nail-polish-imports.create'); } public function store(Request $request) { $request->validate([ 'image' => 'required|image|mimes:jpeg,png,jpg,webp|max:10240', ]); $file = $request->file('image'); $path = $file->store('nail-polish-imports', 'public'); $import = NailPolishImport::create([ 'user_id' => auth()->id(), 'image_path' => $path, 'status' => 'pending', ]); ProcessNailPolishImage::dispatch($import->id); return redirect()->route('nail-polish-imports.show', $import) ->with('success', 'Bild hochgeladen! Die KI analysiert es jetzt im Hintergrund.'); } public function show(NailPolishImport $nailPolishImport) { // Nur eigene Imports ansehen abort_if($nailPolishImport->user_id !== auth()->id(), 403); return view('nail-polish-imports.show', ['import' => $nailPolishImport->load('nailPolish.manufacturer')]); } }