From ed99dd3a9bf33816b9710ed64758b26dde960de4 Mon Sep 17 00:00:00 2001 From: Chris Kankiewicz Date: Tue, 3 Sep 2024 09:10:05 -0700 Subject: [PATCH] WIP --- app/src/Bootstrap/RouteManager.php | 28 +++++++++++++++++--- app/src/Controllers/IndexController.php | 34 ------------------------- 2 files changed, 25 insertions(+), 37 deletions(-) delete mode 100644 app/src/Controllers/IndexController.php diff --git a/app/src/Bootstrap/RouteManager.php b/app/src/Bootstrap/RouteManager.php index 56e71f8..b9ad5d3 100644 --- a/app/src/Bootstrap/RouteManager.php +++ b/app/src/Bootstrap/RouteManager.php @@ -2,19 +2,41 @@ namespace App\Bootstrap; -use App\Controllers; +use App\Controllers\DirectoryController; +use App\Controllers\FileInfoController; +use App\Controllers\SearchController; +use App\Controllers\ZipController; +use DI\Container; +use Psr\Http\Message\ResponseInterface; use Slim\App; +use Slim\Psr7\Request; +use Slim\Psr7\Response; class RouteManager { /** Create a new RouteManager object. */ public function __construct( - private App $app + private App $app, + private Container $container ) {} /** Register the application routes. */ public function __invoke(): void { - $this->app->get('/[{path:.*}]', Controllers\IndexController::class); + $this->app->get('/[{path:.*}]', function (Request $request, Response $response): ResponseInterface { + if (array_key_exists('info', $request->getQueryParams())) { + return $this->container->call(FileInfoController::class, [$request, $response]); + } + + if (array_key_exists('search', $request->getQueryParams())) { + return $this->container->call(SearchController::class, [$request, $response]); + } + + if (array_key_exists('zip', $request->getQueryParams())) { + return $this->container->call(ZipController::class, [$request, $response]); + } + + return $this->container->call(DirectoryController::class, [$request, $response]); + }); } } diff --git a/app/src/Controllers/IndexController.php b/app/src/Controllers/IndexController.php deleted file mode 100644 index 86c39e4..0000000 --- a/app/src/Controllers/IndexController.php +++ /dev/null @@ -1,34 +0,0 @@ -getQueryParams()): - return $this->container->call(FileInfoController::class, [$request, $response]); - - case array_key_exists('search', $request->getQueryParams()): - return $this->container->call(SearchController::class, [$request, $response]); - - case array_key_exists('zip', $request->getQueryParams()): - return $this->container->call(ZipController::class, [$request, $response]); - - default: - return $this->container->call(DirectoryController::class, [$request, $response]); - } - } -}