for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace App\Infrastructure\IO\Http\User\GetIndex;
use App\Application\User\Entity\UserRepository;
use App\Infrastructure\IO\Http\User\GetIndex\Response\ResponseFactory;
use OpenApi\Annotations as OA;
use Psr\Http\Message\ResponseInterface;
/**
* @OA\Tag(
* name="user",
* description="Users"
* )
*
* @OA\Get(
* tags={"user"},
* path="/users/",
* summary="Returns paginated users",
* description="",
* security={{"ApiKey": {}}},
* @OA\Response(
* response="200",
* description="Success",
* @OA\JsonContent(
* allOf={
* @OA\Schema(ref="#/components/schemas/Response"),
* @OA\Schema(
* @OA\Property(
* property="data",
* type="object",
* property="users",
* type="array",
* @OA\Items(ref="#/components/schemas/UserIndexResponse")
* ),
* },
*/
final class Action
{
public function __invoke(
ResponseFactory $responseFactory,
UserRepository $userRepository,
): ResponseInterface {
$dataReader = $userRepository->findAllOrderByLogin();
return $responseFactory->create($dataReader);
}