TIDE/backend/app/Post/UseCases/ListRecentPosts/ListRecentPosts.php
yisroel 7ec46aa8f9
implement ListRecentPosts use case
validates limit > 0 (zero or negative -> BadRequest), then
delegates to PostRepository->findRecent. 49 tests pass.
2026-05-06 15:24:15 +03:00

28 lines
590 B
PHP

<?php
namespace App\Post\UseCases\ListRecentPosts;
use App\Exceptions\BadRequestException;
use App\Post\Post;
use App\Post\PostRepository;
class ListRecentPosts
{
public function __construct(
private PostRepository $postRepo,
) {}
/**
* @return Post[]
*
* @throws BadRequestException
*/
public function execute(ListRecentPostsRequest $request): array
{
if ($request->limit <= 0) {
throw new BadRequestException('limit must be positive');
}
return $this->postRepo->findRecent($request->limit);
}
}