From fb8e9897c4d737fed0d8529492d557b8f6a18f09 Mon Sep 17 00:00:00 2001 From: Franck DAKIA Date: Tue, 19 May 2020 13:54:12 +0000 Subject: [PATCH] feat: refonte app structure --- .../Controller.php | 3 +- .../WelcomeController.php | 4 +- app/{ => Exceptions}/ErrorHandle.php | 2 +- app/Kernel.php | 16 +-- .../Authenticate.php | 3 +- .../ClientCsrfMiddleware.php | 2 +- app/{Middleware => Middlewares}/Guest.php | 2 +- app/{Model => Models}/User.php | 2 +- bow | 110 +++++++++--------- config/app.php | 7 +- config/auth.php | 21 +++- routes/app.php | 8 +- 12 files changed, 97 insertions(+), 83 deletions(-) rename app/{Controller => Controllers}/Controller.php (98%) rename app/{Controller => Controllers}/WelcomeController.php (82%) rename app/{ => Exceptions}/ErrorHandle.php (98%) rename app/{Middleware => Middlewares}/Authenticate.php (90%) rename app/{Middleware => Middlewares}/ClientCsrfMiddleware.php (89%) rename app/{Middleware => Middlewares}/Guest.php (95%) rename app/{Model => Models}/User.php (91%) diff --git a/app/Controller/Controller.php b/app/Controllers/Controller.php similarity index 98% rename from app/Controller/Controller.php rename to app/Controllers/Controller.php index 720d8725..4b66ce50 100644 --- a/app/Controller/Controller.php +++ b/app/Controllers/Controller.php @@ -1,5 +1,6 @@ 'App\\Controller', - 'middleware' => 'App\\Middleware', - 'configuration' => 'App\\Configuration', - 'validation' => 'App\\Validation', - 'model' => 'App\\Model', + 'controller' => 'App\\Controllers', + 'middleware' => 'App\\Middlewares', + 'configuration' => 'App\\Configurations', + 'validation' => 'App\\Validations', + 'model' => 'App\\Models', ]; } @@ -30,9 +30,9 @@ public function namespaces() public function middlewares() { return [ - 'csrf' => \App\Middleware\ClientCsrfMiddleware::class, - 'auth' => \App\Middleware\Authenticate::class, - 'guest' => \App\Middleware\Guest::class + 'csrf' => \App\Middlewares\ClientCsrfMiddleware::class, + 'auth' => \App\Middlewares\Authenticate::class, + 'guest' => \App\Middlewares\Guest::class ]; } diff --git a/app/Middleware/Authenticate.php b/app/Middlewares/Authenticate.php similarity index 90% rename from app/Middleware/Authenticate.php rename to app/Middlewares/Authenticate.php index 751bb0f9..aad2baa0 100644 --- a/app/Middleware/Authenticate.php +++ b/app/Middlewares/Authenticate.php @@ -1,5 +1,6 @@ setNamespaces($kernel->namespaces()); - -/** - * Change preset destination - */ -$setting->setModelDirectory(__DIR__.'/app/Model'); -$setting->setValidationDirectory(__DIR__.'/app/Validation'); -$setting->setPackageDirectory(__DIR__.'/app/Configuration'); -$setting->setControllerDirectory(__DIR__.'/app/Controller'); -$setting->setMiddlewareDirectory(__DIR__.'/app/Middleware'); -$setting->setMigrationDirectory(__DIR__.'/migrations'); -$setting->setSeederDirectory(__DIR__.'/seeders'); -$setting->setComponentDirectory(__DIR__.'/frontend'); -$setting->setConfigDirectory(__DIR__.'/config'); -$setting->setPublicDirectory(__DIR__.'/public'); - -/** - * Defines the local server starter - */ -$setting->setServerFilename(__DIR__.'/server.php'); -$setting->setVarDirectory(__DIR__.'/var'); - -/** - * Create console instance - */ -$console = new \Bow\Console\Console($setting); - -/** - * Bind kernel to console - */ -$console->bind($kernel); - -/** - * Load the custom command application - */ -require __DIR__.'/routes/console.php'; - -/** - * Start console - */ -$console->run(); +#!/usr/bin/env php +setNamespaces($kernel->namespaces()); + +/** + * Change preset destination + */ +$setting->setModelDirectory(__DIR__.'/app/Models'); +$setting->setValidationDirectory(__DIR__.'/app/Validations'); +$setting->setPackageDirectory(__DIR__.'/app/Configurations'); +$setting->setControllerDirectory(__DIR__.'/app/Controllers'); +$setting->setMiddlewareDirectory(__DIR__.'/app/Middlewares'); +$setting->setMigrationDirectory(__DIR__.'/migrations'); +$setting->setSeederDirectory(__DIR__.'/seeders'); +$setting->setComponentDirectory(__DIR__.'/frontend'); +$setting->setConfigDirectory(__DIR__.'/config'); +$setting->setPublicDirectory(__DIR__.'/public'); + +/** + * Defines the local server starter + */ +$setting->setServerFilename(__DIR__.'/server.php'); +$setting->setVarDirectory(__DIR__.'/var'); + +/** + * Create console instance + */ +$console = new \Bow\Console\Console($setting); + +/** + * Bind kernel to console + */ +$console->bind($kernel); + +/** + * Load the custom command application + */ +require __DIR__.'/routes/console.php'; + +/** + * Start console + */ +$console->run(); diff --git a/config/app.php b/config/app.php index 87fff921..dbfcc7d7 100644 --- a/config/app.php +++ b/config/app.php @@ -53,5 +53,10 @@ * * development | production */ - 'debug' => app_env('APP_ENV', 'development') + 'debug' => app_env('APP_ENV', 'development'), + + /** + * The app error handler + */ + "error_handle" => \App\Exceptions\ErrorHandle::class ]; diff --git a/config/auth.php b/config/auth.php index 0a157ff6..c4781d2e 100644 --- a/config/auth.php +++ b/config/auth.php @@ -10,8 +10,8 @@ * Default authentication branch */ "web" => [ - "type" => "jwt", - 'model' => App\Model\User::class, + "type" => "session", + 'model' => App\Models\User::class, 'credentials' => [ 'username' => 'email', 'password' => 'password' @@ -23,10 +23,23 @@ */ "admin" => [ 'type' => "session", - "model" => App\Model\User::class, + "model" => App\Models\User::class, 'credentials' => [ 'username' => 'email', 'password' => 'password' ] - ] + ], + + /** + * Default authentication branch + */ + "api" => [ + "type" => "jwt", + 'model' => App\Models\User::class, + 'credentials' => [ + 'username' => 'email', + 'password' => 'password' + ] + ], + ]; diff --git a/routes/app.php b/routes/app.php index 59f55d49..c36822e9 100644 --- a/routes/app.php +++ b/routes/app.php @@ -1,9 +1,3 @@ get('/', 'WelcomeController')->middleware('auth'); -$app->get('/login', 'WelcomeController')->middleware('guest'); +$app->get('/', 'WelcomeController');