From 4cfbb05baf52db6fbc360aff7c28e3eee52a9682 Mon Sep 17 00:00:00 2001 From: parsa aghaei Date: Tue, 23 Jun 2026 18:06:52 +0330 Subject: [PATCH] 0.4: apply throttle:60,1 to public API routes --- routes/api.php | 47 +++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/routes/api.php b/routes/api.php index 0a5325b..c68efdc 100644 --- a/routes/api.php +++ b/routes/api.php @@ -6,7 +6,6 @@ use App\Http\Controllers\Blog\HomeController; use App\Http\Controllers\Blog\PostController; use App\Http\Controllers\Blog\TagController; -// use App\Http\Controllers\SkillController; use App\Http\Controllers\Website\ServiceController; use App\Http\Controllers\Website\AboutMeController; use App\Http\Controllers\Website\ProjectController; @@ -15,31 +14,27 @@ return $request->user(); })->middleware('auth:sanctum'); -// Route::resource('projects', ProjectController::class); +Route::middleware('throttle:60,1')->group(function () { + Route::apiResource('services', ServiceController::class); -Route::apiResource('services', ServiceController::class); -Route::prefix('website')->group(function () { - Route::get('about-me/{id}/translation/{locale}', [AboutMeController::class, 'getTranslation']); - Route::get('services/{locale}', [ServiceController::class, 'index']); // مسیر جدید برای لیست خدمات با ترجمه - Route::get('services/{id}/translation/{locale}', [ServiceController::class, 'showTranslation']); - Route::group(['prefix' => 'projects'], function () { - Route::get('/translation/{locale}', [ProjectController::class, 'index']); - Route::get('/{id}/translation/{locale}', [ProjectController::class, 'show']); - Route::post('/', [ProjectController::class, 'store']); - Route::put('/{id}', [ProjectController::class, 'update']); - Route::delete('/{id}', [ProjectController::class, 'destroy']); + Route::prefix('website')->group(function () { + Route::get('about-me/{id}/translation/{locale}', [AboutMeController::class, 'getTranslation']); + Route::get('services/{locale}', [ServiceController::class, 'index']); + Route::get('services/{id}/translation/{locale}', [ServiceController::class, 'showTranslation']); + Route::group(['prefix' => 'projects'], function () { + Route::get('/translation/{locale}', [ProjectController::class, 'index']); + Route::get('/{id}/translation/{locale}', [ProjectController::class, 'show']); + Route::post('/', [ProjectController::class, 'store']); + Route::put('/{id}', [ProjectController::class, 'update']); + Route::delete('/{id}', [ProjectController::class, 'destroy']); + }); + }); + + Route::prefix('blog')->group(function () { + Route::apiResource('posts', PostController::class); + Route::apiResource('categories', CategoryController::class); + Route::apiResource('tags', TagController::class); + Route::get('homepage', [HomeController::class, 'index']); + Route::get('categories/{slug}/posts', [CategoryController::class, 'getCategoryWithPosts']); }); }); - -// مسیرهای بلاگ -Route::prefix('blog')->group(function () { - // پست‌ها - Route::apiResource('posts', PostController::class); - // دسته‌بندی‌ها - Route::apiResource('categories', CategoryController::class); - // تگ‌ها - Route::apiResource('tags', TagController::class); - // مسیر Homepage - Route::get('homepage', [HomeController::class, 'index']); - Route::get('categories/{slug}/posts', [CategoryController::class, 'getCategoryWithPosts']); -});