您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

46 行
1.0KB

  1. <?php
  2. namespace App\Http\Controllers\Web\Auth;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Kintone\Models\Customer;
  5. use App\Logic\PasswordSettingManager;
  6. use App\Models\User;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. class PasswordSettingVerifyController 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 PasswordSettingVerifyParam $param, private PasswordSettingManager $manager)
  20. {
  21. parent::__construct();
  22. }
  23. protected function run(Request $request): JsonResponse
  24. {
  25. $param = $this->param;
  26. $user = $this->manager->verify($param->token);
  27. if ($user === null) {
  28. return $this->failedResponse();
  29. }
  30. $user->password = $param->password;
  31. $user->save();
  32. return $this->successResponse();
  33. }
  34. }