implement SearchUsers use case
This commit is contained in:
parent
31a807f0ae
commit
d917e76f1b
5 changed files with 93 additions and 0 deletions
29
backend/app/User/UseCases/SearchUsers/SearchUsers.php
Normal file
29
backend/app/User/UseCases/SearchUsers/SearchUsers.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
namespace App\User\UseCases\SearchUsers;
|
||||
|
||||
use App\Exceptions\BadRequestException;
|
||||
use App\User\User;
|
||||
use App\User\UserRepository;
|
||||
|
||||
class SearchUsers
|
||||
{
|
||||
public function __construct(
|
||||
private UserRepository $userRepo,
|
||||
) {}
|
||||
|
||||
/**
|
||||
* @return User[]
|
||||
*
|
||||
* @throws BadRequestException
|
||||
*/
|
||||
public function execute(SearchUsersRequest $request): array
|
||||
{
|
||||
$query = trim($request->query);
|
||||
if ($query === '') {
|
||||
throw new BadRequestException('query is required');
|
||||
}
|
||||
|
||||
return $this->userRepo->search($query);
|
||||
}
|
||||
}
|
||||
10
backend/app/User/UseCases/SearchUsers/SearchUsersRequest.php
Normal file
10
backend/app/User/UseCases/SearchUsers/SearchUsersRequest.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace App\User\UseCases\SearchUsers;
|
||||
|
||||
class SearchUsersRequest
|
||||
{
|
||||
public function __construct(
|
||||
public string $query,
|
||||
) {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue