From ae1907653ba6ec8de54a9d8c423cd5c2e152c371 Mon Sep 17 00:00:00 2001 From: bryceandy Date: Thu, 18 Jun 2020 18:57:06 +0300 Subject: [PATCH] Load and use middleware for posting payments --- src/PesapalServiceProvider.php | 8 ++++++++ src/routes/web.php | 4 +++- tests/Feature/PaymentControllerTest.php | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/PesapalServiceProvider.php b/src/PesapalServiceProvider.php index 5f8b760..7a6bbea 100644 --- a/src/PesapalServiceProvider.php +++ b/src/PesapalServiceProvider.php @@ -2,7 +2,10 @@ namespace Bryceandy\Laravel_Pesapal; +use Bryceandy\Laravel_Pesapal\Http\Middleware\ValidateConfigMiddleware; use Bryceandy\Laravel_Pesapal\OAuth\OAuthSignatureMethod_HMAC_SHA1; +use Illuminate\Contracts\Container\BindingResolutionException; +use Illuminate\Routing\Router; use Illuminate\Support\ServiceProvider; class PesapalServiceProvider extends ServiceProvider @@ -11,6 +14,7 @@ class PesapalServiceProvider extends ServiceProvider * Bootstrap any application services. * * @return void + * @throws BindingResolutionException */ public function boot() { @@ -21,6 +25,10 @@ public function boot() ], 'pesapal-config'); } + // Load middleware alias + $router = $this->app->make(Router::class); + $router->aliasMiddleware('config', ValidateConfigMiddleware::class); + // Resources $this->loadResources(); } diff --git a/src/routes/web.php b/src/routes/web.php index 27a59d3..32a42fc 100644 --- a/src/routes/web.php +++ b/src/routes/web.php @@ -4,5 +4,7 @@ Route::group(['namespace' => 'Bryceandy\Laravel_Pesapal\Http\Controllers'], function(){ - Route::post('pesapal/iframe', 'PaymentController@store')->name('payment.store'); + Route::post('pesapal/iframe', 'PaymentController@store') + ->name('payment.store') + ->middleware('config'); }); diff --git a/tests/Feature/PaymentControllerTest.php b/tests/Feature/PaymentControllerTest.php index e7045fe..4df842c 100644 --- a/tests/Feature/PaymentControllerTest.php +++ b/tests/Feature/PaymentControllerTest.php @@ -10,7 +10,7 @@ class PaymentControllerTest extends TestCase { /** * Mocked Config - * + * * @param Application $app */ protected function getEnvironmentSetUp($app)