From bf2f83981cb16f9ee62f18aa3871a8525fab78e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Wed, 14 Sep 2022 01:15:05 +0300 Subject: [PATCH] added throttle for email --- app/Http/Kernel.php | 4 ++++ app/Providers/Route.php | 4 ++++ config/app.php | 1 + routes/admin.php | 12 ++++++++---- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index f7cc49ecc2c..8d320b7a71e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -134,6 +134,10 @@ class Kernel extends HttpKernel 'import' => [ 'throttle:import', ], + + 'email' => [ + 'throttle:email', + ], ]; /** diff --git a/app/Providers/Route.php b/app/Providers/Route.php index 952966034d6..ada05b0032b 100644 --- a/app/Providers/Route.php +++ b/app/Providers/Route.php @@ -289,5 +289,9 @@ protected function configureRateLimiting() RateLimiter::for('import', function (Request $request) { return Limit::perMinute(config('app.throttles.import')); }); + + RateLimiter::for('email', function (Request $request) { + return Limit::perMinute(config('app.throttles.email')); + }); } } diff --git a/config/app.php b/config/app.php index dbf827b9593..7bb8c325af1 100644 --- a/config/app.php +++ b/config/app.php @@ -25,6 +25,7 @@ 'throttles' => [ 'api' => env('APP_THROTTLES_API', '60'), 'import' => env('APP_THROTTLES_IMPORT', '1'), + 'email' => env('APP_THROTTLES_EMAIL', '1'), ], /* diff --git a/routes/admin.php b/routes/admin.php index 2ad6b90bfd2..0b95b1a035d 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -259,9 +259,13 @@ 'middleware' => ['date.format', 'money', 'dropzone'] ]); - Route::resource('transactions/{transaction}/emails', 'Modals\TransactionEmails', ['names' => 'transactions.emails']); - Route::resource('transactions/{transaction}/share', 'Modals\TransactionShare', ['names' => 'transactions.share']); - Route::resource('invoices/{invoice}/emails', 'Modals\InvoiceEmails', ['names' => 'invoices.emails']); - Route::resource('invoices/{invoice}/share', 'Modals\InvoiceShare', ['names' => 'invoices.share']); + Route::get('invoices/{invoice}/emails/create', 'Modals\InvoiceEmails@create')->name('invoices.emails.create'); + Route::post('invoices/{invoice}/emails', 'Modals\InvoiceEmails@store')->middleware('email')->name('invoices.emails.store'); + Route::get('invoices/{invoice}/share/create', 'Modals\InvoiceShare@create')->name('invoices.share.create'); + + Route::get('transactions/{transaction}/emails/create', 'Modals\TransactionEmails@create')->name('transactions.emails.create'); + Route::post('transactions/{transaction}/emails', 'Modals\TransactionEmails@store')->middleware('email')->name('transactions.emails.store'); + Route::get('transactions/{transaction}/share/create', 'Modals\TransactionShare@create')->name('transactions.share.create'); + Route::resource('taxes', 'Modals\Taxes'); });