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']);
-});