34 lines
1.3 KiB
PHP
34 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\CompanyComparison;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
final class CompanyComparisonController extends Controller
|
|
{
|
|
public function index(Request $request, CompanyComparison $service): Response|JsonResponse
|
|
{
|
|
$answers = $service->answers($request->all());
|
|
$data = ['definition' => $service->definition(), 'answers' => $answers, 'result' => $service->evaluate($answers),
|
|
'case' => null, 'saved' => null, 'canWrite' => false, 'history' => [], 'historyNext' => null, 'historical' => false, 'workingCopy' => false];
|
|
|
|
return $request->expectsJson() ? response()->json($data) : Inertia::render('investment/company-comparison', $data);
|
|
}
|
|
|
|
public function show(Request $request, string $id, CompanyComparison $service): Response|JsonResponse
|
|
{
|
|
$data = ['definition' => $service->definition(), ...$service->view($request->user(), $id, $request->all())];
|
|
|
|
return $request->expectsJson() ? response()->json($data) : Inertia::render('investment/company-comparison', $data);
|
|
}
|
|
|
|
public function save(Request $request, string $id, CompanyComparison $service): JsonResponse
|
|
{
|
|
return response()->json($service->save($request->user(), $id, $request->all()));
|
|
}
|
|
}
|