Skip to content
Snippets Groups Projects
Unverified Commit ffb812b2 authored by Maxime FRIESS's avatar Maxime FRIESS :blue_heart:
Browse files

[api] Allow server to disconnect clients

parent 62bc251e
Branches
Tags
No related merge requests found
<?php
namespace App\Http\Controllers\Server;
use App\Http\Controllers\Controller;
use App\Models\User;
use App\Http\Requests\AcceptRequest;
use Auth;
class DisconnectController extends Controller
{
/**
* @OA\Post(
* tags={"Servers:User"},
* path="/user/{id}/disconnect",
* summary="Dicsonnect an user",
* @OA\Parameter(
* name="id",
* in="path",
* required=true,
* @OA\Schema(type="integer")
* ),
* @OA\Response(
* response="401",
* ref="#/components/responses/401"
* ),
* @OA\Response(
* response="403",
* description="Forbidden",
* @OA\JsonContent(
* @OA\Property(
* property="message",
* type="string",
* ),
* )
* ),
* @OA\Response(
* response="204",
* description="OK"
* ),
* security={{"server-jwt":{}}},
* )
*/
public function disconnect($id) {
$server = Auth::guard('server')->user();
$user = User::findOrFail($id);
if (!($user->server_id === $server->id && $user->server_state !== 'offline')) {
return response()->json([
'message' => 'User is not connected',
], 403);
}
$user->disconnect();
return response()->noContent();
}
}
......@@ -59,6 +59,7 @@
Route::middleware(['api', 'auth:server'])->group(function () {
Route::post('user/{id}/accept', [server\AcceptController::class, 'accept']);
Route::post('user/{id}/disconnect', [server\DisconnectController::class, 'disconnect']);
Route::resource('game', Shared\GameController::class, ['only' => ['store', 'update']]);
});
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment