feat: connect via rcon

This commit is contained in:
2026-07-09 14:51:56 +02:00
parent d2c7fecd55
commit 9a3902ae96
13 changed files with 481 additions and 38 deletions
@@ -2,37 +2,27 @@
namespace App\Http\Controllers;
use App\Enums\AccessRequestStatus;
use App\Http\Requests\AccessRequestsRequest;
use App\Models\AccessRequests;
use App\Models\GameServers;
use Illuminate\Http\JsonResponse;
class AccessRequestsController extends Controller
{
public function index()
public function store(AccessRequestsRequest $request): JsonResponse
{
return AccessRequests::all();
}
$validated = $request->validated();
$serverId = $validated['server_id']
?? GameServers::where('slug', $validated['server_slug'])->valueOrFail('id');
public function store(AccessRequestsRequest $request)
{
return AccessRequests::create($request->validated());
}
$accessRequest = AccessRequests::create([
'game_username' => $validated['game_username'],
'message' => $validated['message'] ?? '',
'server_id' => $serverId,
'status' => AccessRequestStatus::PENDING,
]);
public function show(AccessRequests $accessRequests)
{
return $accessRequests;
}
public function update(AccessRequestsRequest $request, AccessRequests $accessRequests)
{
$accessRequests->update($request->validated());
return $accessRequests;
}
public function destroy(AccessRequests $accessRequests)
{
$accessRequests->delete();
return response()->json();
return response()->json($accessRequest, 201);
}
}
+4 -5
View File
@@ -9,11 +9,10 @@ class AccessRequestsRequest extends FormRequest
public function rules(): array
{
return [
'status' => ['required'],
'message' => ['required'],
'reviewed_by' => ['nullable', 'exists:users'],
'server_id' => ['required', 'exists:game_servers'],
'reviewed_at' => ['nullable', 'date'],
'game_username' => ['required', 'string', 'regex:/^[A-Za-z0-9_]{3,16}$/'],
'message' => ['nullable', 'string', 'max:255'],
'server_id' => ['nullable', 'required_without:server_slug', 'ulid', 'exists:game_servers,id'],
'server_slug' => ['nullable', 'required_without:server_id', 'string', 'exists:game_servers,slug'],
];
}