. */ namespace App\Http\Controllers\Account; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Services\AccountService; use App\Services\BlockingService; class EmailController extends Controller { public function change(Request $request) { return view('account.email.change', [ 'account' => $request->user() ]); } public function requestChange(Request $request) { $request->validate(['h-captcha-response' => captchaConfigured() ? 'required|HCaptcha': '']); if ((new BlockingService($request->user()))->checkBlock()) { return redirect()->route('account.blocked'); } (new AccountService(api: false))->requestEmailChange($request); return redirect()->route('account.email.validate'); } public function validateChange(Request $request) { return view('account.email.validate', [ 'emailChangeCode' => $request->user()->emailChangeCode()->firstOrFail() ]); } public function store(Request $request) { if ((new AccountService(api: false))->updateEmail($request)) { return redirect()->route('account.dashboard'); } return redirect()->route('account.email.change')->withErrors([ 'code' => __('The code is not valid') ]); } }