<?php

declare(strict_types=1);

namespace {{ tree.getFullNameSpaceOfFile(file, entity, action) }};

use App\Base\AbstractController;
use App\Base\AbstractResponse;
{% for dependency in dependencyzz %}
use {{ dependency }};{% endfor %}
use Illuminate\Http\JsonResponse;

class {{ helper.getClassName(file, entity, action) }} extends AbstractController
{
    public function __invoke({{ action + entity.name }}Request $Request, {{ action + entity.name }} $ReadPage): JsonResponse
    {
        /** @var \App\Models\User $User */
        $User = auth()->user();

        $Page = $ReadPage->run($User->Id, $Request->validated());
        /* @phpstan-ignore-next-line */
        $Page->load(['User']);

        return AbstractResponse::sendPage($Page);
    }
}
