ensureModerator($request, $room); $this->rounds->reset($room); return response()->noContent(); } public function reveal(Request $request, Room $room): Response { $this->ensureModerator($request, $room); $this->rounds->reveal($room); return response()->noContent(); } public function nextRound(Request $request, Room $room): Response { $this->ensureModerator($request, $room); $this->rounds->startNext($room); return response()->noContent(); } private function ensureModerator(Request $request, Room $room): void { $player = $request->attributes->get('currentPlayer'); abort_unless( $player instanceof Player && $player->room_id === $room->id && $player->is_moderator, 403, ); } }