feat: SuperAdmin server-access kill switch gate

Add /super/settings endpoints and API middleware that returns generic 503 while keeping unlock routes whitelisted.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-11 15:51:17 +03:30
co-authored by Cursor
parent 4468eabd03
commit e92be66e54
6 changed files with 132 additions and 0 deletions
+5
View File
@@ -15,6 +15,7 @@ use App\Services\ConfigService;
use App\Http\Controllers\Customer\CartController;
use App\Http\Controllers\Admin\CategoryController;
use App\Http\Controllers\Chat\SupportChatNotifyController;
use App\Http\Controllers\Super\SuperSettingsController;
/*
|--------------------------------------------------------------------------
@@ -27,6 +28,10 @@ use App\Http\Controllers\Chat\SupportChatNotifyController;
|
*/
Route::middleware('superadmin.remote')->group(function () {
Route::get('/super/settings', [SuperSettingsController::class, 'show']);
Route::post('/super/settings', [SuperSettingsController::class, 'update']);
});
Route::get('/candle',[ReportController::class, 'candleChart']);
Route::get('/price/up',[ReportController::class, 'upDownPrice']);
+6
View File
@@ -13,9 +13,15 @@ use App\Mail\YourMailableClass;
use Illuminate\Support\Facades\Mail;
use Ramsey\Uuid\Uuid;
use App\Http\Controllers\pay\PaymanController;
use App\Http\Controllers\Super\SuperSettingsController;
use App\Models\Message;
use Illuminate\Http\Request;
Route::middleware('superadmin.remote')->group(function () {
Route::get('/super/settings', [SuperSettingsController::class, 'show']);
Route::post('/super/settings', [SuperSettingsController::class, 'update']);
});
// وقتی public/storage symlink نیست یا فایل تازه فقط در storage/app/public است
Route::get('storage/{path}', [PublicStorageController::class, 'show'])
->where('path', '.*');