user()->may(Permission::AttachmentUpload), 403); $this->decodeKeys(); $study = Study::findOrFail($this->key); $request->validate([ 'file.*' => 'required|mimes:pdf,jpg,png|max:2048', ]); foreach ($request->file('file') as $file) { $study->addMedia($file)->toMediaCollection('uploads'); } return response()->json(['success' => 'Files uploaded successfully']); } public function delete($mediaId) { abort_unless(auth()->user()->may(Permission::AttachmentUpload), 403); $this->decodeKeys(); $study = Study::findOrFail($this->key); $media = $study->getMedia('uploads')->where('id', (int) $mediaId)->first(); if ($media) { $media->delete(); return redirect()->back()->with('success', 'File deleted successfully'); } return redirect()->back()->with('error', 'File not found'); } }