Files
moonwell-web/app/Http/Controllers/Admin/AccountController.php
T
2026-03-13 23:33:35 +04:00

42 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\UpdateAccountAccessRequest;
use App\Services\AzerothCoreAccountService;
use App\Services\InviteCodeService;
use App\Support\WowData;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class AccountController extends Controller
{
public function index(
Request $request,
AzerothCoreAccountService $accounts,
InviteCodeService $inviteCodes,
): View
{
$search = trim((string) $request->query('search', ''));
return view('admin.accounts.index', [
'accounts' => $accounts->listAccounts($search !== '' ? $search : null),
'inviteCodes' => $inviteCodes->latest(),
'inviteStats' => $inviteCodes->stats(),
'search' => $search,
'accessLevels' => WowData::securityLevels(),
]);
}
public function updateAccess(int $accountId, UpdateAccountAccessRequest $request, AzerothCoreAccountService $accounts): RedirectResponse
{
abort_unless($accounts->findUserById($accountId), 404);
$accounts->updateAccessLevel($accountId, (int) $request->input('gmlevel'));
return back()->with('status', 'Уровень доступа обновлён.');
}
}