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.

43 lines
1002B

  1. <?php
  2. namespace App\Http\Controllers\Web\LoginUser;
  3. use App\Codes\UserRole;
  4. use App\Http\Controllers\Web\WebController;
  5. use App\Logics\LoginUser\LoginUserLogic;
  6. use App\Models\User;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. class ShopDeleteController extends WebController
  10. {
  11. public function name(): string
  12. {
  13. return "店舗ログインユーザ削除";
  14. }
  15. public function description(): string
  16. {
  17. return "店舗ログインユーザを削除する";
  18. }
  19. public function __construct(protected ShopDeleteParam $param, protected LoginUserLogic $logic)
  20. {
  21. parent::__construct();
  22. }
  23. protected function run(Request $request): JsonResponse
  24. {
  25. $user = User::whereId($this->param->userId)
  26. ->whereRole(UserRole::SHOP)
  27. ->whereCustomerCode($this->sessionUser->customerCode())
  28. ->firstOrFail();
  29. $this->logic->delete($user);
  30. return $this->successResponse();
  31. }
  32. }