user(); return view('cabinet.index', [ 'user' => $user, 'characters' => $accounts->charactersForAccount($user->id), 'clientFilename' => config('moonwell.client.object_key'), ]); } public function updatePassword(ChangePasswordRequest $request, AzerothCoreAccountService $accounts): RedirectResponse { $user = $request->user(); if (! $accounts->validatePassword($user, $request->string('current_password')->toString())) { return back()->withErrors(['current_password' => 'Текущий пароль указан неверно.']); } $accounts->updatePassword($user, $request->string('password')->toString()); return back()->with('status', 'Пароль успешно обновлён.'); } public function client(GameClientDownloadService $clientDownloadService): RedirectResponse { try { return redirect()->away($clientDownloadService->temporaryUrl()); } catch (Throwable $exception) { report($exception); return back()->with('error', 'Не удалось получить ссылку на клиент. Попробуй ещё раз позже.'); } } }