Files
toolbox/bootstrap/app.php

45 lines
1.4 KiB
PHP

<?php
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware): void {
$middleware->alias([
'admin.ip' => \App\Http\Middleware\AdminIpMiddleware::class,
]);
$middleware->appendToGroup('api', \App\Http\Middleware\OperationLogMiddleware::class);
// 为 API 路由添加 CSRF 豁免
$middleware->validateCsrfTokens(except: [
'api/jira/*',
'api/env/*',
'api/message-sync/*',
'api/message-dispatch/*',
'api/admin/*',
]);
})
->withExceptions(function (Exceptions $exceptions): void {
//
})
->withSchedule(function (Schedule $schedule): void {
$schedule->command('git-monitor:check')
->everyTenMinutes()
->withoutOverlapping()
->runInBackground();
$schedule->command('git-monitor:cache')
->dailyAt('02:00')
->withoutOverlapping();
})
->create();