42 lines
1.5 KiB
PHP
42 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\PortalProfileInstallation;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
class PortalProfileInstallationController extends Controller
|
|
{
|
|
public function preview(Request $request, PortalProfileInstallation $installation): JsonResponse|Response
|
|
{
|
|
$plan = $installation->preview($request->user());
|
|
|
|
return $request->expectsJson() ? response()->json($plan) : Inertia::render('profiles/installation', $plan);
|
|
}
|
|
|
|
public function apply(Request $request, PortalProfileInstallation $installation): JsonResponse
|
|
{
|
|
return response()->json($installation->apply($request->user(), $request->all()));
|
|
}
|
|
|
|
public function bootstrap(Request $request, PortalProfileInstallation $installation): JsonResponse
|
|
{
|
|
return response()->json($installation->bootstrap($request->user(), $request->all()));
|
|
}
|
|
|
|
public function bootstrapPreview(Request $request, string $id, PortalProfileInstallation $installation): JsonResponse|Response
|
|
{
|
|
$plan = $installation->bootstrapPreview($request->user(), $id);
|
|
|
|
return $request->expectsJson() ? response()->json($plan) : Inertia::render('profiles/bootstrap-confirmation', $plan);
|
|
}
|
|
|
|
public function confirmBootstrap(Request $request, string $id, PortalProfileInstallation $installation): JsonResponse
|
|
{
|
|
return response()->json($installation->confirmBootstrap($request->user(), $id, $request->all()));
|
|
}
|
|
}
|