42 lines
1.3 KiB
PHP
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', 'Уровень доступа обновлён.');
|
|
}
|
|
}
|