42 lines
1.4 KiB
PHP
42 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\ProductExperiments;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
final class ProductExperimentController extends Controller
|
|
{
|
|
public function index(Request $request, ProductExperiments $experiments): Response|JsonResponse
|
|
{
|
|
$data = $experiments->listing($request->user(), $request->all());
|
|
|
|
return $request->expectsJson() ? response()->json($data) : Inertia::render('management/experiments/index', $data);
|
|
}
|
|
|
|
public function create(Request $request, ProductExperiments $experiments): Response|JsonResponse
|
|
{
|
|
return $this->show($request, $experiments);
|
|
}
|
|
|
|
public function show(Request $request, ProductExperiments $experiments, ?string $id = null): Response|JsonResponse
|
|
{
|
|
$data = $experiments->view($request->user(), $id, $request->all());
|
|
|
|
return $request->expectsJson() ? response()->json($data) : Inertia::render('management/experiments/edit', $data);
|
|
}
|
|
|
|
public function store(Request $request, ProductExperiments $experiments): JsonResponse
|
|
{
|
|
return response()->json($experiments->save($request->user(), null, $request->all()), 201);
|
|
}
|
|
|
|
public function revise(Request $request, ProductExperiments $experiments, string $id): JsonResponse
|
|
{
|
|
return response()->json($experiments->save($request->user(), $id, $request->all()));
|
|
}
|
|
}
|