領収証発行サービス
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

60 Zeilen
1.3KB

  1. <?php
  2. namespace App\Http\Controllers\Web\ReceiptIssuingOrder;
  3. use App\Codes\UserRole;
  4. use App\Features\LoginUser;
  5. use App\Http\Controllers\Web\IParam;
  6. use App\Http\Controllers\Web\WebController;
  7. use App\Models\User;
  8. use Illuminate\Http\JsonResponse;
  9. use Illuminate\Http\Request;
  10. class HandlersController extends WebController
  11. {
  12. use LoginUser;
  13. public function name(): string
  14. {
  15. return "担当者一覧取得";
  16. }
  17. public function description(): string
  18. {
  19. return "担当者一覧を取得する";
  20. }
  21. public function __construct(
  22. protected HandlersParam $param,
  23. ) {
  24. parent::__construct();
  25. $this->middleware('auth:sanctum');
  26. $this->roleAllow(UserRole::NORMAL_ADMIN);
  27. }
  28. protected function getParam(): IParam
  29. {
  30. return $this->param;
  31. }
  32. protected function run(Request $request): JsonResponse
  33. {
  34. $contractId = $this->loginUser()->getCurrentContractId();
  35. if ($contractId === null) {
  36. return $this->failedResponse();
  37. }
  38. $list = User::whereContractId($contractId)
  39. ->orderBy(User::COL_NAME_ID)
  40. ->get([
  41. User::COL_NAME_ID,
  42. User::COL_NAME_NAME,
  43. ]);
  44. return $this->successResponse(['records' => $list]);
  45. }
  46. }