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.

41 lines
919B

  1. <?php
  2. namespace App\Http\Controllers\Web\Customer;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Logic\EmailChangeManager;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. class ChangeEmailStartController extends WebController
  9. {
  10. public function name(): string
  11. {
  12. return "Email変更開始";
  13. }
  14. public function description(): string
  15. {
  16. return "Emailの変更手続きを開始する";
  17. }
  18. public function __construct(protected ChangeEmailStartParams $param, private EmailChangeManager $manager)
  19. {
  20. parent::__construct();
  21. $this->middleware('auth:sanctum');
  22. }
  23. protected function run(Request $request): JsonResponse
  24. {
  25. $param = $this->param;
  26. $this->manager->setUser(Auth::user())
  27. ->generate($param->newEmail);
  28. return $this->successResponse();
  29. }
  30. }