complete Complete User Request Submission section RAD-1
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Medium;
|
||||
use App\Services\FileStorageService;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
|
||||
class MediumController extends Controller
|
||||
{
|
||||
protected FileStorageService $fileStorageService;
|
||||
|
||||
public function __construct(FileStorageService $fileStorageService)
|
||||
{
|
||||
$this->fileStorageService = $fileStorageService;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$medium = Medium::latest()->paginate(15);
|
||||
return Inertia::admin('Medium', [
|
||||
'medium' => $medium
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'file' => 'required|max:20240',
|
||||
]);
|
||||
|
||||
$file = $request->file('file');
|
||||
|
||||
$fileRecord = $this->fileStorageService->storeFile($file, 'public', 'media');
|
||||
|
||||
return response()->json($fileRecord);
|
||||
}
|
||||
|
||||
public function destroy(Medium $media)
|
||||
{
|
||||
$this->fileStorageService->deleteMedium($media);
|
||||
$media->delete();
|
||||
return redirect()->back()->with('success', 'فایل مورد نظر با موفقیت حذف شد.');
|
||||
}
|
||||
|
||||
public function getMedium()
|
||||
{
|
||||
$medium = Medium::latest()->paginate(15);
|
||||
return response()->json($medium);
|
||||
}
|
||||
|
||||
public function download(Medium $media)
|
||||
{
|
||||
return $this->fileStorageService->downloadFile($media);
|
||||
}
|
||||
|
||||
public function serve(Medium $media)
|
||||
{
|
||||
return $this->fileStorageService->serveFile($media);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user