ldc-boutique-cnc-sable/app/Http/Requests/Fo/Orders/ConfirmOrderRequest.php

41 lines
878 B
PHP

<?php
declare(strict_types=1);
namespace App\Http\Requests\Fo\Orders;
use App\Actions\Orders\FinalizeOrderInput;
use Illuminate\Foundation\Http\FormRequest;
use Infrastructure\Adapters\Services\AppCustomerAuthService;
class ConfirmOrderRequest extends FormRequest
{
public function __construct(
private readonly AppCustomerAuthService $authService,
) {
}
public function authorize(): bool
{
return $this->authService->check();
}
public function toFinalizeOrderInput(): FinalizeOrderInput
{
$customer = $this->authService->getCustomerAsMandatory();
return new FinalizeOrderInput(
shopperId: $customer->getId(),
);
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'ok_cgv' => ['accepted'],
];
}
}