api add middleware: CheckSiteStatus

This commit is contained in:
xiaomlove
2026-05-31 03:35:13 +07:00
parent f823dc191a
commit e4cdb26c2f
7 changed files with 50 additions and 1 deletions
+2
View File
@@ -2,6 +2,7 @@
namespace App\Http;
use App\Http\Middleware\CheckSiteStatus;
use App\Http\Middleware\Filament;
use App\Http\Middleware\Locale;
use App\Http\Middleware\LogUserIp;
@@ -48,6 +49,7 @@ class Kernel extends HttpKernel
'api' => [
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
CheckSiteStatus::class,
],
'filament' => [
\Illuminate\Session\Middleware\StartSession::class,
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Middleware;
use App\Exceptions\NexusException;
use App\Models\Setting;
use App\Models\User;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class CheckSiteStatus
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
$user = $request->user();
if ($user && $user->class < User::CLASS_ADMINISTRATOR && !Setting::getIsSiteOnline()) {
throw new NexusException(nexus_trans('misc.site_down_for_maintenance'));
}
return $next($request);
}
}
+5
View File
@@ -339,4 +339,9 @@ class Setting extends NexusModel
{
return (int)self::get("bonus.self_enable", BonusLogs::DEFAULT_BONUS_SELF_ENABLE);
}
public static function getIsSiteOnline(): bool
{
return self::get('main.site_online') == 'yes';
}
}
+1 -1
View File
@@ -364,7 +364,7 @@ HTML;
}
}
public function listRatings(array $ptGenData, string $imdbLink, string $desc = ''): array
public function listRatings(array $ptGenData, ?string $imdbLink, string $desc = ''): array
{
$results = [];
$log = "";
+5
View File
@@ -0,0 +1,5 @@
<?php
return [
'site_down_for_maintenance' => "Site is down for maintenance, please check back again later... thanks",
];
+5
View File
@@ -0,0 +1,5 @@
<?php
return [
'site_down_for_maintenance' => '站点关闭维护中,请稍后再访问...谢谢',
];
+5
View File
@@ -0,0 +1,5 @@
<?php
return [
'site_down_for_maintenance' => '站點關閉維護中,請稍後再訪問...謝謝',
];