From df4005482c8e66e151ccbdf3f83d2b144c1d58cd Mon Sep 17 00:00:00 2001 From: Marcel Pociot Date: Thu, 4 Jun 2020 21:38:53 +0200 Subject: [PATCH] wip --- app/Server/Connections/ControlConnection.php | 14 +++++++++++++- .../Http/Controllers/Admin/GetSitesController.php | 7 ++++++- database/migrations/01_create_users_table.sql | 1 - tests/Unit/RequestLoggerTest.php | 4 ++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/Server/Connections/ControlConnection.php b/app/Server/Connections/ControlConnection.php index f6c1f55..9a1401d 100644 --- a/app/Server/Connections/ControlConnection.php +++ b/app/Server/Connections/ControlConnection.php @@ -4,6 +4,7 @@ namespace App\Server\Connections; use Evenement\EventEmitterTrait; use GuzzleHttp\Psr7\Request; +use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Str; use Nyholm\Psr7\Factory\Psr17Factory; use Ratchet\Client\WebSocket; @@ -13,7 +14,7 @@ use Ratchet\WebSocket\WsConnection; use React\Stream\Util; use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; -class ControlConnection +class ControlConnection implements Arrayable { use EventEmitterTrait; @@ -23,6 +24,7 @@ class ControlConnection public $subdomain; public $client_id; public $proxies = []; + protected $shared_at; public function __construct(ConnectionInterface $socket, string $host, string $subdomain, string $clientId) { @@ -58,4 +60,14 @@ class ControlConnection { $this->socket->close(); } + + public function toArray() + { + return [ + 'host' => $this->host, + 'client_id' => $this->client_id, + 'subdomain' => $this->subdomain, + 'shared_at' => $this->shared_at, + ]; + } } diff --git a/app/Server/Http/Controllers/Admin/GetSitesController.php b/app/Server/Http/Controllers/Admin/GetSitesController.php index 0296318..5ee4c5d 100644 --- a/app/Server/Http/Controllers/Admin/GetSitesController.php +++ b/app/Server/Http/Controllers/Admin/GetSitesController.php @@ -28,7 +28,12 @@ class GetSitesController extends AdminController { $httpConnection->send( respond_json([ - 'sites' => $this->connectionManager->getConnections() + 'sites' => collect($this->connectionManager->getConnections())->map(function ($site, $siteId) { + $site = $site->toArray(); + $site['id'] = $siteId; + + return $site; + })->values() ]) ); } diff --git a/database/migrations/01_create_users_table.sql b/database/migrations/01_create_users_table.sql index ef3d850..307abb5 100644 --- a/database/migrations/01_create_users_table.sql +++ b/database/migrations/01_create_users_table.sql @@ -1,7 +1,6 @@ CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name STRING NOT NULL, - email STRING, auth_token STRING, created_at DATETIME, updated_at DATETIME diff --git a/tests/Unit/RequestLoggerTest.php b/tests/Unit/RequestLoggerTest.php index 3cbde73..8bb1acb 100644 --- a/tests/Unit/RequestLoggerTest.php +++ b/tests/Unit/RequestLoggerTest.php @@ -113,10 +113,10 @@ class RequestLoggerTest extends TestCase $logger = new RequestLogger($browser, $cliLogger); - foreach (range(1, 20) as $i) { + foreach (range(1, 50) as $i) { $logger->logRequest($requestString, $parsedRequest); } - $this->assertCount(RequestLogger::MAX_LOGGED_REQUESTS, $logger->getData()); + $this->assertCount(config('expose.max_logged_requests'), $logger->getData()); } }