You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 line
1.0KB

  1. <?php
  2. namespace App\Http\Controllers\Web\LoginUser;
  3. use App\Codes\UserRole;
  4. use App\Http\Controllers\Web\WebController;
  5. use App\Repositories\LoginUserRepository;
  6. use Illuminate\Http\JsonResponse;
  7. use Illuminate\Http\Request;
  8. class CustomerListController extends WebController
  9. {
  10. public function name(): string
  11. {
  12. return "運営会社ログインユーザ一覧取得";
  13. }
  14. public function description(): string
  15. {
  16. return "運営会社ログインユーザ一覧を取得する";
  17. }
  18. public function __construct(protected CustomerListParam $param, private LoginUserRepository $repository)
  19. {
  20. parent::__construct();
  21. }
  22. protected function run(Request $request): JsonResponse
  23. {
  24. $param = $this->param;
  25. $list = $this->repository->get([
  26. ...$param->toArray(),
  27. LoginUserRepository::CONDITION_ROLE => UserRole::CUSTOMER->value,
  28. ]);
  29. $res = [
  30. "list" => $list,
  31. ];
  32. return $this->successResponse($res);
  33. }
  34. }